Hardy zeta

11.17. HardyZeta.ThetaDecay🔗

theorem norm_psi_le_two_exp {z : ℂ} (hz : 1 ≤ z.re) : ‖psi z‖ ≤ 2 * Real.exp (-Real.pi * z.re) := z:ℂhz:1 ≤ z.re⊢ ‖psi z‖ ≤ 2 * Real.exp (-Real.pi * z.re) z:ℂhz:1 ≤ z.rehz0:0 < z.re⊢ ‖psi z‖ ≤ 2 * Real.exp (-Real.pi * z.re) z:ℂhz:1 ≤ z.rehz0:0 < z.rehpi:1 ≤ Real.pi * z.re⊢ ‖psi z‖ ≤ 2 * Real.exp (-Real.pi * z.re) z:ℂhz:1 ≤ z.rehz0:0 < z.rehpi:1 ≤ Real.pi * z.rehexp:2 ≤ Real.exp (Real.pi * z.re)⊢ ‖psi z‖ ≤ 2 * Real.exp (-Real.pi * z.re) z:ℂhz:1 ≤ z.rehz0:0 < z.rehpi:1 ≤ Real.pi * z.rehexp:2 ≤ Real.exp (Real.pi * z.re)hsmall:Real.exp (-Real.pi * z.re) ≤ 1 / 2⊢ ‖psi z‖ ≤ 2 * Real.exp (-Real.pi * z.re) z:ℂhz:1 ≤ z.rehz0:0 < z.rehpi:1 ≤ Real.pi * z.rehexp:2 ≤ Real.exp (Real.pi * z.re)hsmall:Real.exp (-Real.pi * z.re) ≤ 1 / 2hpos:0 < Real.exp (-Real.pi * z.re)⊢ ‖psi z‖ ≤ 2 * Real.exp (-Real.pi * z.re) z:ℂhz:1 ≤ z.rehz0:0 < z.rehpi:1 ≤ Real.pi * z.rehexp:2 ≤ Real.exp (Real.pi * z.re)hsmall:Real.exp (-Real.pi * z.re) ≤ 1 / 2hpos:0 < Real.exp (-Real.pi * z.re)⊢ Real.exp (-Real.pi * z.re) / (1 - Real.exp (-Real.pi * z.re)) ≤ 2 * Real.exp (-Real.pi * z.re) apply (div_le_iff₀ (z:ℂhz:1 ≤ z.rehz0:0 < z.rehpi:1 ≤ Real.pi * z.rehexp:2 ≤ Real.exp (Real.pi * z.re)hsmall:Real.exp (-Real.pi * z.re) ≤ 1 / 2hpos:0 < Real.exp (-Real.pi * z.re)⊢ 0 < 1 - Real.exp (-Real.pi * z.re) All goals completed! 🐙 : 0 < 1 - Real.exp (-Real.pi * z.re))).mpr All goals completed! 🐙 /-- A single exponential bounds both reciprocal terms in the cusp identity. -/theorem norm_psi_cusp_le_exp {z : ℂ} (hz : 0 < z.re) (hfar : 1 ≤ (1 / (4 * z)).re) : ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2 : ℂ)‖⁻¹ * Real.exp (-Real.pi * (1 / (4 * z)).re) := z:ℂhz:0 < z.rehfar:1 ≤ (1 / (4 * z)).re⊢ ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * (1 / (4 * z)).re) z:ℂhz:0 < z.rehfar:1 ≤ (1 / (4 * z)).rehz0:z ≠ 0⊢ ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * (1 / (4 * z)).re) z:ℂhz:0 < z.rehfar:1 ≤ (1 / (4 * z)).rehz0:z ≠ 0heq:1 / z = 4 * (1 / (4 * z))⊢ ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * (1 / (4 * z)).re) z:ℂhz:0 < z.rehfar:1 ≤ (1 / (4 * z)).rehz0:z ≠ 0heq:1 / z = 4 * (1 / (4 * z))hre:(1 / z).re = 4 * (1 / (4 * z)).re⊢ ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * (1 / (4 * z)).re) z:ℂhz:0 < z.rehfar:1 ≤ (1 / (4 * z)).rehz0:z ≠ 0heq:1 / z = 4 * (1 / (4 * z))hre:(1 / z).re = 4 * (1 / (4 * z)).rehfar':1 ≤ (1 / z).re⊢ ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * (1 / (4 * z)).re) z:ℂhz:0 < z.rehfar:1 ≤ (1 / (4 * z)).rehz0:z ≠ 0heq:1 / z = 4 * (1 / (4 * z))hre:(1 / z).re = 4 * (1 / (4 * z)).rehfar':1 ≤ (1 / z).rehexp:Real.exp (-Real.pi * (1 / z).re) ≤ Real.exp (-Real.pi * (1 / (4 * z)).re)⊢ ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * (1 / (4 * z)).re) z:ℂhz:0 < z.rehfar:1 ≤ (1 / (4 * z)).rehz0:z ≠ 0heq:1 / z = 4 * (1 / (4 * z))hre:(1 / z).re = 4 * (1 / (4 * z)).rehfar':1 ≤ (1 / z).rehexp:Real.exp (-Real.pi * (1 / z).re) ≤ Real.exp (-Real.pi * (1 / (4 * z)).re)⊢ ‖z ^ (1 / 2)‖⁻¹ * ‖psi (1 / (4 * z)) - psi (1 / z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * (1 / (4 * z)).re) calc ‖z ^ (1 / 2 : ℂ)‖⁻¹ * ‖psi (1 / (4 * z)) - psi (1 / z)‖ ≤ ‖z ^ (1 / 2 : ℂ)‖⁻¹ * (2 * Real.exp (-Real.pi * (1 / (4 * z)).re) + 2 * Real.exp (-Real.pi * (1 / z).re)) := z:ℂhz:0 < z.rehfar:1 ≤ (1 / (4 * z)).rehz0:z ≠ 0heq:1 / z = 4 * (1 / (4 * z))hre:(1 / z).re = 4 * (1 / (4 * z)).rehfar':1 ≤ (1 / z).rehexp:Real.exp (-Real.pi * (1 / z).re) ≤ Real.exp (-Real.pi * (1 / (4 * z)).re)⊢ ‖z ^ (1 / 2)‖⁻¹ * ‖psi (1 / (4 * z)) - psi (1 / z)‖ ≤ ‖z ^ (1 / 2)‖⁻¹ * (2 * Real.exp (-Real.pi * (1 / (4 * z)).re) + 2 * Real.exp (-Real.pi * (1 / z).re)) z:ℂhz:0 < z.rehfar:1 ≤ (1 / (4 * z)).rehz0:z ≠ 0heq:1 / z = 4 * (1 / (4 * z))hre:(1 / z).re = 4 * (1 / (4 * z)).rehfar':1 ≤ (1 / z).rehexp:Real.exp (-Real.pi * (1 / z).re) ≤ Real.exp (-Real.pi * (1 / (4 * z)).re)⊢ ‖psi (1 / (4 * z)) - psi (1 / z)‖ ≤ 2 * Real.exp (-Real.pi * (1 / (4 * z)).re) + 2 * Real.exp (-Real.pi * (1 / z).re) All goals completed! 🐙 _ ≤ _ := z:ℂhz:0 < z.rehfar:1 ≤ (1 / (4 * z)).rehz0:z ≠ 0heq:1 / z = 4 * (1 / (4 * z))hre:(1 / z).re = 4 * (1 / (4 * z)).rehfar':1 ≤ (1 / z).rehexp:Real.exp (-Real.pi * (1 / z).re) ≤ Real.exp (-Real.pi * (1 / (4 * z)).re)⊢ ‖z ^ (1 / 2)‖⁻¹ * (2 * Real.exp (-Real.pi * (1 / (4 * z)).re) + 2 * Real.exp (-Real.pi * (1 / z).re)) ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * (1 / (4 * z)).re) All goals completed! 🐙 /-- Real part of the reciprocal argument in terms of the original norm. -/theorem re_reciprocal_four_mul (z : ℂ) : (1 / (4 * z)).re = z.re / (4 * ‖z‖ ^ 2) := z:ℂ⊢ (1 / (4 * z)).re = z.re / (4 * ‖z‖ ^ 2) z:ℂ⊢ z.re / normSq z * (re 4 / normSq 4) - -z.im / normSq z * (-im 4 / normSq 4) = z.re / (4 * ‖z‖ ^ 2) z:ℂ⊢ z.re / normSq z * (1 / 4) = z.re / (4 * ‖z‖ ^ 2) z:ℂ⊢ z.re / ‖z‖ ^ 2 * (1 / 4) = z.re / (4 * ‖z‖ ^ 2) All goals completed! 🐙 /-- A sector condition gives a lower bound on the reciprocal real part. -/theorem sector_reciprocal_lower {z : ℂ} {c : ℝ} (hz : z ≠ 0) (hsector : c * ‖z‖ ≤ z.re) : c / (4 * ‖z‖) ≤ (1 / (4 * z)).re := z:ℂc:ℝhz:z ≠ 0hsector:c * ‖z‖ ≤ z.re⊢ c / (4 * ‖z‖) ≤ (1 / (4 * z)).re z:ℂc:ℝhz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehn:0 < ‖z‖⊢ c / (4 * ‖z‖) ≤ (1 / (4 * z)).re z:ℂc:ℝhz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehn:0 < ‖z‖⊢ c / (4 * ‖z‖) ≤ z.re / (4 * ‖z‖ ^ 2) apply (div_le_div_iff₀ (z:ℂc:ℝhz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehn:0 < ‖z‖⊢ 0 < 4 * ‖z‖ All goals completed! 🐙) (z:ℂc:ℝhz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehn:0 < ‖z‖⊢ 0 < 4 * ‖z‖ ^ 2 All goals completed! 🐙)).mpr All goals completed! 🐙 /-- Uniform exponential control in any fixed closed sector of the right half-plane. -/theorem norm_psi_cusp_le_sector {z : ℂ} {c : ℝ} (hc : 0 < c) (hz : z ≠ 0) (hsector : c * ‖z‖ ≤ z.re) (hsmall : ‖z‖ ≤ c / 4) : ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2 : ℂ)‖⁻¹ * Real.exp (-Real.pi * c / (4 * ‖z‖)) := z:ℂc:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4⊢ ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * c / (4 * ‖z‖)) z:ℂc:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖⊢ ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * c / (4 * ‖z‖)) z:ℂc:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖hzre:0 < z.re⊢ ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * c / (4 * ‖z‖)) z:ℂc:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖hzre:0 < z.rehrec:c / (4 * ‖z‖) ≤ (1 / (4 * z)).re⊢ ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * c / (4 * ‖z‖)) z:ℂc:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖hzre:0 < z.rehrec:c / (4 * ‖z‖) ≤ (1 / (4 * z)).rehone:1 ≤ c / (4 * ‖z‖)⊢ ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * c / (4 * ‖z‖)) z:ℂc:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖hzre:0 < z.rehrec:c / (4 * ‖z‖) ≤ (1 / (4 * z)).rehone:1 ≤ c / (4 * ‖z‖)⊢ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * (1 / (4 * z)).re) ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * c / (4 * ‖z‖)) apply mul_le_mul_of_nonneg_left _ (z:ℂc:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖hzre:0 < z.rehrec:c / (4 * ‖z‖) ≤ (1 / (4 * z)).rehone:1 ≤ c / (4 * ‖z‖)⊢ 0 ≤ 4 * ‖z ^ (1 / 2)‖⁻¹ All goals completed! 🐙) z:ℂc:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖hzre:0 < z.rehrec:c / (4 * ‖z‖) ≤ (1 / (4 * z)).rehone:1 ≤ c / (4 * ‖z‖)⊢ -Real.pi * (1 / (4 * z)).re ≤ -Real.pi * c / (4 * ‖z‖) z:ℂc:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖hzre:0 < z.rehrec:c / (4 * ‖z‖) ≤ (1 / (4 * z)).rehone:1 ≤ c / (4 * ‖z‖)h:-Real.pi * (1 / (4 * z)).re ≤ -Real.pi * (c / (4 * ‖z‖))⊢ -Real.pi * (1 / (4 * z)).re ≤ -Real.pi * c / (4 * ‖z‖) All goals completed! 🐙 /-- The sector bound absorbs any real power of the inverse distance to the cusp. -/theorem weighted_norm_psi_cusp_le_sector {z : ℂ} {c : ℝ} (s : ℝ) (hc : 0 < c) (hz : z ≠ 0) (hsector : c * ‖z‖ ≤ z.re) (hsmall : ‖z‖ ≤ c / 4) : (‖z‖⁻¹) ^ s * ‖1 / 2 + psi (I + z)‖ ≤ 4 * (‖z‖⁻¹) ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z‖⁻¹) := z:ℂc:ℝs:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4⊢ ‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z‖⁻¹) z:ℂc:ℝs:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖⊢ ‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z‖⁻¹) z:ℂc:ℝs:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖h:‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ ‖z‖⁻¹ ^ s * (4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * c / (4 * ‖z‖)))⊢ ‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z‖⁻¹) z:ℂc:ℝs:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖h:‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ ‖z‖⁻¹ ^ s * (4 * ‖z ^ (1 / 2)‖⁻¹ * Real.exp (-Real.pi * c / (4 * ‖z‖)))hp:‖z ^ (1 / 2)‖⁻¹ = ‖z‖⁻¹ ^ (1 / 2)⊢ ‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z‖⁻¹) z:ℂc:ℝs:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖h:‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ ‖z‖⁻¹ ^ s * (4 * ‖z‖⁻¹ ^ (1 / 2) * Real.exp (-Real.pi * c / (4 * ‖z‖)))hp:‖z ^ (1 / 2)‖⁻¹ = ‖z‖⁻¹ ^ (1 / 2)⊢ ‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ 4 * ‖z‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z‖⁻¹) z:ℂc:ℝs:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖h:‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ ‖z‖⁻¹ ^ s * (4 * ‖z‖⁻¹ ^ (1 / 2) * Real.exp (-Real.pi * c / (4 * ‖z‖)))hp:‖z ^ (1 / 2)‖⁻¹ = ‖z‖⁻¹ ^ (1 / 2)⊢ ‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ 4 * (‖z‖⁻¹ ^ s * ‖z‖⁻¹ ^ (1 / 2)) * Real.exp (-(Real.pi * c / 4) * ‖z‖⁻¹) z:ℂc:ℝs:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖h:‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ ‖z‖⁻¹ ^ s * (4 * ‖z‖⁻¹ ^ (1 / 2) * Real.exp (-Real.pi * c / (4 * ‖z‖)))hp:‖z ^ (1 / 2)‖⁻¹ = ‖z‖⁻¹ ^ (1 / 2)he:-Real.pi * c / (4 * ‖z‖) = -(Real.pi * c / 4) * ‖z‖⁻¹⊢ ‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ 4 * (‖z‖⁻¹ ^ s * ‖z‖⁻¹ ^ (1 / 2)) * Real.exp (-(Real.pi * c / 4) * ‖z‖⁻¹) z:ℂc:ℝs:ℝhc:0 < chz:z ≠ 0hsector:c * ‖z‖ ≤ z.rehsmall:‖z‖ ≤ c / 4hn:0 < ‖z‖h:‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ ‖z‖⁻¹ ^ s * (4 * ‖z‖⁻¹ ^ (1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z‖⁻¹))hp:‖z ^ (1 / 2)‖⁻¹ = ‖z‖⁻¹ ^ (1 / 2)he:-Real.pi * c / (4 * ‖z‖) = -(Real.pi * c / 4) * ‖z‖⁻¹⊢ ‖z‖⁻¹ ^ s * ‖1 / 2 + psi (I + z)‖ ≤ 4 * (‖z‖⁻¹ ^ s * ‖z‖⁻¹ ^ (1 / 2)) * Real.exp (-(Real.pi * c / 4) * ‖z‖⁻¹) All goals completed! 🐙 /-- Along a nontangential approach, the cusp value decays faster than every power. -/theorem tendsto_weighted_psi_cusp {ι : Type*} {l : Filter ι} {z : ι → ℂ} {c : ℝ} (hc : 0 < c) (s : ℝ) (hz : Tendsto z l (𝓝 0)) (hne : ∀ᶠ t in l, z t ≠ 0) (hsector : ∀ᶠ t in l, c * ‖z t‖ ≤ (z t).re) : Tendsto (fun t ↦ (‖z t‖⁻¹) ^ s * ‖1 / 2 + psi (I + z t)‖) l (𝓝 0) := ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).re⊢ Tendsto (fun t => ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖) l (𝓝 0) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)⊢ Tendsto (fun t => ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖) l (𝓝 0) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖⊢ Tendsto (fun t => ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖) l (𝓝 0) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)⊢ Tendsto (fun t => ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖) l (𝓝 0) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTop⊢ Tendsto (fun t => ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖) l (𝓝 0) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTophlim:Tendsto ((fun x => x ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * x)) ∘ fun t => ‖z t‖⁻¹) l (𝓝 0)⊢ Tendsto (fun t => ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖) l (𝓝 0) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTophlim:Tendsto ((fun x => x ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * x)) ∘ fun t => ‖z t‖⁻¹) l (𝓝 0)hbound:Tendsto (fun t => 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹)) l (𝓝 0)⊢ Tendsto (fun t => ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖) l (𝓝 0) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTophlim:Tendsto ((fun x => x ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * x)) ∘ fun t => ‖z t‖⁻¹) l (𝓝 0)hbound:Tendsto (fun t => 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹)) l (𝓝 0)hsmall:∀ᶠ (t : ι) in l, ‖z t‖ ≤ c / 4⊢ Tendsto (fun t => ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖) l (𝓝 0) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTophlim:Tendsto ((fun x => x ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * x)) ∘ fun t => ‖z t‖⁻¹) l (𝓝 0)hbound:Tendsto (fun t => 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹)) l (𝓝 0)hsmall:∀ᶠ (t : ι) in l, ‖z t‖ ≤ c / 4⊢ ∀ᶠ (t : ι) in l, 0 ≤ ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTophlim:Tendsto ((fun x => x ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * x)) ∘ fun t => ‖z t‖⁻¹) l (𝓝 0)hbound:Tendsto (fun t => 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹)) l (𝓝 0)hsmall:∀ᶠ (t : ι) in l, ‖z t‖ ≤ c / 4⊢ ∀ᶠ (t : ι) in l, ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖ ≤ 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTophlim:Tendsto ((fun x => x ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * x)) ∘ fun t => ‖z t‖⁻¹) l (𝓝 0)hbound:Tendsto (fun t => 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹)) l (𝓝 0)hsmall:∀ᶠ (t : ι) in l, ‖z t‖ ≤ c / 4⊢ ∀ᶠ (t : ι) in l, 0 ≤ ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖ filter_upwards with t using mul_nonneg (Real.rpow_nonneg (ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTophlim:Tendsto ((fun x => x ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * x)) ∘ fun t => ‖z t‖⁻¹) l (𝓝 0)hbound:Tendsto (fun t => 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹)) l (𝓝 0)hsmall:∀ᶠ (t : ι) in l, ‖z t‖ ≤ c / 4t:ι⊢ 0 ≤ ‖z t‖⁻¹ All goals completed! 🐙) _) (norm_nonneg _) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTophlim:Tendsto ((fun x => x ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * x)) ∘ fun t => ‖z t‖⁻¹) l (𝓝 0)hbound:Tendsto (fun t => 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹)) l (𝓝 0)hsmall:∀ᶠ (t : ι) in l, ‖z t‖ ≤ c / 4⊢ ∀ᶠ (t : ι) in l, ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖ ≤ 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹) filter_upwards [hne, hsector, hsmall] with t ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTophlim:Tendsto ((fun x => x ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * x)) ∘ fun t => ‖z t‖⁻¹) l (𝓝 0)hbound:Tendsto (fun t => 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹)) l (𝓝 0)hsmall:∀ᶠ (t : ι) in l, ‖z t‖ ≤ c / 4t:ιht:z t ≠ 0⊢ c * ‖z t‖ ≤ (z t).re → ‖z t‖ ≤ c / 4 → ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖ ≤ 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTophlim:Tendsto ((fun x => x ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * x)) ∘ fun t => ‖z t‖⁻¹) l (𝓝 0)hbound:Tendsto (fun t => 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹)) l (𝓝 0)hsmall:∀ᶠ (t : ι) in l, ‖z t‖ ≤ c / 4t:ιht:z t ≠ 0hs:c * ‖z t‖ ≤ (z t).re⊢ ‖z t‖ ≤ c / 4 → ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖ ≤ 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹) ι:Type u_1l:Filter ιz:ι → ℂc:ℝhc:0 < cs:ℝhz:Tendsto z l (𝓝 0)hne:∀ᶠ (t : ι) in l, z t ≠ 0hsector:∀ᶠ (t : ι) in l, c * ‖z t‖ ≤ (z t).rehnorm:Tendsto (fun t => ‖z t‖) l (𝓝 0)hpos:∀ᶠ (t : ι) in l, 0 < ‖z t‖hnorm':Tendsto (fun t => ‖z t‖) l (𝓝[>] 0)hinv:Tendsto (fun t => ‖z t‖⁻¹) l atTophlim:Tendsto ((fun x => x ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * x)) ∘ fun t => ‖z t‖⁻¹) l (𝓝 0)hbound:Tendsto (fun t => 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹)) l (𝓝 0)hsmall:∀ᶠ (t : ι) in l, ‖z t‖ ≤ c / 4t:ιht:z t ≠ 0hs:c * ‖z t‖ ≤ (z t).rehsm:‖z t‖ ≤ c / 4⊢ ‖z t‖⁻¹ ^ s * ‖1 / 2 + psi (I + z t)‖ ≤ 4 * ‖z t‖⁻¹ ^ (s + 1 / 2) * Real.exp (-(Real.pi * c / 4) * ‖z t‖⁻¹) All goals completed! 🐙 end HardyZeta