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

CH2.horizontal_integral_phi_fourier_vanish

PrimeNumberTheoremAnd.IEANTN.CH2.CH2_part1 · PrimeNumberTheoremAnd/IEANTN/CH2/CH2_part1.lean:3398 to 3441

Mathematical statement

Exact Lean statement

lemma horizontal_integral_phi_fourier_vanish (ν ε x a b : ℝ) (hν : ν > 0) (hx : x < 0)
    (hab_in : Set.Icc a b ⊆ Set.Icc (-1) 1) (hab : a ≤ b)
    (f : ℂ → ℂ)
    (hf_anal : ∀ T : ℝ, T ≥ 1 → ContinuousOn f (Rectangle (↑a) (↑b + I * ↑T)))
    (hf_bound : ∀ T : ℝ, T ≥ 1 → ∀ t ∈ Set.Icc a b, ‖f (t + I * T)‖ ≤ (‖Phi_circ ν ε (t + I * T)‖ + ‖Phi_star ν ε (t + I * T)‖) * ‖E (-(t + I * T) * x)‖) :
    Filter.Tendsto (fun T : ℝ ↦ ∫ t in a..b, f (t + I * T)) Filter.atTop (nhds 0)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma horizontal_integral_phi_fourier_vanish (ν ε x a b : ) (hν : ν > 0) (hx : x < 0)    (hab_in : Set.Icc a b  Set.Icc (-1) 1) (hab : a  b)    (f : ℂ  ℂ)    (hf_anal :  T : , T  1  ContinuousOn f (Rectangle (↑a) (↑b + I * ↑T)))    (hf_bound :  T : , T  1   t  Set.Icc a b, ‖f (t + I * T)‖  (‖Phi_circ ν ε (t + I * T)‖ +Phi_star ν ε (t + I * T)‖) * ‖E (-(t + I * T) * x)‖) :    Filter.Tendsto (fun T :   ∫ t in a..b, f (t + I * T)) Filter.atTop (nhds 0) := by  obtain C, hC := phi_bound_upwards ν ε hν  have h_int_bound (T : ) (hT : T  1) : ‖∫ t in a..b, f (t + I * T)‖  (b - a) * C * (T + 1) * Real.exp (2 * π * x * T) := by    calc ‖∫ t in a..b, f (↑t + I * ↑T)‖      _  ∫ t in a..b, ‖f (↑t + I * ↑T)‖ := intervalIntegral.norm_integral_le_integral_norm hab      _  ∫ t in a..b, C * (T + 1) * Real.exp (2 * π * x * T) := by          apply intervalIntegral.integral_mono_on hab          · refine ContinuousOn.intervalIntegrable ?_            refine ContinuousOn.norm ?_            rw [Set.uIcc_of_le hab]            have hg : Continuous (fun t :   (↑t : ℂ) + I * ↑T) := by fun_prop            have h_seg_in : (fun t  ↑t + I * ↑T) '' Set.Icc a b  Rectangle a (b + I * T) := by              intro z t, ht, hz              subst hz              rw [mem_Rect (by simpa using hab) (by simpa using hT.trans' (by norm_num : (0 : )  1))]              simp only [Complex.add_re, Complex.ofReal_re, Complex.mul_re, Complex.I_re, Complex.I_im,                Complex.ofReal_im, Complex.add_im, Complex.mul_im, mul_zero, zero_mul, sub_zero, add_zero, zero_add]              exact ht.1, ht.2, by linarith, le_refl _            exact (hf_anal T hT).mono h_seg_in |>.comp hg.continuousOn (Set.mapsTo_image _ _)          · exact intervalIntegrable_const          · intro t ht            specialize hf_bound T hT t ht            have h_phi := hC (↑t + I * T) (by simpa using hT) (hab_in (by simpa using ht))            calc ‖f (↑t + I * ↑T)‖              _  (‖Phi_circ ν ε (↑t + I * ↑T)‖ +Phi_star ν ε (↑t + I * ↑T)‖) * ‖E (-(↑t + I * ↑T) * ↑x)‖ := hf_bound              _ = (‖Phi_circ ν ε (↑t + I * ↑T)‖ +Phi_star ν ε (↑t + I * ↑T)‖) * Real.exp (2 * π * x * T) := by                  congr 1; dsimp [E]; rw [Complex.norm_exp]; simp; ring_nf              _  C * (T + 1) * Real.exp (2 * π * x * T) := by                  rw [Complex.add_im ↑t (I * ↑T)] at h_phi                  simpa using mul_le_mul_of_nonneg_right h_phi (Real.exp_nonneg _)      _ = (b - a) * (C * (T + 1) * Real.exp (2 * π * x * T)) := intervalIntegral.integral_const _      _ = (b - a) * C * (T + 1) * Real.exp (2 * π * x * T) := by ring  rw [tendsto_zero_iff_norm_tendsto_zero]  let h_decay :    := fun T'  (b - a) * C * (T' + 1) * rexp (2 * π * x * T')  refine tendsto_of_tendsto_of_tendsto_of_le_of_le' (g := fun _  0) (h := h_decay) tendsto_const_nhds ?_ ?_ ?_  · exact tendsto_T_plus_one_mul_exp_atTop_nhds_zero (by nlinarith [hx, Real.pi_pos]) ((b - a) * C)  · filter_upwards with T'; exact norm_nonneg _  · filter_upwards [Filter.eventually_ge_atTop 1] with T' hT    exact h_int_bound T' hT