All proofs
Project-declaredLean 4.32.0 · mathlib@81a5d257c8e4

Tendsto truncated vertical shift with simple pole

tendsto_truncated_vertical_shift_with_simple_pole

Plain-language statement

Truncated contour shift through a simple pole. The left vertical side stays as the symmetric truncation; only the right vertical side is required to be Bochner integrable.

Exact Lean statement

theorem tendsto_truncated_vertical_shift_with_simple_pole
    {σ σ' : ℝ} {f : ℂ → ℂ} {p A : ℂ} (hσ : σ < p.re ∧ p.re < σ')
    (hf : HolomorphicOn f (Icc σ σ' ×ℂ univ \ {p}))
    (hpole : (f - (fun s ↦ A / (s - p))) =O[𝓝[≠] p] (1 : ℂ → ℂ))
    (hbot : Tendsto (fun (y : ℝ) ↦ ∫ (x : ℝ) in σ..σ', f (x + y * I)) atBot (𝓝 0))
    (htop : Tendsto (fun (y : ℝ) ↦ ∫ (x : ℝ) in σ..σ', f (x + y * I)) atTop (𝓝 0))
    (hright : Integrable (fun (y : ℝ) ↦ f (σ' + y * I))) :
    Tendsto (fun T : ℝ ↦ (1 / (2 * π * I) : ℂ) • VIntegral f σ (-T) T)
      atTop (𝓝 (VerticalIntegral' f σ' - A))

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem tendsto_truncated_vertical_shift_with_simple_pole    {σ σ' : } {f : ℂ  ℂ} {p A : ℂ} (hσ : σ < p.re  p.re < σ')    (hf : HolomorphicOn f (Icc σ σ' ×ℂ univ \ {p}))    (hpole : (f - (fun s  A / (s - p))) =O[𝓝[] p] (1 : ℂ  ℂ))    (hbot : Tendsto (fun (y : )  ∫ (x : ) in σ..σ', f (x + y * I)) atBot (𝓝 0))    (htop : Tendsto (fun (y : )  ∫ (x : ) in σ..σ', f (x + y * I)) atTop (𝓝 0))    (hright : Integrable (fun (y : )  f (σ' + y * I))) :    Tendsto (fun T :   (1 / (2 * π * I) : ℂ) • VIntegral f σ (-T) T)      atTop (𝓝 (VerticalIntegral' f σ' - A)) := by  have hrect : ᶠ T :  in atTop,      RectangleIntegral' f ((σ : ℂ) - I * (T : ℂ)) ((σ' : ℂ) + I * (T : ℂ)) = A := by    filter_upwards [eventually_gt_atTop (|p.im| + 1)] with T hT    have hTabs : |p.im| < T := by linarith    have hTpos : 0 < T := lt_of_le_of_lt (abs_nonneg p.im) hTabs    refine ResidueTheoremOnRectangleWithSimplePole' ?_ ?_ ?_ ?_ hpole    · simp [le_of_lt (hσ.1.trans hσ.2)]    · simp only [sub_im, ofReal_im, mul_im, I_re, zero_mul, I_im, ofReal_re, one_mul,        zero_add, zero_sub, add_im]      linarith    · rw [rectangle_mem_nhds_iff]      simp only [mem_reProdIm, sub_re, ofReal_re, mul_re, I_re, zero_mul, I_im, ofReal_im,        mul_zero, sub_self, sub_zero, add_re, add_zero, sub_im, mul_im, one_mul, zero_add,        zero_sub, add_im]      constructor      · rw [uIoo_of_lt (hσ.1.trans hσ.2)]        exact hσ.1, hσ.2      · rw [uIoo_of_lt (by linarith)]        exact abs_lt.mp hTabs    · refine hf.mono (sdiff_subset_sdiff ?_ subset_rfl)      intro z hz      rw [Rectangle] at hz      simp only [sub_re, ofReal_re, mul_re, I_re, zero_mul, I_im, ofReal_im, mul_zero,        sub_self, sub_zero, add_re, add_zero, uIcc_of_le (le_of_lt (hσ.1.trans hσ.2)),        mem_reProdIm] at hz      exact hz.1, trivial  have hleft_eq : ᶠ T :  in atTop,      (1 / (2 * π * I) : ℂ) • VIntegral f σ (-T) T =        (1 / (2 * π * I) : ℂ) • HIntegral f σ σ' (-T) -          (1 / (2 * π * I) : ℂ) • HIntegral f σ σ' T +          (1 / (2 * π * I) : ℂ) • VIntegral f σ' (-T) T - A := by    filter_upwards [hrect] with T hT    have hT' : (1 / (2 * π * I) : ℂ) •        RectangleIntegral f ((σ : ℂ) - I * (T : ℂ)) ((σ' : ℂ) + I * (T : ℂ)) = A := by      simpa [RectangleIntegral'] using hT    calc      (1 / (2 * π * I) : ℂ) • VIntegral f σ (-T) T          = (1 / (2 * π * I) : ℂ) • HIntegral f σ σ' (-T) -              (1 / (2 * π * I) : ℂ) • HIntegral f σ σ' T +              (1 / (2 * π * I) : ℂ) • VIntegral f σ' (-T) T -              (1 / (2 * π * I) : ℂ) •                RectangleIntegral f ((σ : ℂ) - I * (T : ℂ)) ((σ' : ℂ) + I * (T : ℂ)) := by            simp only [RectangleIntegral, sub_re, ofReal_re, mul_re, I_re, zero_mul, I_im,              ofReal_im, mul_zero, sub_self, sub_zero, sub_im, mul_im, one_mul, zero_add,              zero_sub, add_re, add_zero, add_im]            module      _ = (1 / (2 * π * I) : ℂ) • HIntegral f σ σ' (-T) -              (1 / (2 * π * I) : ℂ) • HIntegral f σ σ' T +              (1 / (2 * π * I) : ℂ) • VIntegral f σ' (-T) T - A := by            rw [hT']  have hbotT :      Tendsto (fun T :   (1 / (2 * π * I) : ℂ) • HIntegral f σ σ' (-T))        atTop (𝓝 0) := by    simpa [HIntegral] using      (hbot.comp tendsto_neg_atTop_atBot).const_smul (1 / (2 * π * I) : ℂ)  have htopT :      Tendsto (fun T :   (1 / (2 * π * I) : ℂ) • HIntegral f σ σ' T)        atTop (𝓝 0) := by    simpa [HIntegral] using htop.const_smul (1 / (2 * π * I) : ℂ)  have hrightT :      Tendsto (fun T :   (1 / (2 * π * I) : ℂ) • VIntegral f σ' (-T) T)        atTop (𝓝 (VerticalIntegral' f σ')) := by    simpa [VIntegral, VerticalIntegral', VerticalIntegral] using      ((intervalIntegral_tendsto_integral hright tendsto_neg_atTop_atBot tendsto_id).const_smul        I).const_smul (1 / (2 * π * I) : ℂ)  have hA : Tendsto (fun _ :  => A) atTop (𝓝 A) := tendsto_const_nhds  have hsum := ((hbotT.sub htopT).add hrightT).sub hA  have hleft_eq_symm := hleft_eq.mono (fun _ hT => hT.symm)  simpa [sub_eq_add_neg, add_assoc] using (hsum.congr' hleft_eq_symm)
Project
Prime Number Theorem and More
License
Apache-2.0
Commit
a93551347dce
Source
PrimeNumberTheoremAnd/PerronFormula.lean:110-187

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