# Documentation

Mathlib.Topology.Algebra.InfiniteSum.Ring

# Infinite sum in a ring #

This file provides lemmas about the interaction between infinite sums and multiplication.

## Main results #

• tsum_mul_tsum_eq_tsum_sum_antidiagonal: Cauchy product formula
theorem HasSum.mul_left {ι : Type u_1} {α : Type u_4} [] {f : ια} {a₁ : α} (a₂ : α) (h : HasSum f a₁) :
HasSum (fun i => a₂ * f i) (a₂ * a₁)
theorem HasSum.mul_right {ι : Type u_1} {α : Type u_4} [] {f : ια} {a₁ : α} (a₂ : α) (hf : HasSum f a₁) :
HasSum (fun i => f i * a₂) (a₁ * a₂)
theorem Summable.mul_left {ι : Type u_1} {α : Type u_4} [] {f : ια} (a : α) (hf : ) :
Summable fun i => a * f i
theorem Summable.mul_right {ι : Type u_1} {α : Type u_4} [] {f : ια} (a : α) (hf : ) :
Summable fun i => f i * a
theorem Summable.tsum_mul_left {ι : Type u_1} {α : Type u_4} [] {f : ια} [] (a : α) (hf : ) :
∑' (i : ι), a * f i = a * ∑' (i : ι), f i
theorem Summable.tsum_mul_right {ι : Type u_1} {α : Type u_4} [] {f : ια} [] (a : α) (hf : ) :
∑' (i : ι), f i * a = (∑' (i : ι), f i) * a
theorem Commute.tsum_right {ι : Type u_1} {α : Type u_4} [] {f : ια} [] (a : α) (h : ∀ (i : ι), Commute a (f i)) :
Commute a (∑' (i : ι), f i)
theorem Commute.tsum_left {ι : Type u_1} {α : Type u_4} [] {f : ια} [] (a : α) (h : ∀ (i : ι), Commute (f i) a) :
Commute (∑' (i : ι), f i) a
theorem HasSum.div_const {ι : Type u_1} {α : Type u_4} [] [] {f : ια} {a : α} (h : HasSum f a) (b : α) :
HasSum (fun i => f i / b) (a / b)
theorem Summable.div_const {ι : Type u_1} {α : Type u_4} [] [] {f : ια} (h : ) (b : α) :
Summable fun i => f i / b
theorem hasSum_mul_left_iff {ι : Type u_1} {α : Type u_4} [] [] {f : ια} {a₁ : α} {a₂ : α} (h : a₂ 0) :
HasSum (fun i => a₂ * f i) (a₂ * a₁) HasSum f a₁
theorem hasSum_mul_right_iff {ι : Type u_1} {α : Type u_4} [] [] {f : ια} {a₁ : α} {a₂ : α} (h : a₂ 0) :
HasSum (fun i => f i * a₂) (a₁ * a₂) HasSum f a₁
theorem hasSum_div_const_iff {ι : Type u_1} {α : Type u_4} [] [] {f : ια} {a₁ : α} {a₂ : α} (h : a₂ 0) :
HasSum (fun i => f i / a₂) (a₁ / a₂) HasSum f a₁
theorem summable_mul_left_iff {ι : Type u_1} {α : Type u_4} [] [] {f : ια} {a : α} (h : a 0) :
(Summable fun i => a * f i)
theorem summable_mul_right_iff {ι : Type u_1} {α : Type u_4} [] [] {f : ια} {a : α} (h : a 0) :
(Summable fun i => f i * a)
theorem summable_div_const_iff {ι : Type u_1} {α : Type u_4} [] [] {f : ια} {a : α} (h : a 0) :
(Summable fun i => f i / a)
theorem tsum_mul_left {ι : Type u_1} {α : Type u_4} [] [] {f : ια} {a : α} [] :
∑' (x : ι), a * f x = a * ∑' (x : ι), f x
theorem tsum_mul_right {ι : Type u_1} {α : Type u_4} [] [] {f : ια} {a : α} [] :
∑' (x : ι), f x * a = (∑' (x : ι), f x) * a
theorem tsum_div_const {ι : Type u_1} {α : Type u_4} [] [] {f : ια} {a : α} [] :
∑' (x : ι), f x / a = (∑' (x : ι), f x) / a

### Multipliying two infinite sums #

In this section, we prove various results about (∑' x : ι, f x) * (∑' y : κ, g y). Note that we always assume that the family λ x : ι × κ, f x.1 * g x.2 is summable, since there is no way to deduce this from the summabilities of f and g in general, but if you are working in a normed space, you may want to use the analogous lemmas in Analysis/NormedSpace/Basic (e.g tsum_mul_tsum_of_summable_norm).

We first establish results about arbitrary index types, ι and κ, and then we specialize to ι = κ = ℕ to prove the Cauchy product formula (see tsum_mul_tsum_eq_tsum_sum_antidiagonal).

#### Arbitrary index types #

theorem HasSum.mul_eq {ι : Type u_1} {κ : Type u_2} {α : Type u_4} [] [] {f : ια} {g : κα} {s : α} {t : α} {u : α} (hf : HasSum f s) (hg : HasSum g t) (hfg : HasSum (fun x => f x.fst * g x.snd) u) :
s * t = u
theorem HasSum.mul {ι : Type u_1} {κ : Type u_2} {α : Type u_4} [] [] {f : ια} {g : κα} {s : α} {t : α} (hf : HasSum f s) (hg : HasSum g t) (hfg : Summable fun x => f x.fst * g x.snd) :
HasSum (fun x => f x.fst * g x.snd) (s * t)
theorem tsum_mul_tsum {ι : Type u_1} {κ : Type u_2} {α : Type u_4} [] [] {f : ια} {g : κα} (hf : ) (hg : ) (hfg : Summable fun x => f x.fst * g x.snd) :
(∑' (x : ι), f x) * ∑' (y : κ), g y = ∑' (z : ι × κ), f z.fst * g z.snd

Product of two infinites sums indexed by arbitrary types. See also tsum_mul_tsum_of_summable_norm if f and g are absolutely summable.

#### ℕ-indexed families (Cauchy product) #

We prove two versions of the Cauchy product formula. The first one is tsum_mul_tsum_eq_tsum_sum_range, where the n-th term is a sum over Finset.range (n+1) involving Nat subtraction. In order to avoid Nat subtraction, we also provide tsum_mul_tsum_eq_tsum_sum_antidiagonal, where the n-th term is a sum over all pairs (k, l) such that k+l=n, which corresponds to the Finset Finset.Nat.antidiagonal n

theorem summable_mul_prod_iff_summable_mul_sigma_antidiagonal {α : Type u_4} [] {f : α} {g : α} :
(Summable fun x => f x.fst * g x.snd) Summable fun x => f (x.snd).fst * g (x.snd).snd
theorem summable_sum_mul_antidiagonal_of_summable_mul {α : Type u_4} [] {f : α} {g : α} [] (h : Summable fun x => f x.fst * g x.snd) :
Summable fun n => Finset.sum () fun kl => f kl.fst * g kl.snd
theorem tsum_mul_tsum_eq_tsum_sum_antidiagonal {α : Type u_4} [] {f : α} {g : α} [] (hf : ) (hg : ) (hfg : Summable fun x => f x.fst * g x.snd) :
(∑' (n : ), f n) * ∑' (n : ), g n = ∑' (n : ), Finset.sum () fun kl => f kl.fst * g kl.snd

The Cauchy product formula for the product of two infinites sums indexed by ℕ, expressed by summing on Finset.Nat.antidiagonal.

See also tsum_mul_tsum_eq_tsum_sum_antidiagonal_of_summable_norm if f and g are absolutely summable.

theorem summable_sum_mul_range_of_summable_mul {α : Type u_4} [] {f : α} {g : α} [] (h : Summable fun x => f x.fst * g x.snd) :
Summable fun n => Finset.sum (Finset.range (n + 1)) fun k => f k * g (n - k)
theorem tsum_mul_tsum_eq_tsum_sum_range {α : Type u_4} [] {f : α} {g : α} [] (hf : ) (hg : ) (hfg : Summable fun x => f x.fst * g x.snd) :
(∑' (n : ), f n) * ∑' (n : ), g n = ∑' (n : ), Finset.sum (Finset.range (n + 1)) fun k => f k * g (n - k)

The Cauchy product formula for the product of two infinites sums indexed by ℕ, expressed by summing on Finset.range.

See also tsum_mul_tsum_eq_tsum_sum_range_of_summable_norm if f and g are absolutely summable.