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

laplace_integrand_integrable

PrimeNumberTheoremAnd.IEANTN.KadiriEq12Helpers · PrimeNumberTheoremAnd/IEANTN/KadiriEq12Helpers.lean:176 to 227

Source documentation

The Laplace integrand φ(y)·e^{-σy} is integrable for σ in the convergence strip.

Exact Lean statement

theorem laplace_integrand_integrable {φ : ℝ → ℂ} {b σ : ℝ} (hφ : Continuous φ)
    (hφ_decay : (fun x : ℝ ↦ φ x * Complex.exp ((x:ℂ)/2)) =O[cocompact ℝ]
      fun x ↦ Real.exp (-(1/2+b)*|x|))
    (hσ_top : -(1+b) < σ) (hσ_bot : σ < b) :
    Integrable (fun y : ℝ ↦ φ y * Complex.exp (-(σ:ℂ)*y))

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
theorem laplace_integrand_integrable {φ :   ℂ} {b σ : } (hφ : Continuous φ)    (hφ_decay : (fun x :   φ x * Complex.exp ((x:ℂ)/2)) =O[cocompact ]      fun x  Real.exp (-(1/2+b)*|x|))    (hσ_top : -(1+b) < σ) (hσ_bot : σ < b) :    Integrable (fun y :   φ y * Complex.exp (-(σ:ℂ)*y)) := by  have h_loc : LocallyIntegrable (fun y :   φ y * Complex.exp (-(σ:ℂ)*y)) :=    (hφ.mul (by fun_prop)).locallyIntegrable  have hbig_top : (fun y :   φ y * Complex.exp (-(σ:ℂ)*y)) =O[atTop]      (fun y  Real.exp (-(1+b+σ)*y)) := by    have hφ_top : (fun x :   φ x * Complex.exp ((x:ℂ)/2)) =O[atTop]        fun x  Real.exp (-(1/2+b)*|x|) :=      hφ_decay.mono (by rw [cocompact_eq_atBot_atTop]; exact le_sup_right)    rw [isBigO_iff] at hφ_top     obtain C, hC := hφ_top    refine C, ?_    filter_upwards [hC, eventually_ge_atTop 0] with y hy hy0    rw [show ‖φ y * Complex.exp (-(σ:ℂ)*y)‖ = ‖φ y‖ * Real.exp (-σ*y) by          rw [norm_mul, Complex.norm_exp]; congr 1; simp, Real.norm_eq_abs, abs_of_pos (Real.exp_pos _)]    rw [show ‖φ y * Complex.exp ((y:ℂ)/2)‖ = ‖φ y‖ * Real.exp (y/2) by          rw [norm_mul, Complex.norm_exp]; congr 1; simp,        Real.norm_eq_abs, abs_of_pos (Real.exp_pos _), abs_of_nonneg hy0] at hy    rw [show -σ*y = y/2 + -+1/2)*y by ring, show -(1+b+σ)*y = -(1/2+b)*y + -+1/2)*y by ring,        Real.exp_add, Real.exp_add,  mul_assoc,  mul_assoc]    exact mul_le_mul_of_nonneg_right hy (le_of_lt (Real.exp_pos _))  have hbig_bot : (fun y :   φ y * Complex.exp (-(σ:ℂ)*y)) =O[atBot]      (fun y  Real.exp ((b-σ)*y)) := by    have hφ_bot : (fun x :   φ x * Complex.exp ((x:ℂ)/2)) =O[atBot]        fun x  Real.exp (-(1/2+b)*|x|) :=      hφ_decay.mono (by rw [cocompact_eq_atBot_atTop]; exact le_sup_left)    rw [isBigO_iff] at hφ_bot     obtain C, hC := hφ_bot    refine C, ?_    filter_upwards [hC, eventually_le_atBot 0] with y hy hy0    rw [show ‖φ y * Complex.exp (-(σ:ℂ)*y)‖ = ‖φ y‖ * Real.exp (-σ*y) by          rw [norm_mul, Complex.norm_exp]; congr 1; simp, Real.norm_eq_abs, abs_of_pos (Real.exp_pos _)]    rw [show ‖φ y * Complex.exp ((y:ℂ)/2)‖ = ‖φ y‖ * Real.exp (y/2) by          rw [norm_mul, Complex.norm_exp]; congr 1; simp,        Real.norm_eq_abs, abs_of_pos (Real.exp_pos _), abs_of_nonpos hy0] at hy    rw [show -σ*y = y/2 + (-σ-1/2)*y by ring, show (b-σ)*y = -(1/2+b)*(-y) + (-σ-1/2)*y by ring,        Real.exp_add, Real.exp_add,  mul_assoc,  mul_assoc]    exact mul_le_mul_of_nonneg_right hy (le_of_lt (Real.exp_pos _))  have hint_top : IntegrableAtFilter (fun y :   Real.exp (-(1+b+σ)*y)) atTop volume :=    Ioi 0, Ioi_mem_atTop 0, exp_neg_integrableOn_Ioi 0 (by linarith)  have hint_bot : IntegrableAtFilter (fun y :   Real.exp ((b-σ)*y)) atBot volume := by    have hα : 0 < b - σ := by linarith    have h_top : IntegrableAtFilter (fun y :   Real.exp (-((b-σ)*y))) atTop volume :=      Ioi 0, Ioi_mem_atTop 0, by simpa only [neg_mul] using exp_neg_integrableOn_Ioi 0    rw [ Filter.map_neg_atTop, measurableEmbedding_neg.integrableAtFilter_iff_comap]    have hvol : (volume : Measure ).comap Neg.neg = volume := by      convert! (MeasurableEquiv.neg ).map_symm.symm using 1; simp    rw [hvol, Function.comp_def]; simp only [mul_neg]; exact h_top  exact h_loc.integrable_of_isBigO_atBot_atTop hbig_bot hint_bot hbig_top hint_top