All proofs
Project-declaredLean 4.32.0 · mathlib@81a5d257c8e4

Smoothed Chebyshev Pull2

SmoothedChebyshevPull2

Plain-language statement

For the smoothed Chebyshev integrand F(s)=ζ(s)ζ(s)M(1ε~)(s)Xs,F(s)=-\frac{\zeta'(s)}{\zeta(s)}\,\mathcal M(\widetilde{1_\varepsilon})(s)X^s, the central part of the normalized vertical integral on Res=σ1\operatorname{Re}s=\sigma_1 can be shifted to Res=σ2<σ1\operatorname{Re}s=\sigma_2<\sigma_1. With the project's contour-piece notation, the complete decomposition is I37=I3I4+I5+I6+I7,I_{37}=I_3-I_4+I_5+I_6+I_7, where I3I_3 and I7I_7 are the unchanged tails, I5I_5 is the new central vertical side, and I4,I6I_4,I_6 are the horizontal connectors.

Exact Lean statement

@[blueprint
  (title := "SmoothedChebyshevPull2")
  (statement := /--
  We have that
  $$
  I_{37} =
  I_3 - I_4 + I_5 + I_6 + I_7
  .
  $$
  -/)
  (proof := /-- Mimic the proof of Lemma \ref{SmoothedChebyshevPull1}. -/)
  (latexEnv := "lemma")]
theorem SmoothedChebyshevPull2 {SmoothingF : ℝ → ℝ} {ε : ℝ} (ε_pos : 0 < ε) (ε_lt_one : ε < 1)
    (X : ℝ) (_ : 3 < X)
    {T : ℝ} (T_pos : 3 < T) {σ₁ σ₂ : ℝ}
    (σ₂_pos : 0 < σ₂) (σ₁_lt_one : σ₁ < 1)
    (σ₂_lt_σ₁ : σ₂ < σ₁)
    (holoOn : HolomorphicOn (ζ' / ζ) ((Icc σ₁ 2) ×ℂ (Icc (-T) T) \ {1}))
    (holoOn2 : HolomorphicOn (SmoothedChebyshevIntegrand SmoothingF ε X)
      (Icc σ₂ 2 ×ℂ Icc (-3) 3 \ {1}))
    (suppSmoothingF : Function.support SmoothingF ⊆ Icc (1 / 2) 2)
    (SmoothingFnonneg : ∀ x > 0, 0 ≤ SmoothingF x)
    (mass_one : ∫ x in Ioi 0, SmoothingF x / x = 1)
    (diff_SmoothingF : ContDiff ℝ 1 SmoothingF) :
    I₃₇ SmoothingF ε T X σ₁ =
      I₃ SmoothingF ε T X σ₁ -
      I₄ SmoothingF ε X σ₁ σ₂ +
      I₅ SmoothingF ε X σ₂ +
      I₆ SmoothingF ε X σ₁ σ₂ +
      I₇ SmoothingF ε T X σ₁

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
@[blueprint  (title := "SmoothedChebyshevPull2")  (statement := /--  We have that  $$  I_{37} =  I_3 - I_4 + I_5 + I_6 + I_7  .  $$  -/)  (proof := /-- Mimic the proof of Lemma \ref{SmoothedChebyshevPull1}. -/)  (latexEnv := "lemma")]theorem SmoothedChebyshevPull2 {SmoothingF :   } {ε : } (ε_pos : 0 < ε) (ε_lt_one : ε < 1)    (X : ) (_ : 3 < X)    {T : } (T_pos : 3 < T) {σ₁ σ₂ : }    (σ₂_pos : 0 < σ₂) (σ₁_lt_one : σ₁ < 1)    (σ₂_lt_σ₁ : σ₂ < σ₁)    (holoOn : HolomorphicOn (ζ' / ζ) ((Icc σ₁ 2) ×ℂ (Icc (-T) T) \ {1}))    (holoOn2 : HolomorphicOn (SmoothedChebyshevIntegrand SmoothingF ε X)      (Icc σ₂ 2 ×ℂ Icc (-3) 3 \ {1}))    (suppSmoothingF : Function.support SmoothingF  Icc (1 / 2) 2)    (SmoothingFnonneg :  x > 0, 0  SmoothingF x)    (mass_one : ∫ x in Ioi 0, SmoothingF x / x = 1)    (diff_SmoothingF : ContDiff  1 SmoothingF) :    I₃₇ SmoothingF ε T X σ₁ =      I₃ SmoothingF ε T X σ₁ -      I₄ SmoothingF ε X σ₁ σ₂ +      I₅ SmoothingF ε X σ₂ +      I₆ SmoothingF ε X σ₁ σ₂ +      I₇ SmoothingF ε T X σ₁ := by  let z : ℂ := σ₂ - 3 * I  let w : ℂ := σ₁ + 3 * I  have σ₁_pos : 0 < σ₁ := by linarith  -- Step (1)  -- Show that the Rectangle is in a given subset of holomorphicity  have sub : z.Rectangle w  Icc σ₂ 2 ×ℂ Icc (-3) 3 \ {1} := by    -- for every point x in the Rectangle    intro x hx    constructor    · -- x is in the locus of holomorphicity      simp only [Rectangle, uIcc] at hx      rw [Complex.mem_reProdIm] at hx       obtain hx_re, hx_im := hx      -- the real part of x is in the correct interval      have hzw_re : z.re < w.re := by        simpa [z, w] using σ₂_lt_σ₁      have x_re_bounds : z.re  x.re  x.re  w.re := by        exact interval_membership x.re z.re w.re hx_re hzw_re      have x_re_in_Icc : x.re  Icc σ₂ 2 := by        have h_left, h_right := x_re_bounds        have h_left' : σ₂  x.re := by          simpa [z] using h_left        have h_right' : x.re  2 := by          apply le_trans h_right          have : w.re  2 := by            simp [w]            linarith          exact this        exact h_left', h_right'      -- the imaginary part of x is in the correct interval      have hzw_im : z.im < w.im := by        norm_num [z, w]      have x_im_bounds : z.im  x.im  x.im  w.im := by        exact interval_membership x.im z.im w.im hx_im hzw_im      have x_im_in_Icc : x.im  Icc (-3) 3 := by        have h_left, h_right := x_im_bounds        have h_left' : -3  x.im := by          simpa [z] using h_left        have h_right' : x.im  3 := by          simpa [w] using h_right        exact h_left', h_right'      exact x_re_in_Icc, x_im_in_Icc    -- x is not in {1} by contradiction    · simp only [mem_singleton_iff]      -- x has real part less than 1      have x_re_upper: x.re  σ₁ := by        simp only [Rectangle, uIcc] at hx        rw [Complex.mem_reProdIm] at hx        obtain hx_re, _ := hx        -- the real part of x is in the interval        have hzw_re : z.re < w.re := by          simpa [z, w] using σ₂_lt_σ₁        have x_re_bounds : z.re  x.re  x.re  w.re := by          exact interval_membership x.re z.re w.re hx_re hzw_re        have x_re_upper' : x.re  w.re := x_re_bounds.2        have hw_re : w.re = σ₁ := by simp [w]        linarith      -- by contracdiction      have h_x_ne_one : x  1 := by        intro h_eq        have h_re : x.re = 1 := by rw [h_eq, Complex.one_re]        have h1 : 1  σ₁ := by          rw [ h_re]          exact x_re_upper        linarith      exact h_x_ne_one  have zero_over_box := HolomorphicOn.vanishesOnRectangle holoOn2 sub  have splitting : I₃₇ SmoothingF ε T X σ₁ =    I₃ SmoothingF ε T X σ₁ + I₅ SmoothingF ε X σ₁ + I₇ SmoothingF ε T X σ₁ := by    unfold I₃₇ I₃ I₅ I₇    apply verticalIntegral_split_three_finite'    · apply ContinuousOn.integrableOn_Icc      unfold SmoothedChebyshevIntegrand      apply ContinuousOn.mul      · apply ContinuousOn.mul        · apply SmoothedChebyshevPull2_aux1 σ₁_lt_one holoOn        · apply continuousOn_of_forall_continuousAt          intro t t_mem          have := Smooth1MellinDifferentiable diff_SmoothingF suppSmoothingF ε_pos, ε_lt_one            SmoothingFnonneg mass_one (s := ↑σ₁ + ↑t * I) (by simpa)          simpa using realDiff_of_complexDiff _ this      · apply continuousOn_of_forall_continuousAt        intro t t_mem        apply ContinuousAt.comp        · refine continuousAt_const_cpow' ?_          intro h          have : σ₁ = 0 := by            have h_real : (↑σ₁ + ↑t * I).re = (0 : ℂ).re := by              rw [h]            simp only [add_re, ofReal_re, mul_re, I_re, mul_zero, ofReal_im, I_im, mul_one,              sub_self, add_zero, zero_re] at h_real            exact h_real          linarith        · -- continuity -- failed          apply ContinuousAt.add          · exact continuousAt_const          · apply ContinuousAt.mul            · apply continuous_ofReal.continuousAt            · exact continuousAt_const    · refine by linarith, by linarith, by linarith  calc I₃₇ SmoothingF ε T X σ₁ =        I₃₇ SmoothingF ε T X σ₁ - (1 / (2 * π * I)) * (0 : ℂ) := by simp    _ = I₃₇ SmoothingF ε T X σ₁ - (1 / (2 * π * I)) *        (RectangleIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) z w) := by rw [ zero_over_box]    _ = I₃₇ SmoothingF ε T X σ₁ - (1 / (2 * π * I)) *        (HIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) z.re w.re z.im        - HIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) z.re w.re w.im        + VIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) w.re z.im w.im        - VIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) z.re z.im w.im) := by      simp [RectangleIntegral]    _ = I₃₇ SmoothingF ε T X σ₁ -        ((1 / (2 * π * I)) * HIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) z.re w.re z.im        - (1 / (2 * π * I)) * HIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) z.re w.re w.im        + (1 / (2 * π * I)) * VIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) w.re z.im w.im        - (1 / (2 * π * I)) *            VIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) z.re z.im w.im) := by ring    _ = I₃₇ SmoothingF ε T X σ₁ - (I₄ SmoothingF ε X σ₁ σ₂    - (1 / (2 * π * I)) * HIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) z.re w.re w.im    + (1 / (2 * π * I)) * VIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) w.re z.im w.im    - (1 / (2 * π * I)) * VIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) z.re z.im w.im) := by      simp only [one_div, mul_inv_rev, inv_I, neg_mul, HIntegral, sub_im, ofReal_im, mul_im,        re_ofNat, I_im, mul_one, im_ofNat, I_re, mul_zero, add_zero, zero_sub, ofReal_neg,        ofReal_ofNat, sub_re, ofReal_re, mul_re, sub_self, sub_zero, add_re, add_im, zero_add,        sub_neg_eq_add, I₄, sub_right_inj, add_left_inj, neg_inj, mul_eq_mul_left_iff, mul_eq_zero,        I_ne_zero, inv_eq_zero, ofReal_eq_zero, OfNat.ofNat_ne_zero, or_false, false_or, z, w]      left      rfl    _ = I₃₇ SmoothingF ε T X σ₁ - (I₄ SmoothingF ε X σ₁ σ₂    - I₆ SmoothingF ε X σ₁ σ₂    + (1 / (2 * π * I)) * VIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) w.re z.im w.im    - (1 / (2 * π * I)) * VIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) z.re z.im w.im) := by      simp only [one_div, mul_inv_rev, inv_I, neg_mul, HIntegral, add_im, ofReal_im, mul_im,        re_ofNat, I_im, mul_one, im_ofNat, I_re, mul_zero, add_zero, zero_add, ofReal_ofNat, sub_re,        ofReal_re, mul_re, sub_self, sub_zero, add_re, sub_neg_eq_add, sub_im, zero_sub, I₆, w, z]    _ = I₃₇ SmoothingF ε T X σ₁ - (I₄ SmoothingF ε X σ₁ σ₂    - I₆ SmoothingF ε X σ₁ σ₂    + I₅ SmoothingF ε X σ₁    - (1 / (2 * π * I)) * VIntegral (SmoothedChebyshevIntegrand SmoothingF ε X) z.re z.im w.im) := by      simp only [one_div, mul_inv_rev, inv_I, neg_mul, VIntegral, add_re, ofReal_re, mul_re,        re_ofNat, I_re, mul_zero, im_ofNat, I_im, mul_one, sub_self, add_zero, sub_im, ofReal_im,        mul_im, zero_sub, add_im, zero_add, smul_eq_mul, sub_re, sub_zero, sub_neg_eq_add, I₅,        w, z]    _ = I₃₇ SmoothingF ε T X σ₁ - (I₄ SmoothingF ε X σ₁ σ₂    - I₆ SmoothingF ε X σ₁ σ₂    + I₅ SmoothingF ε X σ₁    - I₅ SmoothingF ε X σ₂) := by      simp only [I₅, one_div, mul_inv_rev, inv_I, neg_mul, VIntegral, sub_re, ofReal_re, mul_re,        re_ofNat, I_re, mul_zero, im_ofNat, I_im, mul_one, sub_self, sub_zero, sub_im, ofReal_im,        mul_im, add_zero, zero_sub, add_im, zero_add, smul_eq_mul, sub_neg_eq_add, z, w]    --- starting from now, we split the integral `I₃₇` into `I₃ σ₂ + I₅ σ₁ + I₇ σ₁` using `verticalIntegral_split_three_finite`    _ = I₃ SmoothingF ε T X σ₁    + I₅ SmoothingF ε X σ₁    + I₇ SmoothingF ε T X σ₁    - (I₄ SmoothingF ε X σ₁ σ₂    - I₆ SmoothingF ε X σ₁ σ₂    + I₅ SmoothingF ε X σ₁    - I₅ SmoothingF ε X σ₂) := by      rw [splitting]    _ = I₃ SmoothingF ε T X σ₁    - I₄ SmoothingF ε X σ₁ σ₂    + I₅ SmoothingF ε X σ₂    + I₆ SmoothingF ε X σ₁ σ₂    + I₇ SmoothingF ε T X σ₁ := by      ring
Project
Prime Number Theorem and More
License
Apache-2.0
Commit
a93551347dce
Source
PrimeNumberTheoremAnd/MediumPNT.lean:1370-1563

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.32.0

Admissible bound mono

admissible_bound.mono

Plain-language statement

For positive parameters A,B,C,RA,B,C,R, the classical error-bound function A(logxR)Bexp ⁣(ClogxR)A\left(\frac{\log x}{R}\right)^B\exp\!\left(-C\sqrt{\frac{\log x}{R}}\right) is nonincreasing once xexp ⁣(R(2B/C)2)x\ge \exp\!\left(R(2B/C)^2\right).

analytic number theoryprime numbersasymptotics

Source project: Prime Number Theorem and More

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Analytic On div Removable zero

AnalyticOn_divRemovable_zero

Plain-language statement

Let ff be analytic on an open set ss containing 00, and suppose f(0)=0f(0)=0. Define g(z)=f(z)/zg(z)=f(z)/z for z0z\ne0 and g(0)=f(0)g(0)=f'(0). Then the apparent singularity at 00 is removable and gg is analytic throughout ss.

analytic number theoryprime numbersasymptotics

Source project: Prime Number Theorem and More

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Analytic On div Removable zero closed Ball

AnalyticOn_divRemovable_zero_closedBall

Plain-language statement

Suppose R>0R>0 and ff is analytic on the closed disc zR|z|\le R with f(0)=0f(0)=0. Define g(z)=f(z)/zg(z)=f(z)/z for z0z\ne0 and g(0)=f(0)g(0)=f'(0). Then gg is analytic on the entire closed disc, including at the removed singularity.

analytic number theoryprime numbersasymptotics

Source project: Prime Number Theorem and More

Person-level attribution pending.

View proof record