AlexKontorovich/PrimeNumberTheoremAnd
Source indexedtheorem ยท leanprover/lean4:v4.32.0
ZetaPartialSum.tendsto_riemannZeta
PrimeNumberTheoremAnd.Mathlib.NumberTheory.LSeries.RiemannZetaPartialSum ยท PrimeNumberTheoremAnd/Mathlib/NumberTheory/LSeries/RiemannZetaPartialSum.lean:178 to 199
Source documentation
zetaPartialSum converges to riemannZeta for re s > 1.
Exact Lean statement
theorem tendsto_riemannZeta (s : โ) (hs : 1 < s.re) :
Tendsto (fun N : โ => zetaPartialSum s N) atTop (๐ (riemannZeta s))Complete declaration
Lean source
Full Lean sourceLean 4
theorem tendsto_riemannZeta (s : โ) (hs : 1 < s.re) : Tendsto (fun N : โ => zetaPartialSum s N) atTop (๐ (riemannZeta s)) := by set g : โ โ โ := fun n => if n = 0 then 0 else (n : โ) ^ (-s) set h : โ โ โ := fun n => (n + 1 : โ) ^ (-s) have hsne : s โ 0 := by intro h0 have : (0 : โ) < s.re := lt_trans (show (0 : โ) < 1 by norm_num) hs simpa [h0] using ne_of_gt this have hgSumm : Summable g := by simpa [g, one_div_natCast_cpow_eq_ite_cpow_neg s hsne] using (Complex.summable_one_div_nat_cpow (p := s)).2 hs have hhSumm : Summable h := by have : Summable (fun n => g (n + 1)) := (summable_nat_add_iff (f := g) (k := 1)).2 hgSumm simpa [Function.comp_apply, h, g] using this have hg0 : g 0 = 0 := by simp [g] have h_tsum_eq : (โ' n, h n) = โ' n, g n := by have : (โ' n, g n) = โ' n, g (n + 1) := by simpa [hg0, add_comm] using Summable.tsum_eq_zero_add hgSumm simpa [h, g] using this.symm have hzeta : riemannZeta s = โ' n, g n := by simpa [g, one_div_natCast_cpow_eq_ite_cpow_neg s hsne] using zeta_eq_tsum_one_div_nat_cpow (s := s) hs simpa [zetaPartialSum, h, h_tsum_eq.trans hzeta.symm] using Summable.tendsto_sum_tsum_nat hhSumm