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

Kadiri.summable_re_one_div_at_zeros

PrimeNumberTheoremAnd.IEANTN.Kadiri · PrimeNumberTheoremAnd/IEANTN/Kadiri.lean:2951 to 2996

Source documentation

Unconditional summability of the real parts of the zero residues: Re (1/(s - ρ)) = Re (s - ρ) / |s - ρ|² decays like 1/(Im ρ)^2 on the strip, while the complex sum ∑ ρ, 1/(s - ρ) is only conditionally convergent. This is the summability needed to move Re inside the residue sum of equation (16).

Exact Lean statement

theorem summable_re_one_div_at_zeros (s : ℂ) :
    Summable (fun ρ : riemannZeta.zeroes_rect (.Ioo 0 1) (.univ : Set ℝ) ↦
      (1 / (s - ρ.val)).re)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
theorem summable_re_one_div_at_zeros (s : ℂ) :    Summable (fun ρ : riemannZeta.zeroes_rect (.Ioo 0 1) (.univ : Set )       (1 / (s - ρ.val)).re) := by  have htail : Summable (fun ρ : NontrivialZeros       (|s.re| + 1) * (|(s - (ρ : ℂ)).im|⁻¹ ^ (2 : ))) :=    (summable_zeroImagSquareTail_shifted_unconditional s).mul_left _  refine Summable.of_norm_bounded_eventually htail ?_  rw [Filter.eventually_cofinite]  apply Set.Finite.subset (nontrivialZeros_shifted_abs_im_lt_one_finite s)  intro ρ hbad  rw [Set.mem_setOf_eq] at hbad   by_contra hsmall  have him : 1  |(s - (ρ : ℂ)).im| := le_of_not_gt hsmall  have him0 : (s - (ρ : ℂ)).im  0 := by    intro h    rw [h] at him    norm_num at him  have hw0 : s - (ρ : ℂ)  0 := by    intro h    apply him0    rw [h]    rfl  have hre : (ρ : ℂ).re  Set.Ioo (0 : ) 1 := ρ.property.1  have hre_bound : |(s - (ρ : ℂ)).re|  |s.re| + 1 := by    rw [Complex.sub_re]    calc |s.re - (ρ : ℂ).re|  |s.re| + |(ρ : ℂ).re| := abs_sub _ _      _  |s.re| + 1 := by          rw [abs_of_pos hre.1]          linarith [hre.2]  have hdiv_re : (1 / (s - (ρ : ℂ))).re =      (s - (ρ : ℂ)).re / Complex.normSq (s - (ρ : ℂ)) := by    rw [Complex.div_re]    simp  have hns : (s - (ρ : ℂ)).im ^ 2  Complex.normSq (s - (ρ : ℂ)) := by    rw [Complex.normSq_apply]    nlinarith [mul_self_nonneg (s - (ρ : ℂ)).re]  have him2 : (0 : ) < (s - (ρ : ℂ)).im ^ 2 := by positivity  have hnpos : (0 : ) < Complex.normSq (s - (ρ : ℂ)) := Complex.normSq_pos.2 hw0  apply hbad  rw [Real.norm_eq_abs, hdiv_re, abs_div, abs_of_nonneg (Complex.normSq_nonneg _)]  calc |(s - (ρ : ℂ)).re| / Complex.normSq (s - (ρ : ℂ))       (|s.re| + 1) / Complex.normSq (s - (ρ : ℂ)) := by gcongr    _  (|s.re| + 1) / (s - (ρ : ℂ)).im ^ 2 := by        gcongr    _ = (|s.re| + 1) * (|(s - (ρ : ℂ)).im|⁻¹ ^ (2 : )) := by        rw [inv_pow, sq_abs, div_eq_mul_inv]