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

ZetaAppendix.tendsto_sine_series_unit_interval

PrimeNumberTheoremAnd.IEANTN.ZetaAppendix · PrimeNumberTheoremAnd/IEANTN/ZetaAppendix.lean:2380 to 2414

Mathematical statement

Exact Lean statement

lemma tendsto_sine_series_unit_interval {x : ℝ} (hx0 : 0 < x) (hx1 : x < 1) :
    Tendsto
      (fun N : ℕ ↦
        ∑ n ∈ range N, Real.sin (2 * Real.pi * (n + 1) * x) / (n + 1 : ℝ))
      atTop (𝓝 (Real.pi * (1 / 2 - x)))

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma tendsto_sine_series_unit_interval {x : } (hx0 : 0 < x) (hx1 : x < 1) :    Tendsto      (fun N :          ∑ n  range N, Real.sin (2 * Real.pi * (n + 1) * x) / (n + 1 : ))      atTop (𝓝 (Real.pi * (1 / 2 - x))) := by  have hx_not_int : ¬  k : , x = k := not_exists_int_eq_of_mem_Ioo hx0 hx1  have hcomplex := tendsto_exp_over_nat_eq_neg_log_of_not_int hx_not_int  have him : Tendsto      (fun N :          (∑ n  range N,          ((1 : ) / (n + 1 : )) •            (Complex.exp ((2 * Real.pi * x : ) * Complex.I)) ^ (n + 1)).im)      atTop (𝓝 ((-Complex.log (1 - expPhase x)).im)) := by    exact (Complex.continuous_im.tendsto _).comp hcomplex  have hlimit : (-Complex.log (1 - expPhase x)).im = Real.pi * (1 / 2 - x) := by    rw [neg_im, Complex.log_im, arg_one_sub_expPhase_of_mem_Ioo hx0 hx1]    ring_nf  have hleft : Tendsto      (fun N :          ∑ n  range N, Real.sin (2 * Real.pi * (n + 1) * x) / (n + 1 : ))      atTop (𝓝 ((-Complex.log (1 - expPhase x)).im)) := by    refine him.congr' ?_    filter_upwards with N    change Complex.imCLM        (∑ n  range N,          ((1 : ) / (n + 1 : )) •            (Complex.exp ((2 * Real.pi * x : ) * Complex.I)) ^ (n + 1)) =      ∑ n  range N, Real.sin (2 * Real.pi * (n + 1) * x) / (n + 1 : )    rw [map_sum Complex.imCLM]    apply Finset.sum_congr rfl    intro n _hn    change ((((1 : ) / (n + 1 : )) • (expPhase x) ^ (n + 1)).im) =      Real.sin (2 * Real.pi * (n + 1) * x) / (n + 1 : )    rw [one_div_smul_expPhase_pow_im]  simpa [hlimit] using hleft