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

Kadiri.kadiri_thm_3_1_q1_eq_14_of_uniform_fourier_inv_trunc_bound

PrimeNumberTheoremAnd.IEANTN.KadiriEq14 · PrimeNumberTheoremAnd/IEANTN/KadiriEq14.lean:570 to 613

Mathematical statement

Exact Lean statement

lemma kadiri_thm_3_1_q1_eq_14_of_uniform_fourier_inv_trunc_bound
    {φ : ℝ → ℂ} (hφ : ContDiff ℝ 1 φ)
    {b : ℝ} (hb : 0 < b)
    (hφ_decay : (fun x : ℝ ↦ φ x * exp ((x : ℂ) / 2))
        =O[Filter.cocompact ℝ] fun x : ℝ ↦ Real.exp (-(1/2 + b) * |x|))
    {a : ℝ} (ha : 0 < a) (hab : a < b) (ha1 : a < 1)
    (C : ℝ)
    (hbound : ∀ᶠ T in Filter.atTop, ∀ n : ℕ, n ≠ 0 → n ≠ 1 →
      ‖fourierInvTrunc
          (𝓕 (fun y : ℝ => exp (-((a : ℂ) * (y : ℂ))) • φ y))
          (-Real.log n) T‖ ≤ C) :
    Filter.Tendsto (fun T : ℝ ↦ kadiri_thm_3_1_q1_I_2 φ a T)
      Filter.atTop
      (nhds (-∑' n : ℕ, ((Λ n : ℂ) / (n : ℂ)) * φ (-Real.log n)))

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma kadiri_thm_3_1_q1_eq_14_of_uniform_fourier_inv_trunc_bound    {φ :   ℂ} (hφ : ContDiff  1 φ)    {b : } (hb : 0 < b)    (hφ_decay : (fun x :   φ x * exp ((x : ℂ) / 2))        =O[Filter.cocompact ] fun x :   Real.exp (-(1/2 + b) * |x|))    {a : } (ha : 0 < a) (hab : a < b) (ha1 : a < 1)    (C : )    (hbound : ᶠ T in Filter.atTop,  n : , n  0  n  1       ‖fourierInvTrunc          (𝓕 (fun y :  => exp (-((a : ℂ) * (y : ℂ))) • φ y))          (-Real.log n) T‖  C) :    Filter.Tendsto (fun T :   kadiri_thm_3_1_q1_I_2 φ a T)      Filter.atTop      (nhds (-∑' n : , ((Λ n : ℂ) / (n : ℂ)) * φ (-Real.log n))) := by  refine kadiri_thm_3_1_q1_eq_14_of_uniform_laplace_trunc_cpow_bound    hφ hb hφ_decay ha hab ha1 C ?_  filter_upwards [hbound] with T hT n hn h1  have hnpos : 0 < (n : ) := Nat.cast_pos.mpr (Nat.pos_of_ne_zero hn)  have hxpos : 0 < ((n : )⁻¹) := inv_pos.mpr hnpos  rw [laplaceIntegralCpowTrunc_eq_laplaceInvLineTrunc    (sigma := a) (f := φ) (x := ((n : )⁻¹)) hxpos T]  rw [laplaceInvLineTrunc_laplaceTransformBilateral_eq_fourierInvTrunc]  rw [norm_smul]  have hlog : Real.log ((n : )⁻¹) = -Real.log n := by    simp [Real.log_inv]  have hscale :      ‖exp ((a : ℂ) * (Real.log ((n : )⁻¹) : ℂ))‖ = ((n : )⁻¹) ^ a := by    rw [Complex.exp_mul_log_of_pos_eq_cpow hxpos (a : ℂ)]    rw [Complex.norm_cpow_eq_rpow_re_of_pos hxpos]    simp  rw [hscale]  calc    ((n : )⁻¹) ^ a *        ‖fourierInvTrunc          (𝓕 (fun y :  => exp (-((a : ℂ) * (y : ℂ))) • φ y))          (Real.log ((n : )⁻¹)) T‖        = ((n : )⁻¹) ^ a *            ‖fourierInvTrunc              (𝓕 (fun y :  => exp (-((a : ℂ) * (y : ℂ))) • φ y))              (-Real.log n) T‖ := by rw [hlog]    _  ((n : )⁻¹) ^ a * C :=      mul_le_mul_of_nonneg_left (hT n hn h1)        (Real.rpow_nonneg (inv_nonneg.mpr hnpos.le) a)    _  C * ((n : )⁻¹) ^ a := by rw [mul_comm]