@@ -17,8 +17,8 @@ modulo summability and multipliability. The complete proof for formal power seri
1717
1818# Declarations
1919The following two declarations are exposed
20- * `Pentagonal.aux `: an auxiliary sequence for which the user needs to prove summability and growth
21- rate.
20+ * `Pentagonal.powMulProdOneSubPow `: an auxiliary sequence for which the user needs to prove
21+ summability and growth rate.
2222* `Pentagonal.tprod_one_sub_pow`: pentagonal number theorem with a few summability and
2323 multipliability assumptions.
2424
@@ -34,26 +34,27 @@ variable {R : Type*} [CommRing R]
3434/--
3535We define an auxiliary sequence
3636
37- $$ a_{k, n} = \left( x^{(k+1)n} \prod_{i=0}^{n} 1 - x^{k + i + 1} \right) $$
37+ $$ a_{k, n} = x^{(k+1)n} \prod_{i=0}^{n} 1 - x^{k + i + 1} $$
3838
3939We will also use its sum
4040
4141$$ A_k = \sum_{n=0}^{\infty} a_{k, n} $$ -/
42- public abbrev aux (k n : ℕ) (x : R) : R :=
42+ public abbrev powMulProdOneSubPow (k n : ℕ) (x : R) : R :=
4343 x ^ ((k + 1 ) * n) * ∏ i ∈ Finset.range (n + 1 ), (1 - x ^ (k + i + 1 ))
4444
4545/-- And a second auxiliary sequence
4646
4747$$ b_{k, n} = x^{(k+1)n} (x^{2k + n + 3} - 1) \prod_{i=0}^{n-1} 1 - x^{k + i + 2} $$ -/
48- abbrev aux2 (k n : ℕ) (x : R) : R :=
48+ abbrev aux (k n : ℕ) (x : R) : R :=
4949 x ^ ((k + 1 ) * n) * (x ^ (2 * k + n + 3 ) - 1 ) * ∏ i ∈ Finset.range n, (1 - x ^ (k + i + 2 ))
5050
51- /-- $aux$ and $aux2$ have relation
51+ /-- `powMulProdOneSubPow` and `aux` have relation
5252
5353$$ a_{k,n} + x^{3k + 5}a_{k + 1, n} = b_{k, n+1} - b_{k, n} $$ -/
54- theorem aux2_sub_aux2 (k n : ℕ) (x : R) :
55- aux k n x + x ^ (3 * k + 5 ) * aux (k + 1 ) n x = aux2 k (n + 1 ) x - aux2 k n x := by
56- simp_rw [aux2, Finset.prod_range_succ, aux]
54+ theorem aux_sub_aux (k n : ℕ) (x : R) :
55+ powMulProdOneSubPow k n x + x ^ (3 * k + 5 ) * powMulProdOneSubPow (k + 1 ) n x =
56+ aux k (n + 1 ) x - aux k n x := by
57+ simp_rw [aux, Finset.prod_range_succ, powMulProdOneSubPow]
5758 rw [Finset.prod_range_succ', Finset.prod_range_succ]
5859 ring_nf
5960
@@ -63,14 +64,16 @@ variable [TopologicalSpace R] [IsTopologicalRing R] [T2Space R]
6364
6465$$ A_k = 1 - x^{2k + 3} - x^{3k + 5}A_{k + 1} $$
6566-/
66- theorem tsum_aux (k : ℕ) {x : R} (hx : IsTopologicallyNilpotent x)
67- (haux : ∀ k, Summable (aux k · x)) (h : ∀ k, Multipliable (fun n ↦ 1 - x ^ (n + k + 1 ))) :
68- ∑' n, aux k n x = 1 - x ^ (2 * k + 3 ) - x ^ (3 * k + 5 ) * ∑' n, aux (k + 1 ) n x := by
69- rw [eq_sub_iff_add_eq, show 1 - x ^ (2 * k + 3 ) = 0 - aux2 k 0 x by simp [aux2]]
70- rw [← (haux _).tsum_mul_left, ← (haux _).tsum_add ((haux _).mul_left _)]
67+ theorem tsum_powMulProdOneSubPow (k : ℕ) {x : R} (hx : IsTopologicallyNilpotent x)
68+ (hsum : ∀ k, Summable (powMulProdOneSubPow k · x))
69+ (h : ∀ k, Multipliable (fun n ↦ 1 - x ^ (n + k + 1 ))) :
70+ ∑' n, powMulProdOneSubPow k n x =
71+ 1 - x ^ (2 * k + 3 ) - x ^ (3 * k + 5 ) * ∑' n, powMulProdOneSubPow (k + 1 ) n x := by
72+ rw [eq_sub_iff_add_eq, show 1 - x ^ (2 * k + 3 ) = 0 - aux k 0 x by simp [aux]]
73+ rw [← (hsum _).tsum_mul_left, ← (hsum _).tsum_add ((hsum _).mul_left _)]
7174 apply HasSum.tsum_eq
72- rw [((haux _).add ((haux _).mul_left _)).hasSum_iff_tendsto_nat]
73- simp_rw [aux2_sub_aux2 , Finset.sum_range_sub (aux2 k · x)]
75+ rw [((hsum _).add ((hsum _).mul_left _)).hasSum_iff_tendsto_nat]
76+ simp_rw [aux_sub_aux , Finset.sum_range_sub (aux k · x)]
7477 apply Tendsto.sub_const
7578 rw [show nhds 0 = nhds (0 * (0 - 1 ) * ∏' i, (1 - x ^ (k + i + 2 ))) by simp]
7679 refine (Tendsto.mul ?_ ?_).mul ?_
@@ -83,11 +86,12 @@ theorem tsum_aux (k : ℕ) {x : R} (hx : IsTopologicallyNilpotent x)
8386/-- The Euler function is related to $A_0$ by
8487
8588$$ \prod_{n = 0}^{\infty} 1 - x^{n + 1} = 1 - x - x^2 A_0 $$ -/
86- theorem tprod_one_sub_pow_eq_aux_zero {x : R}
87- (haux : ∀ k, Summable (aux k · x)) (h : ∀ k, Multipliable fun n ↦ 1 - x ^ (n + k + 1 )) :
88- ∏' n, (1 - x ^ (n + 1 )) = 1 - x - x ^ 2 * ∑' n, aux 0 n x := by
89- obtain hsum := haux 0
90- simp_rw [aux, zero_add, one_mul] at hsum
89+ theorem tprod_one_sub_pow_eq_powMulProdOneSubPow_zero {x : R}
90+ (hsum : ∀ k, Summable (powMulProdOneSubPow k · x))
91+ (h : ∀ k, Multipliable fun n ↦ 1 - x ^ (n + k + 1 )) :
92+ ∏' n, (1 - x ^ (n + 1 )) = 1 - x - x ^ 2 * ∑' n, powMulProdOneSubPow 0 n x := by
93+ obtain hsum := hsum 0
94+ simp_rw [powMulProdOneSubPow, zero_add, one_mul] at hsum
9195 have hsum' : Summable fun i ↦ x ^ (i + 1 ) * ∏ n ∈ Finset.range i, (1 - x ^ (n + 1 )) := by
9296 apply Summable.comp_nat_add (k := 1 )
9397 conv in fun k ↦ _ =>
@@ -100,22 +104,25 @@ theorem tprod_one_sub_pow_eq_aux_zero {x : R}
100104 ext k
101105 rw [pow_add, pow_add, mul_assoc (x ^ k), mul_comm (x ^ k),
102106 ← pow_add x 1 1 , one_add_one_eq_two, mul_assoc (x ^ 2 )]
103- simp [hsum.tsum_mul_left, aux ]
107+ simp [hsum.tsum_mul_left, powMulProdOneSubPow ]
104108
105109/-- Applying the recurrence formula repeatedly, we get
106110
107111$$ \prod_{n = 0}^{\infty} 1 - x^{n + 1} =
108112\left(\sum_{k=0}^{j} (-1)^k \left(x^{k(3k+1)/2} - x^{(k+1)(3k+2)/2}\right) \right) +
109113(-1)^{j+1}x^{(j+1)(3j+4)/2}A_j $$ -/
110- theorem tprod_one_sub_pow_eq_aux (j : ℕ) {x : R} (hx : IsTopologicallyNilpotent x)
111- (haux : ∀ k, Summable (aux k · x)) (h : ∀ k, Multipliable (fun n ↦ 1 - x ^ (n + k + 1 ))) :
114+ theorem tprod_one_sub_pow_eq_powMulProdOneSubPow (j : ℕ) {x : R} (hx : IsTopologicallyNilpotent x)
115+ (hsum : ∀ k, Summable (powMulProdOneSubPow k · x))
116+ (h : ∀ k, Multipliable (fun n ↦ 1 - x ^ (n + k + 1 ))) :
112117 ∏' n, (1 - x ^ (n + 1 )) = ∑ k ∈ Finset.range (j + 1 ),
113118 (-1 ) ^ k * (x ^ (k * (3 * k + 1 ) / 2 ) - x ^ ((k + 1 ) * (3 * k + 2 ) / 2 ))
114- + (-1 ) ^ (j + 1 ) * x ^ ((j + 1 ) * (3 * j + 4 ) / 2 ) * ∑' n, aux j n x := by
119+ + (-1 ) ^ (j + 1 ) * x ^ ((j + 1 ) * (3 * j + 4 ) / 2 ) * ∑' n, powMulProdOneSubPow j n x := by
115120 induction j with
116- | zero => simp [tprod_one_sub_pow_eq_aux_zero haux h, aux, ← sub_eq_add_neg]
121+ | zero =>
122+ simp [tprod_one_sub_pow_eq_powMulProdOneSubPow_zero hsum h, powMulProdOneSubPow,
123+ ← sub_eq_add_neg]
117124 | succ n ih =>
118- rw [ih, tsum_aux _ hx haux h, Finset.sum_range_succ _ (n + 1 )]
125+ rw [ih, tsum_powMulProdOneSubPow _ hx hsum h, Finset.sum_range_succ _ (n + 1 )]
119126 have h (n) : (n + 1 + 1 ) * (3 * (n + 1 ) + 2 ) / 2 =
120127 (n + 1 ) * (3 * n + 4 ) / 2 + (2 * n + 3 ) := by
121128 rw [← Nat.add_mul_div_left _ _ (by simp)]
@@ -133,15 +140,15 @@ theorem tprod_one_sub_pow_eq_aux (j : ℕ) {x : R} (hx : IsTopologicallyNilpoten
133140$$ \prod_{n = 0}^{\infty} 1 - x^{n + 1} =
134141\sum_{k=0}^{\infty} (-1)^k \left(x^{k(3k+1)/2} - x^{(k+1)(3k+2)/2}\right) $$ -/
135142public theorem tprod_one_sub_pow {x : R} (hx : IsTopologicallyNilpotent x)
136- (haux : ∀ k, Summable (Pentagonal.aux k · x))
143+ (hsum : ∀ k, Summable (powMulProdOneSubPow k · x))
137144 (hlhs : ∀ k, Multipliable (fun n ↦ 1 - x ^ (n + k + 1 )))
138145 (hrhs : Summable fun (k : ℕ) ↦
139146 (-1 ) ^ k * (x ^ (k * (3 * k + 1 ) / 2 ) - x ^ ((k + 1 ) * (3 * k + 2 ) / 2 )))
140147 (htail : Tendsto (fun k ↦ (-1 ) ^ (k + 1 ) * x ^ ((k + 1 ) * (3 * k + 4 ) / 2 ) *
141- ∑' (n : ℕ), Pentagonal.aux k n x) atTop (nhds 0 )) :
148+ ∑' (n : ℕ), powMulProdOneSubPow k n x) atTop (nhds 0 )) :
142149 ∏' n, (1 - x ^ (n + 1 )) =
143150 ∑' k, (-1 ) ^ k * (x ^ (k * (3 * k + 1 ) / 2 ) - x ^ ((k + 1 ) * (3 * k + 2 ) / 2 )) := by
144- obtain h := fun n ↦ tprod_one_sub_pow_eq_aux n hx haux hlhs
151+ obtain h := fun n ↦ tprod_one_sub_pow_eq_powMulProdOneSubPow n hx hsum hlhs
145152 simp_rw [← sub_eq_iff_eq_add] at h
146153 refine (HasSum.tsum_eq ?_).symm
147154 rw [hrhs.hasSum_iff_tendsto_nat, (map_add_atTop_eq_nat 1 ).symm]
0 commit comments