Skip to content

Commit e018b8d

Browse files
committed
feat(Topology/InfiniteSum): Formula for ∏' i : ι, (1 + f i) (#29857)
This is the infinite version of [Finset.prod_one_add](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/BigOperators/Ring/Finset.html#Finset.prod_one_add). Unfortunately I think it only holds in the Summable->Multipliable direction, but not the opposite way. One usage of this is in generating power series of partition functions (infinite version of those in https://github.com/leanprover-community/mathlib4/blob/master/Archive/Wiedijk100Theorems/Partition.lean). Using these lemma one can quickly argue about general multipliability, and direct calculation if the product factor is `(1 + monomial)`
1 parent 75a0561 commit e018b8d

File tree

1 file changed

+32
-0
lines changed
  • Mathlib/Topology/Algebra/InfiniteSum

1 file changed

+32
-0
lines changed

Mathlib/Topology/Algebra/InfiniteSum/Ring.lean

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Johannes Hölzl
55
-/
66
import Mathlib.Algebra.BigOperators.NatAntidiagonal
7+
import Mathlib.Algebra.BigOperators.Ring.Finset
78
import Mathlib.Topology.Algebra.InfiniteSum.Constructions
89
import Mathlib.Topology.Algebra.Ring.Basic
910

@@ -15,6 +16,7 @@ This file provides lemmas about the interaction between infinite sums and multip
1516
## Main results
1617
1718
* `tsum_mul_tsum_eq_tsum_sum_antidiagonal`: Cauchy product formula
19+
* `tprod_one_add`: expanding `∏' i : ι, (1 + f i)` as infinite sum.
1820
-/
1921

2022
open Filter Finset Function
@@ -251,3 +253,33 @@ protected theorem Summable.tsum_mul_tsum_eq_tsum_sum_range (hf : Summable f) (hg
251253
end Nat
252254

253255
end CauchyProduct
256+
257+
section ProdOneSum
258+
259+
/-!
260+
### Infinite product of `1 + f i`
261+
262+
This section extends `Finset.prod_one_add` to the infinite product
263+
`∏' i : ι, (1 + f i) = ∑' s : Finset ι, ∏ i ∈ s, f i`.
264+
-/
265+
266+
variable [CommSemiring α] [TopologicalSpace α] {f : ι → α}
267+
268+
theorem hasProd_one_add_of_hasSum_prod {a : α} (h : HasSum (∏ i ∈ ·, f i) a) :
269+
HasProd (1 + f ·) a := by
270+
simp_rw [HasProd, prod_one_add]
271+
exact h.comp tendsto_finset_powerset_atTop_atTop
272+
273+
/-- `∏' i : ι, (1 + f i)` is convergent if `∑' s : Finset ι, ∏ i ∈ s, f i` is convergent.
274+
275+
For complete normed ring, see also `multipliable_one_add_of_summable`. -/
276+
theorem multipliable_one_add_of_summable_prod (h : Summable (∏ i ∈ ·, f i)) :
277+
Multipliable (1 + f ·) := by
278+
obtain ⟨a, h⟩ := h
279+
exact ⟨a, hasProd_one_add_of_hasSum_prod h⟩
280+
281+
theorem tprod_one_add [T2Space α] (h : Summable (∏ i ∈ ·, f i)) :
282+
∏' i, (1 + f i) = ∑' s, ∏ i ∈ s, f i :=
283+
HasProd.tprod_eq <| hasProd_one_add_of_hasSum_prod h.hasSum
284+
285+
end ProdOneSum

0 commit comments

Comments
 (0)