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

norm_error_integral_le

PrimeNumberTheoremAnd.Wiener · PrimeNumberTheoremAnd/Wiener.lean:3329 to 3385

Mathematical statement

Exact Lean statement

lemma norm_error_integral_le
    (ψ : ℝ → ℂ) (x K : ℝ)
    (hGline_meas : Measurable (fun t : ℝ => G (1 + t * I)))
    (hψ_meas : AEStronglyMeasurable ψ)
    (hx : 0 < x)
    (hK : ∀ t : ℝ, t ∈ Function.support ψ → ‖G (1 + t * Complex.I)‖ ≤ K)
    (hψ : Integrable (fun t : ℝ => ‖ψ t‖) ) :
    ‖∫ t : ℝ, (G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))‖
      ≤ K * (∫ t : ℝ, ‖ψ t‖)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma norm_error_integral_le    (ψ :   ℂ) (x K : )    (hGline_meas : Measurable (fun t :  => G (1 + t * I)))    (hψ_meas : AEStronglyMeasurable ψ)    (hx : 0 < x)    (hK :  t : , t  Function.support ψ  ‖G (1 + t * Complex.I)‖  K)    (hψ : Integrable (fun t :  => ‖ψ t‖) ) :    ‖∫ t : , (G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))‖       K * (∫ t : , ‖ψ t‖) := by  have h1 : ‖∫ t : , (G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))‖         ∫ t : , ‖(G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))‖ := by    simpa using (norm_integral_le_integral_norm        (f := fun t :  => (G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))))  have hmeas_main : AEStronglyMeasurable        (fun t :  => (G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))) := by    have hG' : AEMeasurable fun t :  => G (1 + t * Complex.I) := hGline_meas.aemeasurable    have hψ_meas' : AEMeasurable ψ := hψ_meas.aemeasurable    have hx_ne : (x : ℂ)  0 := by exact_mod_cast (ne_of_gt hx)    haveI hx_ne' : NeZero (x : ℂ) := hx_ne    have hxpow_meas : AEMeasurable fun t :  => ((x : ℂ) ^ (t * Complex.I)) := by      have hcontℂ : Continuous fun z : ℂ => ((x : ℂ) ^ z) :=        continuous_const_cpow (z := (x : ℂ))      have hcont : Continuous fun t :  => ((x : ℂ) ^ ((t : ℂ) * Complex.I)) :=        hcontℂ.comp (by          have h : Continuous fun t :  => (t : ℂ) * Complex.I := by            simpa using! (continuous_ofReal.mul continuous_const)          simpa [mul_comm] using h)      exact hcont.measurable.aemeasurable    have hGψ_meas : AEMeasurable fun t :  => (G (1 + t * Complex.I)) * (ψ t) := hG'.mul hψ_meas'    have htotal : AEMeasurable (fun t :  =>            (G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))) :=      hGψ_meas.mul hxpow_meas    exact htotal.aestronglyMeasurable  have hpt : (fun t :  =>          ‖(G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))‖)        ᵐ[volume] (fun t :  => K * ‖ψ t‖) := by    refine Eventually.of_forall ?_    intro t    exact norm_integrand_le_K_mul_norm_psi (hx := hx) (hK := hK) t  have hR : Integrable (fun t :  => K * ‖ψ t‖) := hψ.const_mul K  have hL : Integrable (fun t :  =>        ‖(G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))‖) := by      have hpt_norm :          (fun t :  => ‖‖(G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))‖‖)            ᵐ[volume] (fun t :  => K * ‖ψ t‖) := hpt.mono (by          intro t ht          simpa [norm_mul, mul_comm, mul_left_comm, mul_assoc] using ht)      exact hR.mono' hmeas_main.norm hpt_norm  have h2 : (∫ t : , ‖(G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))‖)         ∫ t : , K * ‖ψ t‖ := integral_mono_ae (μ := (volume : Measure )) hL hR hpt  have h3 : (∫ t : , K * ‖ψ t‖) = K * (∫ t : , ‖ψ t‖) := by    simp [integral_const_mul]  calc    ‖∫ t : , (G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))‖         ∫ t : , ‖(G (1 + t * Complex.I)) * (ψ t) * ((x : ℂ) ^ (t * Complex.I))‖ := h1    _    ∫ t : , K * ‖ψ t‖ := h2    _   = K * (∫ t : , ‖ψ t‖) := h3