Skip to main content
AlexKontorovich/PrimeNumberTheoremAnd
Source indexedlemma · leanprover/lean4:v4.32.0

ZetaAppendix.lemma_abadimpseri

PrimeNumberTheoremAnd.IEANTN.ZetaAppendix · PrimeNumberTheoremAnd/IEANTN/ZetaAppendix.lean:4226 to 4356

Mathematical statement

Exact Lean statement

@[blueprint
  "lem:abadimpseri"
  (title := "Estimate for an inverse cubic series")
  (statement := /--
For $\vartheta\in \mathbb{R}$ with $0\leq |\vartheta|< 1$,
\[\sum_n\left(\frac{1}{(n-\vartheta)^3} + \frac{1}{(n+\vartheta)^3}\right)
\leq \frac{1}{(1-|\vartheta|)^3} + 2\zeta(3)-1.\]
-/)
  (proof := /--
Since $\frac{1}{(n-\vartheta)^3} + \frac{1}{(n+\vartheta)^3}$ is even,
we may replace $\vartheta$ by $|\vartheta|$. Then we rearrange the sum:
\[\sum_{n=1}^\infty \left(\frac{1}{(n-|\vartheta|)^3} + \frac{1}{(n+|\vartheta|)^3}\right)
  = \frac{1}{(1-|\vartheta|)^3}
  + \sum_{n=1}^\infty \left(\frac{1}{\left(n+1-|\vartheta|\right)^3}
  + \frac{1}{\left(n+|\vartheta|\right)^3}\right).\]
We may write $(n+1-|\vartheta|)^3$, $(n+|\vartheta|)^3$
as $(n+\frac{1}{2}-t)^3$, $(n+\frac{1}{2} + t)^3$ for $t = |\vartheta|-1/2$.
Since $1/u^3$ is convex, $\frac{1}{(n+1/2-t)^3} + \frac{1}{(n+1/2+t)^3}$ reaches its
maximum on $[-1/2,1/2]$ at the endpoints. Hence
\[\sum_{n=1}^\infty \left(\frac{1}{\left(n+1-|\vartheta|\right)^3}
  + \frac{1}{\left(n+|\vartheta|\right)^3}\right)
  \leq \sum_{n=1}^\infty \left(\frac{1}{n^3} + \frac{1}{(n+1)^3}\right) = 2 \zeta(3)-1.
\]
-/)
  (latexEnv := "lemma")
  (discussion := 571)]
lemma lemma_abadimpseri (ϑ : ℝ) (hϑ : |ϑ| < 1) :
    ∑' n : ℕ, (1 / ((n + 1 : ℝ) - ϑ) ^ 3 + 1 / ((n + 1 : ℝ) + ϑ) ^ 3) ≤
      1 / (1 - |ϑ|) ^ 3 + 2 * (riemannZeta 3).re - 1

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
@[blueprint  "lem:abadimpseri"  (title := "Estimate for an inverse cubic series")  (statement := /--For $\vartheta\in \mathbb{R}$ with $0\leq |\vartheta|< 1$,\[\sum_n\left(\frac{1}{(n-\vartheta)^3} + \frac{1}{(n+\vartheta)^3}\right)\leq \frac{1}{(1-|\vartheta|)^3} + 2\zeta(3)-1.\]-/)  (proof := /--Since $\frac{1}{(n-\vartheta)^3} + \frac{1}{(n+\vartheta)^3}$ is even,we may replace $\vartheta$ by $|\vartheta|$. Then we rearrange the sum:\[\sum_{n=1}^\infty \left(\frac{1}{(n-|\vartheta|)^3} + \frac{1}{(n+|\vartheta|)^3}\right)  = \frac{1}{(1-|\vartheta|)^3}  + \sum_{n=1}^\infty \left(\frac{1}{\left(n+1-|\vartheta|\right)^3}  + \frac{1}{\left(n+|\vartheta|\right)^3}\right).\]We may write $(n+1-|\vartheta|)^3$, $(n+|\vartheta|)^3$as $(n+\frac{1}{2}-t)^3$, $(n+\frac{1}{2} + t)^3$ for $t = |\vartheta|-1/2$.Since $1/u^3$ is convex, $\frac{1}{(n+1/2-t)^3} + \frac{1}{(n+1/2+t)^3}$ reaches itsmaximum on $[-1/2,1/2]$ at the endpoints. Hence\[\sum_{n=1}^\infty \left(\frac{1}{\left(n+1-|\vartheta|\right)^3}  + \frac{1}{\left(n+|\vartheta|\right)^3}\right)  \leq \sum_{n=1}^\infty \left(\frac{1}{n^3} + \frac{1}{(n+1)^3}\right) = 2 \zeta(3)-1.\]-/)  (latexEnv := "lemma")  (discussion := 571)]lemma lemma_abadimpseri (ϑ : ) (hϑ : |ϑ| < 1) :    ∑' n : , (1 / ((n + 1 : ) - ϑ) ^ 3 + 1 / ((n + 1 : ) + ϑ) ^ 3)       1 / (1 - |ϑ|) ^ 3 + 2 * (riemannZeta 3).re - 1 := by  have h_sum_bound :  n : , (1 / (n + 1 - ϑ) ^ 3 + 1 / (n + 1 + ϑ) ^ 3)       (1 / (n + 1 - |ϑ|) ^ 3 + 1 / (n + 1 + |ϑ|) ^ 3) := by intro n; cases abs_cases ϑ <;> grind  have h_sum_bound_endpoints : (∑' n : , (1 / (n + 1 - |ϑ|) ^ 3 + 1 / (n + 1 + |ϑ|) ^ 3))       (1 / (1 - |ϑ|) ^ 3) + 2 * (riemannZeta 3).re - 1 := by    have h_sum_endpoints_bound : (∑' n : , (1 / (n + 2 - |ϑ|) ^ 3 + 1 / (n + 1 + |ϑ|) ^ 3))         2 * (riemannZeta 3).re - 1 := by      have h_term_bound :  n : , (1 / (n + 2 - |ϑ|) ^ 3 + 1 / (n + 1 + |ϑ|) ^ 3)           (1 / (n + 1) ^ 3 + 1 / (n + 2) ^ 3) := by        intro n        rw [div_add_div, div_add_div, div_le_div_iff₀] <;> try positivity        · have h_simp : (n + 1 + |ϑ|) ^ 3 + (n + 2 - |ϑ|) ^ 3  (n + 1) ^ 3 + (n + 2) ^ 3 := by            nlinarith [abs_nonneg ϑ, pow_two_nonneg (|ϑ| : ), pow_two_nonneg (n : ),              mul_lt_mul_of_pos_left hϑ <| Nat.cast_add_one_pos n]          field_simp          refine le_trans (mul_le_mul_of_nonneg_left h_simp <| by positivity) ?_          have h_simp : (n + 1 : ) ^ 3 * (n + 2) ^ 3  (n + 1 + |ϑ|) ^ 3 * (n + 2 - |ϑ|) ^ 3 := by            rw [ mul_pow,  mul_pow]; exact pow_le_pow_left₀ (by positivity) (by nlinarith [abs_nonneg ϑ]) _          exact mul_le_mul h_simp (by linarith) (by positivity)            (by exact mul_nonneg (pow_nonneg (by positivity) _) (pow_nonneg (by linarith [abs_nonneg ϑ]) _))        · exact mul_pos (pow_pos (by linarith [abs_nonneg ϑ]) _) (pow_pos (by linarith [abs_nonneg ϑ]) _)        · exact pow_ne_zero _ (by linarith [abs_nonneg ϑ])      refine le_trans (Summable.tsum_le_tsum h_term_bound ?_ ?_) ?_      · exact of_nonneg_of_le (fun n  add_nonneg (one_div_nonneg.mpr (pow_nonneg (by linarith [abs_nonneg ϑ]) _))          (one_div_nonneg.mpr (pow_nonneg (by linarith [abs_nonneg ϑ]) _)))            h_term_bound (add (by exact_mod_cast summable_nat_add_iff 1 |>.2 <| summable_one_div_nat_pow.2 <| by omega)              (by exact_mod_cast summable_nat_add_iff 2 |>.2 <| summable_one_div_nat_pow.2 <| by omega))      · exact add (by simpa using summable_nat_add_iff 1 |>.2 <| summable_one_div_nat_pow.2 <| by omega)          (by simpa using summable_nat_add_iff 2 |>.2 <| summable_one_div_nat_pow.2 <| by omega)      · have h_sum_zeta : ∑' n : , (1 / (n + 1 : ) ^ 3 + 1 / (n + 2 : ) ^ 3) =            2 * (∑' n : , (1 / (n + 1 : ) ^ 3)) - 1 := by          rw [Summable.tsum_add, Summable.tsum_eq_zero_add] <;> norm_num          · norm_num [add_assoc]; ring          · exact_mod_cast summable_nat_add_iff 1 |>.2 <| summable_nat_pow_inv.2 <| by omega          · exact_mod_cast summable_nat_add_iff 1 |>.2 <| summable_nat_pow_inv.2 <| by omega          · exact_mod_cast summable_nat_add_iff 2 |>.2 <| summable_nat_pow_inv.2 <| by omega        convert h_sum_zeta.le using 2        erw [zeta_eq_tsum_one_div_nat_add_one_cpow] <;> norm_num        · convert ofReal_re _; simp [Complex.ofReal_tsum]    rw [Summable.tsum_eq_zero_add]    · norm_num [add_assoc, add_left_comm, add_comm, div_eq_mul_inv, mul_add, mul_comm,        mul_left_comm, tsum_mul_left] at *      have hs₁ : Summable fun n :   ((|ϑ| + (n + 1)) ^ 3)⁻¹ :=        of_nonneg_of_le (fun n  inv_nonneg.2 (pow_nonneg (by positivity) _))          (fun n  by simpa using inv_anti₀ (by positivity) (pow_le_pow_left₀ (by positivity)            (show (|ϑ| + (n + 1) : )  n + 1 by linarith [abs_nonneg ϑ]) 3))          (summable_nat_add_iff 1 |>.2 <| Real.summable_one_div_nat_pow.2 <| by omega)      have hs₂ : Summable fun n :   (((n : ) + 2 - |ϑ|) ^ 3)⁻¹ :=        of_nonneg_of_le (fun n  inv_nonneg.2 (pow_nonneg (by linarith [abs_nonneg ϑ]) _))          (fun n  by rw [inv_le_comm₀] <;> norm_num <;> ring_nf <;>            nlinarith [abs_nonneg ϑ, pow_two_nonneg ((n : ) + 1 - |ϑ|)])          (summable_nat_add_iff 1 |>.2 <| Real.summable_one_div_nat_pow.2 one_lt_two)      rw [Summable.tsum_add hs₁ hs₂] at h_sum_endpoints_bound      rw [Summable.tsum_add]      · rw [show (∑' b : , ((|ϑ| + (b + 2)) ^ 3)⁻¹) = (∑' b : , ((|ϑ| + (b + 1)) ^ 3)⁻¹) - ((|ϑ| + 1) ^ 3)⁻¹ from ?_]        · nlinarith [show 0 < (|ϑ| + 1) ^ 3 by positivity, inv_mul_cancel₀ (show (|ϑ| + 1) ^ 3  0 by positivity)]        · rw [eq_comm, Summable.tsum_eq_zero_add]          · norm_num [add_assoc]          · exact hs₁      · exact_mod_cast of_nonneg_of_le (fun n  by positivity)          (fun n  by rw [inv_le_comm₀] <;> norm_num <;> ring_nf <;> nlinarith only [abs_nonneg ϑ, hϑ])            (summable_nat_add_iff 1 |>.2 <| Real.summable_one_div_nat_pow.2 one_lt_two)      · exact hs₂    · refine Summable.add ?_ ?_      · have : Summable (fun n :   (1 : ) / (n : ) ^ 3) := summable_one_div_nat_pow.2 (by omega)        rw [ summable_nat_add_iff 1] at this         exact of_nonneg_of_le (fun n  one_div_nonneg.mpr (pow_nonneg (by cases abs_cases ϑ <;> linarith) _))          (fun n  one_div_le_one_div_of_le (by positivity)            (pow_le_pow_left₀ (by positivity) (by cases abs_cases ϑ <;> linarith) _)) this      · exact_mod_cast of_nonneg_of_le (fun n  by positivity)          (fun n  by simpa using inv_anti₀ (by positivity) (pow_le_pow_left₀ (by positivity)            (show (n : ) + 1 + |ϑ|  n + 1 by linarith [abs_nonneg ϑ]) 3))          (summable_nat_add_iff 1 |>.2 <| Real.summable_one_div_nat_pow.2 <| by omega)  refine le_trans (Summable.tsum_le_tsum h_sum_bound ?_ ?_) h_sum_bound_endpoints  · have h_bound :  n : ,        (1 / (n + 1 - ϑ) ^ 3 + 1 / (n + 1 + ϑ) ^ 3)  2 / (n + 1 - |ϑ|) ^ 3 := fun n  by      have : (1 / (n + 1 - ϑ) ^ 3 + 1 / (n + 1 + ϑ) ^ 3)           (1 / (n + 1 - |ϑ|) ^ 3 + 1 / (n + 1 - |ϑ|) ^ 3) := by        cases abs_cases ϑ <;> simp only [add_le_add_iff_left, one_div, sub_neg_eq_add, add_le_add_iff_right, *]        · exact inv_anti₀ (pow_pos (by linarith) _) (by gcongr <;> linarith)        · exact inv_anti₀ (pow_pos (by linarith) _)            (pow_le_pow_left₀ (by linarith) (by linarith) _)      exact this.trans_eq (by ring)    refine of_nonneg_of_le (fun n  ?_) (fun n  h_bound n) ?_    · exact add_nonneg (one_div_nonneg.mpr (pow_nonneg (by linarith [abs_lt.mp hϑ]) _))        (one_div_nonneg.mpr (pow_nonneg (by linarith [abs_lt.mp hϑ]) _))    · have : Summable (fun n :   2 / (n : ) ^ 3) :=        mul_left 2 <| Real.summable_nat_pow_inv.2 (by norm_num : (1 : ) < 3)      rw [ summable_nat_add_iff 1] at this       exact of_nonneg_of_le (fun n  div_nonneg zero_le_two (pow_nonneg (by linarith [abs_nonneg ϑ]) _))        (fun n  div_le_div_of_nonneg_left (by positivity) (by positivity)          (pow_le_pow_left₀ (by linarith [abs_nonneg ϑ]) (by linarith [abs_nonneg ϑ]) _)) this  · refine add ?_ ?_    · rw [ summable_nat_add_iff 1]      simp only [one_div, Nat.cast_add, Nat.cast_one] at *      exact of_nonneg_of_le (fun n  inv_nonneg.2 (pow_nonneg (by linarith [abs_nonneg ϑ]) _))        (fun n  by rw [inv_le_comm₀] <;> norm_num <;> ring_nf <;>          nlinarith [abs_nonneg ϑ, pow_two_nonneg ((n : ) ^ 2), pow_two_nonneg ((n : ) + 1),            pow_two_nonneg ((n : ) + 1 - |ϑ|)]) (summable_nat_add_iff 1 |>.2 <| summable_one_div_nat_pow.2 one_lt_two)    · exact of_nonneg_of_le (fun n  by positivity)        (fun n  by simpa using inv_anti₀ (by positivity) (pow_le_pow_left₀ (by positivity)          (show (n : ) + 1 + |ϑ|  n + 1 by linarith [abs_nonneg ϑ]) 3))            (summable_nat_add_iff 1 |>.2 <| summable_one_div_nat_pow.2 <| by omega)