Hardy zeta

11.15. HardyZeta.ThetaContour🔗

def thetaFourierIntegrand (t : ℝ) (z : ℂ) : ℂ := exp (-I * (t : ℂ) * z) * thetaLogKernel ztheorem norm_thetaFourierIntegrand (t : ℝ) (z : ℂ) : ‖thetaFourierIntegrand t z‖ = Real.exp (t * z.im) * ‖thetaLogKernel z‖ := t:ℝz:ℂ⊢ ‖thetaFourierIntegrand t z‖ = Real.exp (t * z.im) * ‖thetaLogKernel z‖ All goals completed! 🐙theorem differentiableAt_thetaFourierIntegrand (t : ℝ) {z : ℂ} (hz : |z.im| < Real.pi / 2) : DifferentiableAt ℂ (thetaFourierIntegrand t) z := t:ℝz:ℂhz:|z.im| < Real.pi / 2⊢ DifferentiableAt ℂ (thetaFourierIntegrand t) z t:ℝz:ℂhz:|z.im| < Real.pi / 2h:DifferentiableAt ℂ thetaLogKernel z⊢ DifferentiableAt ℂ (thetaFourierIntegrand t) z t:ℝz:ℂhz:|z.im| < Real.pi / 2h:DifferentiableAt ℂ thetaLogKernel z⊢ DifferentiableAt ℂ (fun z => cexp (-I * ↑t * z) * thetaLogKernel z) z All goals completed! 🐙theorem integrable_thetaFourierIntegrand_horizontal (t : ℝ) {b : ℝ} (hb : |b| < Real.pi / 2) : Integrable (fun u : ℝ ↦ thetaFourierIntegrand t ((u : ℂ) + b * I)) := t:ℝb:ℝhb:|b| < Real.pi / 2⊢ Integrable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volume t:ℝb:ℝhb:|b| < Real.pi / 2h:Integrable (fun x => Real.exp (t * b) * ‖thetaLogKernel (↑x + ↑b * I)‖) volume⊢ Integrable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volume t:ℝb:ℝhb:|b| < Real.pi / 2h:Integrable (fun x => Real.exp (t * b) * ‖thetaLogKernel (↑x + ↑b * I)‖) volume⊢ AEStronglyMeasurable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volumet:ℝb:ℝhb:|b| < Real.pi / 2h:Integrable (fun x => Real.exp (t * b) * ‖thetaLogKernel (↑x + ↑b * I)‖) volume⊢ ∀ᵐ (a : ℝ), ‖thetaFourierIntegrand t (↑a + ↑b * I)‖ ≤ Real.exp (t * b) * ‖thetaLogKernel (↑a + ↑b * I)‖ t:ℝb:ℝhb:|b| < Real.pi / 2h:Integrable (fun x => Real.exp (t * b) * ‖thetaLogKernel (↑x + ↑b * I)‖) volume⊢ AEStronglyMeasurable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volume t:ℝb:ℝhb:|b| < Real.pi / 2h:Integrable (fun x => Real.exp (t * b) * ‖thetaLogKernel (↑x + ↑b * I)‖) volume⊢ Continuous fun u => thetaFourierIntegrand t (↑u + ↑b * I) t:ℝb:ℝhb:|b| < Real.pi / 2h:Integrable (fun x => Real.exp (t * b) * ‖thetaLogKernel (↑x + ↑b * I)‖) volume⊢ ∀ (x : ℝ), ContinuousAt (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) x t:ℝb:ℝhb:|b| < Real.pi / 2h:Integrable (fun x => Real.exp (t * b) * ‖thetaLogKernel (↑x + ↑b * I)‖) volumeu:ℝ⊢ ContinuousAt (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) u apply (differentiableAt_thetaFourierIntegrand t (t:ℝb:ℝhb:|b| < Real.pi / 2h:Integrable (fun x => Real.exp (t * b) * ‖thetaLogKernel (↑x + ↑b * I)‖) volumeu:ℝ⊢ |(↑u + ↑b * I).im| < Real.pi / 2 All goals completed! 🐙)).continuousAt.comp All goals completed! 🐙 t:ℝb:ℝhb:|b| < Real.pi / 2h:Integrable (fun x => Real.exp (t * b) * ‖thetaLogKernel (↑x + ↑b * I)‖) volume⊢ ∀ᵐ (a : ℝ), ‖thetaFourierIntegrand t (↑a + ↑b * I)‖ ≤ Real.exp (t * b) * ‖thetaLogKernel (↑a + ↑b * I)‖ t:ℝb:ℝhb:|b| < Real.pi / 2h:Integrable (fun x => Real.exp (t * b) * ‖thetaLogKernel (↑x + ↑b * I)‖) volumeu:ℝ⊢ ‖thetaFourierIntegrand t (↑u + ↑b * I)‖ ≤ Real.exp (t * b) * ‖thetaLogKernel (↑u + ↑b * I)‖ All goals completed! 🐙theorem norm_thetaFourierIntegrand_le (t : ℝ) {b T y : ℝ} (hb : b < Real.pi / 2) (hy : |y| ≤ b) : ‖thetaFourierIntegrand t ((T : ℂ) + y * I)‖ ≤ Real.exp (|t| * b) * thetaStripConstant b * Real.exp (-|T| / 4) := t:ℝb:ℝT:ℝy:ℝhb:b < Real.pi / 2hy:|y| ≤ b⊢ ‖thetaFourierIntegrand t (↑T + ↑y * I)‖ ≤ Real.exp (|t| * b) * thetaStripConstant b * Real.exp (-|T| / 4) t:ℝb:ℝT:ℝy:ℝhb:b < Real.pi / 2hy:|y| ≤ bhk:‖thetaLogKernel (↑T + ↑y * I)‖ ≤ thetaStripConstant b * Real.exp (-|(↑T + ↑y * I).re| / 4)⊢ ‖thetaFourierIntegrand t (↑T + ↑y * I)‖ ≤ Real.exp (|t| * b) * thetaStripConstant b * Real.exp (-|T| / 4) t:ℝb:ℝT:ℝy:ℝhb:b < Real.pi / 2hy:|y| ≤ bhk:‖thetaLogKernel (↑T + ↑y * I)‖ ≤ thetaStripConstant b * Real.exp (-|(↑T + ↑y * I).re| / 4)he:Real.exp (t * y) ≤ Real.exp (|t| * b)⊢ ‖thetaFourierIntegrand t (↑T + ↑y * I)‖ ≤ Real.exp (|t| * b) * thetaStripConstant b * Real.exp (-|T| / 4) t:ℝb:ℝT:ℝy:ℝhb:b < Real.pi / 2hy:|y| ≤ bhk:‖thetaLogKernel (↑T + ↑y * I)‖ ≤ thetaStripConstant b * Real.exp (-|(↑T + ↑y * I).re| / 4)he:Real.exp (t * y) ≤ Real.exp (|t| * b)⊢ Real.exp (t * (↑T + ↑y * I).im) * ‖thetaLogKernel (↑T + ↑y * I)‖ ≤ Real.exp (|t| * b) * thetaStripConstant b * Real.exp (-|T| / 4) t:ℝb:ℝT:ℝy:ℝhb:b < Real.pi / 2hy:|y| ≤ bhe:Real.exp (t * y) ≤ Real.exp (|t| * b)hk:‖thetaLogKernel (↑T + ↑y * I)‖ ≤ thetaStripConstant b * Real.exp (-|T| / 4)⊢ Real.exp (t * y) * ‖thetaLogKernel (↑T + ↑y * I)‖ ≤ Real.exp (|t| * b) * thetaStripConstant b * Real.exp (-|T| / 4) calc Real.exp (t * y) * ‖thetaLogKernel ((T : ℂ) + y * I)‖ ≤ Real.exp (|t| * b) * ‖thetaLogKernel ((T : ℂ) + y * I)‖ := mul_le_mul_of_nonneg_right he (norm_nonneg _) _ ≤ Real.exp (|t| * b) * (thetaStripConstant b * Real.exp (-|T| / 4)) := mul_le_mul_of_nonneg_left hk (Real.exp_pos _).le _ = _ := t:ℝb:ℝT:ℝy:ℝhb:b < Real.pi / 2hy:|y| ≤ bhe:Real.exp (t * y) ≤ Real.exp (|t| * b)hk:‖thetaLogKernel (↑T + ↑y * I)‖ ≤ thetaStripConstant b * Real.exp (-|T| / 4)⊢ Real.exp (|t| * b) * (thetaStripConstant b * Real.exp (-|T| / 4)) = Real.exp (|t| * b) * thetaStripConstant b * Real.exp (-|T| / 4) All goals completed! 🐙theorem norm_theta_verticalIntegral_le (t : ℝ) {b : ℝ} (hb : |b| < Real.pi / 2) (T : ℝ) : ‖∫ y : ℝ in (0 : ℝ)..b, thetaFourierIntegrand t ((T : ℂ) + y * I)‖ ≤ |b| * (Real.exp (|t| * |b|) * thetaStripConstant |b|) * Real.exp (-|T| / 4) := t:ℝb:ℝhb:|b| < Real.pi / 2T:ℝ⊢ ‖∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑T + ↑y * I)‖ ≤ |b| * (Real.exp (|t| * |b|) * thetaStripConstant |b|) * Real.exp (-|T| / 4) t:ℝb:ℝhb:|b| < Real.pi / 2T:ℝh:‖∫ (x : ℝ) in 0..b, thetaFourierIntegrand t (↑T + ↑x * I)‖ ≤ Real.exp (|t| * |b|) * thetaStripConstant |b| * Real.exp (-|T| / 4) * |b - 0|⊢ ‖∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑T + ↑y * I)‖ ≤ |b| * (Real.exp (|t| * |b|) * thetaStripConstant |b|) * Real.exp (-|T| / 4) All goals completed! 🐙theorem tendsto_theta_verticalIntegral (t : ℝ) {b : ℝ} (hb : |b| < Real.pi / 2) (ε : ℝ) (hε : |ε| = 1) : Tendsto (fun T : ℝ ↦ ∫ y : ℝ in (0 : ℝ)..b, thetaFourierIntegrand t (((ε * T : ℝ) : ℂ) + y * I)) atTop (𝓝 0) := t:ℝb:ℝhb:|b| < Real.pi / 2ε:ℝhε:|ε| = 1⊢ Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(ε * T) + ↑y * I)) atTop (𝓝 0) t:ℝb:ℝhb:|b| < Real.pi / 2ε:ℝhε:|ε| = 1hl:Tendsto (fun T => Real.exp (-|T| / 4)) atTop (𝓝 0)⊢ Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(ε * T) + ↑y * I)) atTop (𝓝 0) t:ℝb:ℝhb:|b| < Real.pi / 2ε:ℝhε:|ε| = 1hl:Tendsto (fun T => Real.exp (-|T| / 4)) atTop (𝓝 0)hbnd:Tendsto (fun x => |b| * (Real.exp (|t| * |b|) * thetaStripConstant |b|) * Real.exp (-|x| / 4)) atTop (𝓝 (|b| * (Real.exp (|t| * |b|) * thetaStripConstant |b|) * 0))⊢ Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(ε * T) + ↑y * I)) atTop (𝓝 0) apply squeeze_zero_norm' _ (t:ℝb:ℝhb:|b| < Real.pi / 2ε:ℝhε:|ε| = 1hl:Tendsto (fun T => Real.exp (-|T| / 4)) atTop (𝓝 0)hbnd:Tendsto (fun x => |b| * (Real.exp (|t| * |b|) * thetaStripConstant |b|) * Real.exp (-|x| / 4)) atTop (𝓝 (|b| * (Real.exp (|t| * |b|) * thetaStripConstant |b|) * 0))⊢ Tendsto ?m.164 atTop (𝓝 0) All goals completed! 🐙) t:ℝb:ℝhb:|b| < Real.pi / 2ε:ℝhε:|ε| = 1hl:Tendsto (fun T => Real.exp (-|T| / 4)) atTop (𝓝 0)hbnd:Tendsto (fun x => |b| * (Real.exp (|t| * |b|) * thetaStripConstant |b|) * Real.exp (-|x| / 4)) atTop (𝓝 (|b| * (Real.exp (|t| * |b|) * thetaStripConstant |b|) * 0))T:ℝ⊢ ‖∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(ε * T) + ↑y * I)‖ ≤ |b| * (Real.exp (|t| * |b|) * thetaStripConstant |b|) * Real.exp (-|T| / 4) All goals completed! 🐙 /-- Moving the Fourier integral to an interior horizontal line is justified by Cauchy's theorem and vanishing vertical edges. -/theorem thetaFourierIntegral_shift (t : ℝ) {b : ℝ} (hb : |b| < Real.pi / 2) : (∫ u : ℝ, thetaFourierIntegrand t (u : ℂ)) = ∫ u : ℝ, thetaFourierIntegrand t ((u : ℂ) + b * I) := t:ℝb:ℝhb:|b| < Real.pi / 2⊢ ∫ (u : ℝ), thetaFourierIntegrand t ↑u = ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) t:ℝb:ℝhb:|b| < Real.pi / 2hi0:Integrable (fun u => thetaFourierIntegrand t ↑u) volume⊢ ∫ (u : ℝ), thetaFourierIntegrand t ↑u = ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) t:ℝb:ℝhb:|b| < Real.pi / 2hi0:Integrable (fun u => thetaFourierIntegrand t ↑u) volumehib:Integrable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volume⊢ ∫ (u : ℝ), thetaFourierIntegrand t ↑u = ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) t:ℝb:ℝhb:|b| < Real.pi / 2hi0:Integrable (fun u => thetaFourierIntegrand t ↑u) volumehib:Integrable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volumeh0:Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t ↑x) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t ↑x ∂volume))⊢ ∫ (u : ℝ), thetaFourierIntegrand t ↑u = ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) t:ℝb:ℝhb:|b| < Real.pi / 2hi0:Integrable (fun u => thetaFourierIntegrand t ↑u) volumehib:Integrable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volumeh0:Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t ↑x) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t ↑x ∂volume))hb':Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t (↑x + ↑b * I)) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t (↑x + ↑b * I) ∂volume))⊢ ∫ (u : ℝ), thetaFourierIntegrand t ↑u = ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) t:ℝb:ℝhb:|b| < Real.pi / 2hi0:Integrable (fun u => thetaFourierIntegrand t ↑u) volumehib:Integrable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volumeh0:Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t ↑x) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t ↑x ∂volume))hb':Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t (↑x + ↑b * I)) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t (↑x + ↑b * I) ∂volume))hp:Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(1 * T) + ↑y * I)) atTop (𝓝 0)⊢ ∫ (u : ℝ), thetaFourierIntegrand t ↑u = ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) t:ℝb:ℝhb:|b| < Real.pi / 2hi0:Integrable (fun u => thetaFourierIntegrand t ↑u) volumehib:Integrable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volumeh0:Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t ↑x) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t ↑x ∂volume))hb':Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t (↑x + ↑b * I)) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t (↑x + ↑b * I) ∂volume))hp:Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(1 * T) + ↑y * I)) atTop (𝓝 0)hm:Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(-1 * T) + ↑y * I)) atTop (𝓝 0)⊢ ∫ (u : ℝ), thetaFourierIntegrand t ↑u = ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) t:ℝb:ℝhb:|b| < Real.pi / 2hi0:Integrable (fun u => thetaFourierIntegrand t ↑u) volumehib:Integrable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volumeh0:Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t ↑x) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t ↑x ∂volume))hb':Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t (↑x + ↑b * I)) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t (↑x + ↑b * I) ∂volume))hp:Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(1 * T) + ↑y * I)) atTop (𝓝 0)hm:Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(-1 * T) + ↑y * I)) atTop (𝓝 0)hrect:∀ (T : ℝ), (((∫ (x : ℝ) in -T..T, thetaFourierIntegrand t ↑x) - ∫ (x : ℝ) in -T..T, thetaFourierIntegrand t (↑x + ↑b * I)) + I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑T + ↑y * I)) - I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (-↑T + ↑y * I) = 0⊢ ∫ (u : ℝ), thetaFourierIntegrand t ↑u = ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) t:ℝb:ℝhb:|b| < Real.pi / 2hi0:Integrable (fun u => thetaFourierIntegrand t ↑u) volumehib:Integrable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volumeh0:Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t ↑x) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t ↑x ∂volume))hb':Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t (↑x + ↑b * I)) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t (↑x + ↑b * I) ∂volume))hp:Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(1 * T) + ↑y * I)) atTop (𝓝 0)hm:Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(-1 * T) + ↑y * I)) atTop (𝓝 0)hrect:∀ (T : ℝ), (((∫ (x : ℝ) in -T..T, thetaFourierIntegrand t ↑x) - ∫ (x : ℝ) in -T..T, thetaFourierIntegrand t (↑x + ↑b * I)) + I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑T + ↑y * I)) - I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (-↑T + ↑y * I) = 0hlim:Tendsto (fun x => (((∫ (x : ℝ) in -x..id x, thetaFourierIntegrand t ↑x) - ∫ (x : ℝ) in -x..id x, thetaFourierIntegrand t (↑x + ↑b * I)) + I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(1 * x) + ↑y * I)) - I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(-1 * x) + ↑y * I)) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t ↑x ∂volume - ∫ (x : ℝ), thetaFourierIntegrand t (↑x + ↑b * I) ∂volume + I * 0 - I * 0))⊢ ∫ (u : ℝ), thetaFourierIntegrand t ↑u = ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) t:ℝb:ℝhb:|b| < Real.pi / 2hi0:Integrable (fun u => thetaFourierIntegrand t ↑u) volumehib:Integrable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volumeh0:Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t ↑x) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t ↑x ∂volume))hb':Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t (↑x + ↑b * I)) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t (↑x + ↑b * I) ∂volume))hp:Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(1 * T) + ↑y * I)) atTop (𝓝 0)hm:Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(-1 * T) + ↑y * I)) atTop (𝓝 0)hrect:∀ (T : ℝ), (((∫ (x : ℝ) in -T..T, thetaFourierIntegrand t ↑x) - ∫ (x : ℝ) in -T..T, thetaFourierIntegrand t (↑x + ↑b * I)) + I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑T + ↑y * I)) - I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (-↑T + ↑y * I) = 0hlim:Tendsto (fun x => (((∫ (x : ℝ) in -x..id x, thetaFourierIntegrand t ↑x) - ∫ (x : ℝ) in -x..id x, thetaFourierIntegrand t (↑x + ↑b * I)) + I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑x + ↑y * I)) - I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (-↑x + ↑y * I)) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t ↑x ∂volume - ∫ (x : ℝ), thetaFourierIntegrand t (↑x + ↑b * I) ∂volume))⊢ ∫ (u : ℝ), thetaFourierIntegrand t ↑u = ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) t:ℝb:ℝhb:|b| < Real.pi / 2hi0:Integrable (fun u => thetaFourierIntegrand t ↑u) volumehib:Integrable (fun u => thetaFourierIntegrand t (↑u + ↑b * I)) volumeh0:Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t ↑x) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t ↑x ∂volume))hb':Tendsto (fun i => ∫ (x : ℝ) in -i..id i, thetaFourierIntegrand t (↑x + ↑b * I)) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t (↑x + ↑b * I) ∂volume))hp:Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(1 * T) + ↑y * I)) atTop (𝓝 0)hm:Tendsto (fun T => ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑(-1 * T) + ↑y * I)) atTop (𝓝 0)hrect:∀ (T : ℝ), (((∫ (x : ℝ) in -T..T, thetaFourierIntegrand t ↑x) - ∫ (x : ℝ) in -T..T, thetaFourierIntegrand t (↑x + ↑b * I)) + I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑T + ↑y * I)) - I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (-↑T + ↑y * I) = 0hlim:Tendsto (fun x => (((∫ (x : ℝ) in -x..id x, thetaFourierIntegrand t ↑x) - ∫ (x : ℝ) in -x..id x, thetaFourierIntegrand t (↑x + ↑b * I)) + I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (↑x + ↑y * I)) - I * ∫ (y : ℝ) in 0..b, thetaFourierIntegrand t (-↑x + ↑y * I)) atTop (𝓝 (∫ (x : ℝ), thetaFourierIntegrand t ↑x ∂volume - ∫ (x : ℝ), thetaFourierIntegrand t (↑x + ↑b * I) ∂volume))heq:(∫ (u : ℝ), thetaFourierIntegrand t ↑u) - ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) = 0⊢ ∫ (u : ℝ), thetaFourierIntegrand t ↑u = ∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I) All goals completed! 🐙 /-- The L¹ mass on a horizontal line is a finite real constant. -/def thetaHorizontalMass (b : ℝ) : ℝ := ∫ u : ℝ, ‖thetaLogKernel ((u : ℂ) + b * I)‖theorem thetaHorizontalMass_nonneg (b : ℝ) : 0 ≤ thetaHorizontalMass b := integral_nonneg fun _ ↦ norm_nonneg _theorem norm_thetaFourierIntegral_le (t : ℝ) {b : ℝ} (hb : |b| < Real.pi / 2) : ‖∫ u : ℝ, thetaFourierIntegrand t (u : ℂ)‖ ≤ Real.exp (t * b) * thetaHorizontalMass b := t:ℝb:ℝhb:|b| < Real.pi / 2⊢ ‖∫ (u : ℝ), thetaFourierIntegrand t ↑u‖ ≤ Real.exp (t * b) * thetaHorizontalMass b t:ℝb:ℝhb:|b| < Real.pi / 2⊢ ‖∫ (u : ℝ), thetaFourierIntegrand t (↑u + ↑b * I)‖ ≤ Real.exp (t * b) * thetaHorizontalMass b t:ℝb:ℝhb:|b| < Real.pi / 2⊢ ∫ (a : ℝ), ‖thetaFourierIntegrand t (↑a + ↑b * I)‖ = Real.exp (t * b) * thetaHorizontalMass b All goals completed! 🐙theorem completedZeta_eq_thetaFourierIntegral (t : ℝ) : completedRiemannZeta (criticalPoint t) = (∫ u : ℝ, thetaFourierIntegrand (t / 2) (u : ℂ)) / 2 := t:ℝ⊢ completedRiemannZeta (criticalPoint t) = (∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u) / 2 t:ℝ⊢ (∫ (v : ℝ), cexp (↑(-2 * Real.pi * inner ℝ v (t / (4 * Real.pi))) * I) • thetaLogKernel ↑v) / 2 = (∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u) / 2 t:ℝ⊢ ∫ (v : ℝ), cexp (↑(-2 * Real.pi * inner ℝ v (t / (4 * Real.pi))) * I) • thetaLogKernel ↑v = ∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u t:ℝ⊢ (fun a => cexp (↑(-2 * Real.pi * inner ℝ a (t / (4 * Real.pi))) * I) • thetaLogKernel ↑a) =ᵐ[volume] fun a => thetaFourierIntegrand (t / 2) ↑a t:ℝu:ℝ⊢ cexp (↑(-2 * Real.pi * inner ℝ u (t / (4 * Real.pi))) * I) • thetaLogKernel ↑u = thetaFourierIntegrand (t / 2) ↑u t:ℝu:ℝ⊢ cexp (↑(-2 * Real.pi * inner ℝ u (t / (4 * Real.pi))) * I) • thetaLogKernel ↑u = cexp (-I * ↑(t / 2) * ↑u) * thetaLogKernel ↑u t:ℝu:ℝ⊢ cexp (↑(-2 * Real.pi * inner ℝ u (t / (4 * Real.pi))) * I) * thetaLogKernel ↑u = cexp (-I * ↑(t / 2) * ↑u) * thetaLogKernel ↑u t:ℝu:ℝ⊢ ↑(-2 * Real.pi * inner ℝ u (t / (4 * Real.pi))) * I = -I * ↑(t / 2) * ↑u t:ℝu:ℝ⊢ ↑(-2 * Real.pi * (t / (4 * Real.pi) * u)) * I = -I * ↑(t / 2) * ↑u t:ℝu:ℝ⊢ -2 * ↑Real.pi * (↑t / (4 * ↑Real.pi) * ↑u) * I = -I * (↑t / 2) * ↑u t:ℝu:ℝ⊢ -(2 ^ 2 * ↑t * ↑u) = -(↑t * 4 * ↑u) All goals completed! 🐙 /-- Exponential decay of the actual completed zeta on the positive critical line. -/theorem norm_completedZeta_critical_le {a : ℝ} (ha : 0 < a) (ha' : a < Real.pi / 4) (t : ℝ) : ‖completedRiemannZeta (criticalPoint t)‖ ≤ (thetaHorizontalMass (-2 * a) / 2) * Real.exp (-a * t) := a:ℝha:0 < aha':a < Real.pi / 4t:ℝ⊢ ‖completedRiemannZeta (criticalPoint t)‖ ≤ thetaHorizontalMass (-2 * a) / 2 * Real.exp (-a * t) a:ℝha:0 < aha':a < Real.pi / 4t:ℝhb:|-2 * a| < Real.pi / 2⊢ ‖completedRiemannZeta (criticalPoint t)‖ ≤ thetaHorizontalMass (-2 * a) / 2 * Real.exp (-a * t) a:ℝha:0 < aha':a < Real.pi / 4t:ℝhb:|-2 * a| < Real.pi / 2h:‖∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u‖ ≤ Real.exp (t / 2 * (-2 * a)) * thetaHorizontalMass (-2 * a)⊢ ‖completedRiemannZeta (criticalPoint t)‖ ≤ thetaHorizontalMass (-2 * a) / 2 * Real.exp (-a * t) a:ℝha:0 < aha':a < Real.pi / 4t:ℝhb:|-2 * a| < Real.pi / 2h:‖∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u‖ ≤ Real.exp (t / 2 * (-2 * a)) * thetaHorizontalMass (-2 * a)⊢ ‖∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u‖ / ‖2‖ ≤ thetaHorizontalMass (-2 * a) / 2 * Real.exp (-a * t) a:ℝha:0 < aha':a < Real.pi / 4t:ℝhb:|-2 * a| < Real.pi / 2h:‖∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u‖ ≤ Real.exp (t / 2 * (-2 * a)) * thetaHorizontalMass (-2 * a)⊢ ‖∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u‖ / 2 ≤ thetaHorizontalMass (-2 * a) / 2 * Real.exp (-a * t) a:ℝha:0 < aha':a < Real.pi / 4t:ℝhb:|-2 * a| < Real.pi / 2h:‖∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u‖ ≤ Real.exp (t / 2 * (-2 * a)) * thetaHorizontalMass (-2 * a)he:t / 2 * (-2 * a) = -a * t⊢ ‖∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u‖ / 2 ≤ thetaHorizontalMass (-2 * a) / 2 * Real.exp (-a * t) a:ℝha:0 < aha':a < Real.pi / 4t:ℝhb:|-2 * a| < Real.pi / 2h:‖∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u‖ ≤ Real.exp (-a * t) * thetaHorizontalMass (-2 * a)he:t / 2 * (-2 * a) = -a * t⊢ ‖∫ (u : ℝ), thetaFourierIntegrand (t / 2) ↑u‖ / 2 ≤ thetaHorizontalMass (-2 * a) / 2 * Real.exp (-a * t) All goals completed! 🐙