11.18. HardyZeta.ThetaInversion
theorem fourier_theta_horizontal_eq_integral (b w : ℝ) :
𝓕 (fun u : ℝ ↦ thetaLogKernel ((u : ℂ) + b * I)) w =
∫ u : ℝ, exp (-I * (2 * Real.pi * w : ℝ) * (u : ℂ)) *
thetaLogKernel ((u : ℂ) + b * I) := b:ℝw:ℝ⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w =
∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel (↑u + ↑b * I)
b:ℝw:ℝ⊢ ∫ (v : ℝ), cexp (↑(-2 * Real.pi * inner ℝ v w) * I) • thetaLogKernel (↑v + ↑b * I) =
∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel (↑u + ↑b * I)
apply integral_congr_ae b:ℝw:ℝ⊢ (fun a => cexp (↑(-2 * Real.pi * inner ℝ a w) * I) • thetaLogKernel (↑a + ↑b * I)) =ᵐ[volume] fun a =>
cexp (-I * ↑(2 * Real.pi * w) * ↑a) * thetaLogKernel (↑a + ↑b * I)
filter_upwards with u b:ℝw:ℝu:ℝ⊢ cexp (↑(-2 * Real.pi * inner ℝ u w) * I) • thetaLogKernel (↑u + ↑b * I) =
cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel (↑u + ↑b * I)
simp only [RCLike.inner_apply, conj_trivial, smul_eq_mul] b:ℝw:ℝu:ℝ⊢ cexp (↑(-2 * Real.pi * (w * u)) * I) * thetaLogKernel (↑u + ↑b * I) =
cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel (↑u + ↑b * I)
congr 2 e_a b:ℝw:ℝu:ℝ⊢ ↑(-2 * Real.pi * (w * u)) * I = -I * ↑(2 * Real.pi * w) * ↑u
push_cast e_a b:ℝw:ℝu:ℝ⊢ -2 * ↑Real.pi * (↑w * ↑u) * I = -I * (2 * ↑Real.pi * ↑w) * ↑u
ring All goals completed! 🐙theorem thetaFourierIntegrand_horizontal (t u b : ℝ) :
thetaFourierIntegrand t ((u : ℂ) + b * I) =
(Real.exp (t * b) : ℂ) *
(exp (-I * (t : ℂ) * (u : ℂ)) * thetaLogKernel ((u : ℂ) + b * I)) := by t:ℝu:ℝb:ℝ⊢ thetaFourierIntegrand t (↑u + ↑b * I) = ↑(Real.exp (t * b)) * (cexp (-I * ↑t * ↑u) * thetaLogKernel (↑u + ↑b * I))
unfold thetaFourierIntegrand t:ℝu:ℝb:ℝ⊢ cexp (-I * ↑t * (↑u + ↑b * I)) * thetaLogKernel (↑u + ↑b * I) =
↑(Real.exp (t * b)) * (cexp (-I * ↑t * ↑u) * thetaLogKernel (↑u + ↑b * I))
rw [ofReal_exp t:ℝu:ℝb:ℝ⊢ cexp (-I * ↑t * (↑u + ↑b * I)) * thetaLogKernel (↑u + ↑b * I) =
cexp ↑(t * b) * (cexp (-I * ↑t * ↑u) * thetaLogKernel (↑u + ↑b * I))] t:ℝu:ℝb:ℝ⊢ cexp (-I * ↑t * (↑u + ↑b * I)) * thetaLogKernel (↑u + ↑b * I) =
cexp ↑(t * b) * (cexp (-I * ↑t * ↑u) * thetaLogKernel (↑u + ↑b * I))
conv_rhs => rw [← mul_assoc, ← exp_add] t:ℝu:ℝb:ℝ| cexp (↑(t * b) + -I * ↑t * ↑u) * thetaLogKernel (↑u + ↑b * I)
congr 2 e_a t:ℝu:ℝb:ℝ⊢ -I * ↑t * (↑u + ↑b * I) = ↑(t * b) + -I * ↑t * ↑u
push_cast e_a t:ℝu:ℝb:ℝ⊢ -I * ↑t * (↑u + ↑b * I) = ↑t * ↑b + -I * ↑t * ↑u
ring_nf e_a t:ℝu:ℝb:ℝ⊢ -(I * ↑t * ↑u) - I ^ 2 * ↑t * ↑b = -(I * ↑t * ↑u) + ↑t * ↑b
simp [I_sq] All goals completed! 🐙theorem fourier_theta_horizontal (w : ℝ) {b : ℝ} (hb : |b| < Real.pi / 2) :
𝓕 (fun u : ℝ ↦ thetaLogKernel ((u : ℂ) + b * I)) w =
(Real.exp (-2 * Real.pi * w * b) : ℂ) * 𝓕 (fun u : ℝ ↦ thetaLogKernel (u : ℂ)) w := by w:ℝb:ℝhb:|b| < Real.pi / 2⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w
have h := thetaFourierIntegral_shift (2 * Real.pi * w) hb w:ℝb:ℝhb:|b| < Real.pi / 2h:∫ (u : ℝ), thetaFourierIntegrand (2 * Real.pi * w) ↑u = ∫ (u : ℝ), thetaFourierIntegrand (2 * Real.pi * w) (↑u + ↑b * I)⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w
simp_rw [ w:ℝb:ℝhb:|b| < Real.pi / 2h:∫ (u : ℝ), thetaFourierIntegrand (2 * Real.pi * w) ↑u = ∫ (u : ℝ), thetaFourierIntegrand (2 * Real.pi * w) (↑u + ↑b * I)⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) wthetaFourierIntegrand_horizontal, w:ℝb:ℝhb:|b| < Real.pi / 2h:∫ (u : ℝ), thetaFourierIntegrand (2 * Real.pi * w) ↑u =
∫ (u : ℝ), ↑(Real.exp (2 * Real.pi * w * b)) * (cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel (↑u + ↑b * I))⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w integral_const_mul w:ℝb:ℝhb:|b| < Real.pi / 2h:∫ (u : ℝ), thetaFourierIntegrand (2 * Real.pi * w) ↑u =
↑(Real.exp (2 * Real.pi * w * b)) * ∫ (a : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑a) * thetaLogKernel (↑a + ↑b * I)⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w] at h
have h0 := fourier_theta_horizontal_eq_integral 0 w w:ℝb:ℝhb:|b| < Real.pi / 2h:∫ (u : ℝ), thetaFourierIntegrand (2 * Real.pi * w) ↑u =
↑(Real.exp (2 * Real.pi * w * b)) * ∫ (a : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑a) * thetaLogKernel (↑a + ↑b * I)h0:𝓕 (fun u => thetaLogKernel (↑u + ↑0 * I)) w =
∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel (↑u + ↑0 * I)⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w
simp only [ofReal_zero, zero_mul, add_zero] at h0 w:ℝb:ℝhb:|b| < Real.pi / 2h:∫ (u : ℝ), thetaFourierIntegrand (2 * Real.pi * w) ↑u =
↑(Real.exp (2 * Real.pi * w * b)) * ∫ (a : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑a) * thetaLogKernel (↑a + ↑b * I)h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑u⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w
rw [← fourier_theta_horizontal_eq_integral w:ℝb:ℝhb:|b| < Real.pi / 2h:∫ (u : ℝ), thetaFourierIntegrand (2 * Real.pi * w) ↑u =
↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) wh0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑u⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w] at h w:ℝb:ℝhb:|b| < Real.pi / 2h:∫ (u : ℝ), thetaFourierIntegrand (2 * Real.pi * w) ↑u =
↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) wh0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑u⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w
change (∫ u : ℝ, exp (-I * (2 * Real.pi * w : ℝ) * (u : ℂ)) * thetaLogKernel (u : ℂ)) = _ at h w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑u =
↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w
rw [← h0 w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w] at h w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w
rw [h, w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w =
↑(Real.exp (-2 * Real.pi * w * b)) * (↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w) ← mul_assoc, w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w =
↑(Real.exp (-2 * Real.pi * w * b)) * ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w ← ofReal_mul, w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w =
↑(Real.exp (-2 * Real.pi * w * b) * Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w ← Real.exp_add w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w =
↑(Real.exp (-2 * Real.pi * w * b + 2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w] w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w =
↑(Real.exp (-2 * Real.pi * w * b + 2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w
have he : -2 * Real.pi * w * b + (2 * Real.pi * w) * b = 0 := by w:ℝb:ℝhb:|b| < Real.pi / 2⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w ring w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) whe:-2 * Real.pi * w * b + 2 * Real.pi * w * b = 0⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w =
↑(Real.exp (-2 * Real.pi * w * b + 2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w
rw [he, w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) whe:-2 * Real.pi * w * b + 2 * Real.pi * w * b = 0⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑(Real.exp 0) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w Real.exp_zero, w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) whe:-2 * Real.pi * w * b + 2 * Real.pi * w * b = 0⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = ↑1 * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w ofReal_one, w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) whe:-2 * Real.pi * w * b + 2 * Real.pi * w * b = 0⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = 1 * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w one_mul w:ℝb:ℝhb:|b| < Real.pi / 2h0:𝓕 (fun u => thetaLogKernel ↑u) w = ∫ (u : ℝ), cexp (-I * ↑(2 * Real.pi * w) * ↑u) * thetaLogKernel ↑uh:𝓕 (fun u => thetaLogKernel ↑u) w = ↑(Real.exp (2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) whe:-2 * Real.pi * w * b + 2 * Real.pi * w * b = 0⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w] All goals completed! 🐙theorem fourier_theta_eq_hardyWeight (w : ℝ) :
𝓕 (fun u : ℝ ↦ thetaLogKernel (u : ℂ)) w = -4 * (hardyWeight (4 * Real.pi * w) : ℂ) := by w:ℝ⊢ 𝓕 (fun u => thetaLogKernel ↑u) w = -4 * ↑(hardyWeight (4 * Real.pi * w))
have h := completedZeta_eq_fourier_theta (4 * Real.pi * w) w:ℝh:completedRiemannZeta (criticalPoint (4 * Real.pi * w)) =
𝓕 (fun u => thetaLogKernel ↑u) (4 * Real.pi * w / (4 * Real.pi)) / 2⊢ 𝓕 (fun u => thetaLogKernel ↑u) w = -4 * ↑(hardyWeight (4 * Real.pi * w))
have he : (4 * Real.pi * w) / (4 * Real.pi) = w := by field_simp w:ℝh:completedRiemannZeta (criticalPoint (4 * Real.pi * w)) =
𝓕 (fun u => thetaLogKernel ↑u) (4 * Real.pi * w / (4 * Real.pi)) / 2he:4 * Real.pi * w / (4 * Real.pi) = w⊢ 𝓕 (fun u => thetaLogKernel ↑u) w = -4 * ↑(hardyWeight (4 * Real.pi * w))
rw [he w:ℝh:completedRiemannZeta (criticalPoint (4 * Real.pi * w)) = 𝓕 (fun u => thetaLogKernel ↑u) w / 2he:4 * Real.pi * w / (4 * Real.pi) = w⊢ 𝓕 (fun u => thetaLogKernel ↑u) w = -4 * ↑(hardyWeight (4 * Real.pi * w))] at h w:ℝh:completedRiemannZeta (criticalPoint (4 * Real.pi * w)) = 𝓕 (fun u => thetaLogKernel ↑u) w / 2he:4 * Real.pi * w / (4 * Real.pi) = w⊢ 𝓕 (fun u => thetaLogKernel ↑u) w = -4 * ↑(hardyWeight (4 * Real.pi * w))
rw [ofReal_hardyWeight, w:ℝh:completedRiemannZeta (criticalPoint (4 * Real.pi * w)) = 𝓕 (fun u => thetaLogKernel ↑u) w / 2he:4 * Real.pi * w / (4 * Real.pi) = w⊢ 𝓕 (fun u => thetaLogKernel ↑u) w = -4 * (-completedRiemannZeta (criticalPoint (4 * Real.pi * w)) / 2) h w:ℝh:completedRiemannZeta (criticalPoint (4 * Real.pi * w)) = 𝓕 (fun u => thetaLogKernel ↑u) w / 2he:4 * Real.pi * w / (4 * Real.pi) = w⊢ 𝓕 (fun u => thetaLogKernel ↑u) w = -4 * (-(𝓕 (fun u => thetaLogKernel ↑u) w / 2) / 2)] w:ℝh:completedRiemannZeta (criticalPoint (4 * Real.pi * w)) = 𝓕 (fun u => thetaLogKernel ↑u) w / 2he:4 * Real.pi * w / (4 * Real.pi) = w⊢ 𝓕 (fun u => thetaLogKernel ↑u) w = -4 * (-(𝓕 (fun u => thetaLogKernel ↑u) w / 2) / 2)
ring All goals completed! 🐙theorem fourier_theta_horizontal_eq_weight (w : ℝ) {b : ℝ} (hb : |b| < Real.pi / 2) :
𝓕 (fun u : ℝ ↦ thetaLogKernel ((u : ℂ) + b * I)) w =
-4 * ((hardyWeight (4 * Real.pi * w) * Real.exp ((-b / 2) * (4 * Real.pi * w)) : ℝ) : ℂ) := by w:ℝb:ℝhb:|b| < Real.pi / 2⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w =
-4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w)))
rw [fourier_theta_horizontal w hb, w:ℝb:ℝhb:|b| < Real.pi / 2⊢ ↑(Real.exp (-2 * Real.pi * w * b)) * 𝓕 (fun u => thetaLogKernel ↑u) w =
-4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w))) fourier_theta_eq_hardyWeight w:ℝb:ℝhb:|b| < Real.pi / 2⊢ ↑(Real.exp (-2 * Real.pi * w * b)) * (-4 * ↑(hardyWeight (4 * Real.pi * w))) =
-4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w)))] w:ℝb:ℝhb:|b| < Real.pi / 2⊢ ↑(Real.exp (-2 * Real.pi * w * b)) * (-4 * ↑(hardyWeight (4 * Real.pi * w))) =
-4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w)))
have he : -2 * Real.pi * w * b = (-b / 2) * (4 * Real.pi * w) := by w:ℝb:ℝhb:|b| < Real.pi / 2⊢ 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w =
-4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w))) ring w:ℝb:ℝhb:|b| < Real.pi / 2he:-2 * Real.pi * w * b = -b / 2 * (4 * Real.pi * w)⊢ ↑(Real.exp (-2 * Real.pi * w * b)) * (-4 * ↑(hardyWeight (4 * Real.pi * w))) =
-4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w)))
rw [he w:ℝb:ℝhb:|b| < Real.pi / 2he:-2 * Real.pi * w * b = -b / 2 * (4 * Real.pi * w)⊢ ↑(Real.exp (-b / 2 * (4 * Real.pi * w))) * (-4 * ↑(hardyWeight (4 * Real.pi * w))) =
-4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w)))] w:ℝb:ℝhb:|b| < Real.pi / 2he:-2 * Real.pi * w * b = -b / 2 * (4 * Real.pi * w)⊢ ↑(Real.exp (-b / 2 * (4 * Real.pi * w))) * (-4 * ↑(hardyWeight (4 * Real.pi * w))) =
-4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w)))
push_cast w:ℝb:ℝhb:|b| < Real.pi / 2he:-2 * Real.pi * w * b = -b / 2 * (4 * Real.pi * w)⊢ cexp (-↑b / 2 * (4 * ↑Real.pi * ↑w)) * (-4 * ↑(hardyWeight (4 * Real.pi * w))) =
-4 * (↑(hardyWeight (4 * Real.pi * w)) * cexp (-↑b / 2 * (4 * ↑Real.pi * ↑w)))
ring All goals completed! 🐙theorem integrable_fourier_theta_horizontal {b : ℝ} (hb : |b| < Real.pi / 2) :
Integrable (𝓕 (fun u : ℝ ↦ thetaLogKernel ((u : ℂ) + b * I))) := by b:ℝhb:|b| < Real.pi / 2⊢ Integrable (𝓕 fun u => thetaLogKernel (↑u + ↑b * I)) volume
have ha : |(-b / 2)| < Real.pi / 4 := by rw [abs_div, b:ℝhb:|b| < Real.pi / 2⊢ |(-b)| / |2| < Real.pi / 4 abs_neg b:ℝhb:|b| < Real.pi / 2⊢ |b| / |2| < Real.pi / 4] b:ℝhb:|b| < Real.pi / 2⊢ |b| / |2| < Real.pi / 4; norm_num b:ℝhb:|b| < Real.pi / 2⊢ |b| / 2 < Real.pi / 4; linarith b:ℝhb:|b| < Real.pi / 2ha:|-b / 2| < Real.pi / 4⊢ Integrable (𝓕 fun u => thetaLogKernel (↑u + ↑b * I)) volume
have h := ((integrable_hardyWeight_exp ha).ofReal (𝕜 := ℂ)).comp_mul_right'
(show 4 * Real.pi ≠ 0 by positivity All goals completed! 🐙) b:ℝhb:|b| < Real.pi / 2ha:|-b / 2| < Real.pi / 4h:Integrable (fun x => ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volume⊢ Integrable (𝓕 fun u => thetaLogKernel (↑u + ↑b * I)) volume
have h' := h.const_mul (-4 : ℂ) b:ℝhb:|b| < Real.pi / 2ha:|-b / 2| < Real.pi / 4h:Integrable (fun x => ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volumeh':Integrable (fun x => -4 * ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volume⊢ Integrable (𝓕 fun u => thetaLogKernel (↑u + ↑b * I)) volume
apply h'.congr b:ℝhb:|b| < Real.pi / 2ha:|-b / 2| < Real.pi / 4h:Integrable (fun x => ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volumeh':Integrable (fun x => -4 * ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volume⊢ (fun x => -4 * ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) =ᵐ[volume]
𝓕 fun u => thetaLogKernel (↑u + ↑b * I)
filter_upwards with w b:ℝhb:|b| < Real.pi / 2ha:|-b / 2| < Real.pi / 4h:Integrable (fun x => ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volumeh':Integrable (fun x => -4 * ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volumew:ℝ⊢ -4 * ↑(hardyWeight (w * (4 * Real.pi)) * Real.exp (-b / 2 * (w * (4 * Real.pi)))) =
𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w
rw [fourier_theta_horizontal_eq_weight w hb b:ℝhb:|b| < Real.pi / 2ha:|-b / 2| < Real.pi / 4h:Integrable (fun x => ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volumeh':Integrable (fun x => -4 * ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volumew:ℝ⊢ -4 * ↑(hardyWeight (w * (4 * Real.pi)) * Real.exp (-b / 2 * (w * (4 * Real.pi)))) =
-4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w)))] b:ℝhb:|b| < Real.pi / 2ha:|-b / 2| < Real.pi / 4h:Integrable (fun x => ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volumeh':Integrable (fun x => -4 * ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volumew:ℝ⊢ -4 * ↑(hardyWeight (w * (4 * Real.pi)) * Real.exp (-b / 2 * (w * (4 * Real.pi)))) =
-4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w)))
simp only [mul_comm w (4 * Real.pi)] b:ℝhb:|b| < Real.pi / 2ha:|-b / 2| < Real.pi / 4h:Integrable (fun x => ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volumeh':Integrable (fun x => -4 * ↑(hardyWeight (x * (4 * Real.pi)) * Real.exp (-b / 2 * (x * (4 * Real.pi))))) volumew:ℝ⊢ -4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w))) =
-4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-b / 2 * (4 * Real.pi * w)))
rfl All goals completed! 🐙
/-- Inversion at the origin on any interior horizontal line. -/theorem integral_fourier_theta_horizontal {b : ℝ} (hb : |b| < Real.pi / 2) :
(∫ w : ℝ, 𝓕 (fun u : ℝ ↦ thetaLogKernel ((u : ℂ) + b * I)) w) =
thetaLogKernel (b * I) := by b:ℝhb:|b| < Real.pi / 2⊢ ∫ (w : ℝ), 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = thetaLogKernel (↑b * I)
have hc : ContinuousAt (fun u : ℝ ↦ thetaLogKernel ((u : ℂ) + b * I)) 0 := by
apply (differentiableAt_thetaLogKernel (by b:ℝhb:|b| < Real.pi / 2⊢ |(↑0 + ↑b * I).im| < Real.pi / 2 simpa using hb All goals completed! 🐙)).continuousAt.comp
fun_prop b:ℝhb:|b| < Real.pi / 2hc:ContinuousAt (fun u => thetaLogKernel (↑u + ↑b * I)) 0⊢ ∫ (w : ℝ), 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = thetaLogKernel (↑b * I)
have h := (integrable_thetaLogKernel_horizontal hb).fourierInv_fourier_eq
(integrable_fourier_theta_horizontal hb) hc b:ℝhb:|b| < Real.pi / 2hc:ContinuousAt (fun u => thetaLogKernel (↑u + ↑b * I)) 0h:𝓕⁻ (𝓕 fun u => thetaLogKernel (↑u + ↑b * I)) 0 = thetaLogKernel (↑0 + ↑b * I)⊢ ∫ (w : ℝ), 𝓕 (fun u => thetaLogKernel (↑u + ↑b * I)) w = thetaLogKernel (↑b * I)
simpa [Real.fourierInv_eq] using h All goals completed! 🐙
/-- Evaluation of the actual exponentially weighted Hardy integral. -/theorem integral_hardyWeight_exp {α : ℝ} (hα : |α| < Real.pi / 4) :
(∫ t : ℝ, ((hardyWeight t * Real.exp (α * t) : ℝ) : ℂ)) =
-(Real.pi : ℂ) * thetaLogKernel ((-2 * α : ℝ) * I) := by α:ℝhα:|α| < Real.pi / 4⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)
have hb : |(-2 * α)| < Real.pi / 2 := by
rw [abs_mul α:ℝhα:|α| < Real.pi / 4⊢ |(-2)| * |α| < Real.pi / 2] α:ℝhα:|α| < Real.pi / 4⊢ |(-2)| * |α| < Real.pi / 2
norm_num α:ℝhα:|α| < Real.pi / 4⊢ 2 * |α| < Real.pi / 2
linarith α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)
have h := integral_fourier_theta_horizontal hb α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2h:∫ (w : ℝ), 𝓕 (fun u => thetaLogKernel (↑u + ↑(-2 * α) * I)) w = thetaLogKernel (↑(-2 * α) * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)
simp_rw [ α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2h:∫ (w : ℝ), 𝓕 (fun u => thetaLogKernel (↑u + ↑(-2 * α) * I)) w = thetaLogKernel (↑(-2 * α) * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)fourier_theta_horizontal_eq_weight _ hb α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2h:∫ (w : ℝ), -4 * ↑(hardyWeight (4 * Real.pi * w) * Real.exp (-(-2 * α) / 2 * (4 * Real.pi * w))) =
thetaLogKernel (↑(-2 * α) * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)] at h
rw [integral_const_mul α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2h:-4 * ∫ (a : ℝ), ↑(hardyWeight (4 * Real.pi * a) * Real.exp (-(-2 * α) / 2 * (4 * Real.pi * a))) =
thetaLogKernel (↑(-2 * α) * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)] at h α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2h:-4 * ∫ (a : ℝ), ↑(hardyWeight (4 * Real.pi * a) * Real.exp (-(-2 * α) / 2 * (4 * Real.pi * a))) =
thetaLogKernel (↑(-2 * α) * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)
have he : -(-2 * α) / 2 = α := by ring α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2h:-4 * ∫ (a : ℝ), ↑(hardyWeight (4 * Real.pi * a) * Real.exp (-(-2 * α) / 2 * (4 * Real.pi * a))) =
thetaLogKernel (↑(-2 * α) * I)he:-(-2 * α) / 2 = α⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)
simp_rw [ α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2h:-4 * ∫ (a : ℝ), ↑(hardyWeight (4 * Real.pi * a) * Real.exp (-(-2 * α) / 2 * (4 * Real.pi * a))) =
thetaLogKernel (↑(-2 * α) * I)he:-(-2 * α) / 2 = α⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)he α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αh:-4 * ∫ (a : ℝ), ↑(hardyWeight (4 * Real.pi * a) * Real.exp (α * (4 * Real.pi * a))) = thetaLogKernel (↑(-2 * α) * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)] at h
rw [Measure.integral_comp_mul_left
(fun t : ℝ ↦ ((hardyWeight t * Real.exp (α * t) : ℝ) : ℂ)) (4 * Real.pi) α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αh:-4 * |(4 * Real.pi)⁻¹| • ∫ (y : ℝ), ↑(hardyWeight y * Real.exp (α * y)) = thetaLogKernel (↑(-2 * α) * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)] at h α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αh:-4 * |(4 * Real.pi)⁻¹| • ∫ (y : ℝ), ↑(hardyWeight y * Real.exp (α * y)) = thetaLogKernel (↑(-2 * α) * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)
rw [abs_of_pos (inv_pos.mpr (by α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αh:-4 * |(4 * Real.pi)⁻¹| • ∫ (y : ℝ), ↑(hardyWeight y * Real.exp (α * y)) = thetaLogKernel (↑(-2 * α) * I)⊢ 0 < 4 * Real.pi positivity All goals completed! 🐙 : (0 : ℝ) < 4 * Real.pi)), real_smul α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αh:-4 * (↑(4 * Real.pi)⁻¹ * ∫ (y : ℝ), ↑(hardyWeight y * Real.exp (α * y))) = thetaLogKernel (↑(-2 * α) * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)] at h α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αh:-4 * (↑(4 * Real.pi)⁻¹ * ∫ (y : ℝ), ↑(hardyWeight y * Real.exp (α * y))) = thetaLogKernel (↑(-2 * α) * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)
have hpi : (Real.pi : ℂ) ≠ 0 := ofReal_ne_zero.mpr Real.pi_ne_zero α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αh:-4 * (↑(4 * Real.pi)⁻¹ * ∫ (y : ℝ), ↑(hardyWeight y * Real.exp (α * y))) = thetaLogKernel (↑(-2 * α) * I)hpi:↑Real.pi ≠ 0⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)
push_cast at h α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αhpi:↑Real.pi ≠ 0h:-4 * ((4 * ↑Real.pi)⁻¹ * ∫ (y : ℝ), ↑(hardyWeight y) * cexp (↑α * ↑y)) = thetaLogKernel (-2 * ↑α * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)
have h' := congrArg (fun z : ℂ ↦ -(Real.pi : ℂ) * z) h α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αhpi:↑Real.pi ≠ 0h:-4 * ((4 * ↑Real.pi)⁻¹ * ∫ (y : ℝ), ↑(hardyWeight y) * cexp (↑α * ↑y)) = thetaLogKernel (-2 * ↑α * I)h':-↑Real.pi * (-4 * ((4 * ↑Real.pi)⁻¹ * ∫ (y : ℝ), ↑(hardyWeight y) * cexp (↑α * ↑y))) =
-↑Real.pi * thetaLogKernel (-2 * ↑α * I)⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)
field_simp at h' α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αhpi:↑Real.pi ≠ 0h:-4 * ((4 * ↑Real.pi)⁻¹ * ∫ (y : ℝ), ↑(hardyWeight y) * cexp (↑α * ↑y)) = thetaLogKernel (-2 * ↑α * I)h':∫ (y : ℝ), ↑(hardyWeight y) * cexp (↑α * ↑y) = -(↑Real.pi * thetaLogKernel (-(↑α * 2 * I)))⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)
push_cast α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αhpi:↑Real.pi ≠ 0h:-4 * ((4 * ↑Real.pi)⁻¹ * ∫ (y : ℝ), ↑(hardyWeight y) * cexp (↑α * ↑y)) = thetaLogKernel (-2 * ↑α * I)h':∫ (y : ℝ), ↑(hardyWeight y) * cexp (↑α * ↑y) = -(↑Real.pi * thetaLogKernel (-(↑α * 2 * I)))⊢ ∫ (t : ℝ), ↑(hardyWeight t) * cexp (↑α * ↑t) = -↑Real.pi * thetaLogKernel (-2 * ↑α * I)
rw [show (-2 : ℂ) * (α : ℂ) * I = -((α : ℂ) * 2 * I) by α:ℝhα:|α| < Real.pi / 4⊢ ∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) ring All goals completed! 🐙] α:ℝhα:|α| < Real.pi / 4hb:|-2 * α| < Real.pi / 2he:-(-2 * α) / 2 = αhpi:↑Real.pi ≠ 0h:-4 * ((4 * ↑Real.pi)⁻¹ * ∫ (y : ℝ), ↑(hardyWeight y) * cexp (↑α * ↑y)) = thetaLogKernel (-2 * ↑α * I)h':∫ (y : ℝ), ↑(hardyWeight y) * cexp (↑α * ↑y) = -(↑Real.pi * thetaLogKernel (-(↑α * 2 * I)))⊢ ∫ (t : ℝ), ↑(hardyWeight t) * cexp (↑α * ↑t) = -↑Real.pi * thetaLogKernel (-(↑α * 2 * I))
simpa only [neg_mul] using h' All goals completed! 🐙theorem integral_hardyWeight_exp_eq_cosh {α : ℝ} (hα : |α| < Real.pi / 4) :
(∫ t : ℝ, hardyWeight t * Real.exp (α * t)) =
2 * ∫ t : ℝ in Ioi 0, hardyWeight t * Real.cosh (α * t) := by α:ℝhα:|α| < Real.pi / 4⊢ ∫ (t : ℝ), hardyWeight t * Real.exp (α * t) = 2 * ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)
have hp := integrable_hardyWeight_exp hα α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volume⊢ ∫ (t : ℝ), hardyWeight t * Real.exp (α * t) = 2 * ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)
have hm := integrable_hardyWeight_exp (α := -α) (by α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volume⊢ |(-α)| < Real.pi / 4 simpa using hα All goals completed! 🐙) α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volume⊢ ∫ (t : ℝ), hardyWeight t * Real.exp (α * t) = 2 * ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)
have hn : (∫ t : ℝ in Iic 0, hardyWeight t * Real.exp (α * t)) =
∫ t : ℝ in Ioi 0, hardyWeight t * Real.exp (-α * t) := by
have h := integral_comp_neg_Ioi 0 (fun t : ℝ ↦ hardyWeight t * Real.exp (α * t)) α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumeh:∫ (x : ℝ) in Ioi 0, hardyWeight (-x) * Real.exp (α * -x) = ∫ (x : ℝ) in Iic (-0), hardyWeight x * Real.exp (α * x)⊢ ∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)
simpa [hardyWeight_neg, mul_neg, neg_mul] using h.symm α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)⊢ ∫ (t : ℝ), hardyWeight t * Real.exp (α * t) = 2 * ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)
rw [← intervalIntegral.integral_Iic_add_Ioi hp.integrableOn hp.integrableOn, α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)⊢ ∫ (x : ℝ) in Iic ?m.152, hardyWeight x * Real.exp (α * x) ∂volume +
∫ (x : ℝ) in Ioi ?m.152, hardyWeight x * Real.exp (α * x) ∂volume =
2 * ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)⊢ ℝ hn, α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)⊢ (∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)) + ∫ (x : ℝ) in Ioi 0, hardyWeight x * Real.exp (α * x) ∂volume =
2 * ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)
← integral_add hm.integrableOn hp.integrableOn, α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)⊢ ∫ (a : ℝ) in Ioi 0, hardyWeight a * Real.exp (-α * a) + hardyWeight a * Real.exp (α * a) =
2 * ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t) ← integral_const_mul α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)⊢ ∫ (a : ℝ) in Ioi 0, hardyWeight a * Real.exp (-α * a) + hardyWeight a * Real.exp (α * a) =
∫ (a : ℝ) in Ioi 0, 2 * (hardyWeight a * Real.cosh (α * a))] α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)⊢ ∫ (a : ℝ) in Ioi 0, hardyWeight a * Real.exp (-α * a) + hardyWeight a * Real.exp (α * a) =
∫ (a : ℝ) in Ioi 0, 2 * (hardyWeight a * Real.cosh (α * a))
apply setIntegral_congr_fun measurableSet_Ioi α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)⊢ EqOn (fun x => hardyWeight x * Real.exp (-α * x) + hardyWeight x * Real.exp (α * x))
(fun x => 2 * (hardyWeight x * Real.cosh (α * x))) (Ioi 0)
intro t _ α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)t:ℝa✝:t ∈ Ioi 0⊢ (fun x => hardyWeight x * Real.exp (-α * x) + hardyWeight x * Real.exp (α * x)) t =
(fun x => 2 * (hardyWeight x * Real.cosh (α * x))) t
dsimp α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)t:ℝa✝:t ∈ Ioi 0⊢ hardyWeight t * Real.exp (-α * t) + hardyWeight t * Real.exp (α * t) = 2 * (hardyWeight t * Real.cosh (α * t))
rw [Real.cosh_eq α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)t:ℝa✝:t ∈ Ioi 0⊢ hardyWeight t * Real.exp (-α * t) + hardyWeight t * Real.exp (α * t) =
2 * (hardyWeight t * ((Real.exp (α * t) + Real.exp (-(α * t))) / 2))] α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)t:ℝa✝:t ∈ Ioi 0⊢ hardyWeight t * Real.exp (-α * t) + hardyWeight t * Real.exp (α * t) =
2 * (hardyWeight t * ((Real.exp (α * t) + Real.exp (-(α * t))) / 2))
simp only [neg_mul] α:ℝhα:|α| < Real.pi / 4hp:Integrable (fun t => hardyWeight t * Real.exp (α * t)) volumehm:Integrable (fun t => hardyWeight t * Real.exp (-α * t)) volumehn:∫ (t : ℝ) in Iic 0, hardyWeight t * Real.exp (α * t) = ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.exp (-α * t)t:ℝa✝:t ∈ Ioi 0⊢ hardyWeight t * Real.exp (-(α * t)) + hardyWeight t * Real.exp (α * t) =
2 * (hardyWeight t * ((Real.exp (α * t) + Real.exp (-(α * t))) / 2))
ring All goals completed! 🐙
/-- Hardy's open-strip cosh-transform identity for the actual zeta weight. -/theorem integral_hardyWeight_cosh {α : ℝ} (hα : |α| < Real.pi / 4) :
((∫ t : ℝ in Ioi 0, hardyWeight t * Real.cosh (α * t) : ℝ) : ℂ) =
(Real.pi : ℂ) * Real.cos (α / 2) - Real.pi * thetaBoundaryRemainder α := by α:ℝhα:|α| < Real.pi / 4⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α
have h := integral_hardyWeight_exp hα α:ℝhα:|α| < Real.pi / 4h:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α
have hof : (∫ t : ℝ, ((hardyWeight t * Real.exp (α * t) : ℝ) : ℂ)) =
((∫ t : ℝ, hardyWeight t * Real.exp (α * t) : ℝ) : ℂ) := integral_ofReal α:ℝhα:|α| < Real.pi / 4h:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α
rw [hof, α:ℝhα:|α| < Real.pi / 4h:↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α integral_hardyWeight_exp_eq_cosh hα, α:ℝhα:|α| < Real.pi / 4h:↑(2 * ∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α ofReal_mul α:ℝhα:|α| < Real.pi / 4h:↑2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α] at h α:ℝhα:|α| < Real.pi / 4h:↑2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α
norm_num only [ofReal_ofNat] at h α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α
have he : ((∫ t : ℝ in Ioi 0, hardyWeight t * Real.cosh (α * t) : ℝ) : ℂ) =
-(Real.pi : ℂ) * thetaLogKernel ((-2 * α : ℝ) * I) / 2 := by
linear_combination h / 2 α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α
rw [he α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2⊢ -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2 = ↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α] α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2⊢ -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2 = ↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α
unfold thetaLogKernel thetaBoundaryRemainder α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2⊢ -↑Real.pi * (2 * cexp (-(↑(-2 * α) * I) / 4) * psi (cexp (-(↑(-2 * α) * I))) - cexp (↑(-2 * α) * I / 4)) / 2 =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α))))
have ha : -(((-2 * α : ℝ) : ℂ) * I) / 4 = I * (α : ℂ) / 2 := by α:ℝhα:|α| < Real.pi / 4⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α push_cast α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2⊢ -(-2 * ↑α * I) / 4 = I * ↑α / 2; ring α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2⊢ -↑Real.pi * (2 * cexp (-(↑(-2 * α) * I) / 4) * psi (cexp (-(↑(-2 * α) * I))) - cexp (↑(-2 * α) * I / 4)) / 2 =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α))))
have hb : -(((-2 * α : ℝ) : ℂ) * I) = 2 * I * (α : ℂ) := by α:ℝhα:|α| < Real.pi / 4⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α push_cast α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2⊢ -(-2 * ↑α * I) = 2 * I * ↑α; ring α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2hb:-(↑(-2 * α) * I) = 2 * I * ↑α⊢ -↑Real.pi * (2 * cexp (-(↑(-2 * α) * I) / 4) * psi (cexp (-(↑(-2 * α) * I))) - cexp (↑(-2 * α) * I / 4)) / 2 =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α))))
have hc : (((-2 * α : ℝ) : ℂ) * I) / 4 = -(I * (α : ℂ) / 2) := by α:ℝhα:|α| < Real.pi / 4⊢ ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * thetaBoundaryRemainder α push_cast α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2hb:-(↑(-2 * α) * I) = 2 * I * ↑α⊢ -2 * ↑α * I / 4 = -(I * ↑α / 2); ring α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2hb:-(↑(-2 * α) * I) = 2 * I * ↑αhc:↑(-2 * α) * I / 4 = -(I * ↑α / 2)⊢ -↑Real.pi * (2 * cexp (-(↑(-2 * α) * I) / 4) * psi (cexp (-(↑(-2 * α) * I))) - cexp (↑(-2 * α) * I / 4)) / 2 =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α))))
rw [ha, α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2hb:-(↑(-2 * α) * I) = 2 * I * ↑αhc:↑(-2 * α) * I / 4 = -(I * ↑α / 2)⊢ -↑Real.pi * (2 * cexp (I * ↑α / 2) * psi (cexp (-(↑(-2 * α) * I))) - cexp (↑(-2 * α) * I / 4)) / 2 =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α)))) hb, α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2hb:-(↑(-2 * α) * I) = 2 * I * ↑αhc:↑(-2 * α) * I / 4 = -(I * ↑α / 2)⊢ -↑Real.pi * (2 * cexp (I * ↑α / 2) * psi (cexp (2 * I * ↑α)) - cexp (↑(-2 * α) * I / 4)) / 2 =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α)))) hc, α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2hb:-(↑(-2 * α) * I) = 2 * I * ↑αhc:↑(-2 * α) * I / 4 = -(I * ↑α / 2)⊢ -↑Real.pi * (2 * cexp (I * ↑α / 2) * psi (cexp (2 * I * ↑α)) - cexp (-(I * ↑α / 2))) / 2 =
↑Real.pi * ↑(Real.cos (α / 2)) - ↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α)))) ofReal_cos α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2hb:-(↑(-2 * α) * I) = 2 * I * ↑αhc:↑(-2 * α) * I / 4 = -(I * ↑α / 2)⊢ -↑Real.pi * (2 * cexp (I * ↑α / 2) * psi (cexp (2 * I * ↑α)) - cexp (-(I * ↑α / 2))) / 2 =
↑Real.pi * cos ↑(α / 2) - ↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α))))] α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2hb:-(↑(-2 * α) * I) = 2 * I * ↑αhc:↑(-2 * α) * I / 4 = -(I * ↑α / 2)⊢ -↑Real.pi * (2 * cexp (I * ↑α / 2) * psi (cexp (2 * I * ↑α)) - cexp (-(I * ↑α / 2))) / 2 =
↑Real.pi * cos ↑(α / 2) - ↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α))))
rw [Complex.cos α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2hb:-(↑(-2 * α) * I) = 2 * I * ↑αhc:↑(-2 * α) * I / 4 = -(I * ↑α / 2)⊢ -↑Real.pi * (2 * cexp (I * ↑α / 2) * psi (cexp (2 * I * ↑α)) - cexp (-(I * ↑α / 2))) / 2 =
↑Real.pi * ((cexp (↑(α / 2) * I) + cexp (-↑(α / 2) * I)) / 2) -
↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α))))] α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2hb:-(↑(-2 * α) * I) = 2 * I * ↑αhc:↑(-2 * α) * I / 4 = -(I * ↑α / 2)⊢ -↑Real.pi * (2 * cexp (I * ↑α / 2) * psi (cexp (2 * I * ↑α)) - cexp (-(I * ↑α / 2))) / 2 =
↑Real.pi * ((cexp (↑(α / 2) * I) + cexp (-↑(α / 2) * I)) / 2) -
↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α))))
push_cast α:ℝhα:|α| < Real.pi / 4h:2 * ↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I)hof:∫ (t : ℝ), ↑(hardyWeight t * Real.exp (α * t)) = ↑(∫ (t : ℝ), hardyWeight t * Real.exp (α * t))he:↑(∫ (t : ℝ) in Ioi 0, hardyWeight t * Real.cosh (α * t)) = -↑Real.pi * thetaLogKernel (↑(-2 * α) * I) / 2ha:-(↑(-2 * α) * I) / 4 = I * ↑α / 2hb:-(↑(-2 * α) * I) = 2 * I * ↑αhc:↑(-2 * α) * I / 4 = -(I * ↑α / 2)⊢ -↑Real.pi * (2 * cexp (I * ↑α / 2) * psi (cexp (2 * I * ↑α)) - cexp (-(I * ↑α / 2))) / 2 =
↑Real.pi * ((cexp (↑α / 2 * I) + cexp (-(↑α / 2) * I)) / 2) -
↑Real.pi * (cexp (I * ↑α / 2) * (1 / 2 + psi (cexp (2 * I * ↑α))))
ring_nf All goals completed! 🐙