Hardy zeta

11.1. HardyZeta.CriticalLine🔗

def criticalPoint (t : ℝ) : ℂ := 1 / 2 + t * Complex.I@[simp] theorem criticalPoint_re (t : ℝ) : (criticalPoint t).re = 1 / 2 := t:ℝ⊢ (criticalPoint t).re = 1 / 2 All goals completed! 🐙@[simp] theorem criticalPoint_im (t : ℝ) : (criticalPoint t).im = t := t:ℝ⊢ (criticalPoint t).im = t All goals completed! 🐙theorem criticalPoint_injective : Function.Injective criticalPoint := ⊢ Function.Injective criticalPoint t:ℝu:ℝh:criticalPoint t = criticalPoint u⊢ t = u All goals completed! 🐙theorem criticalPoint_ne_zero (t : ℝ) : criticalPoint t ≠ 0 := t:ℝ⊢ criticalPoint t ≠ 0 t:ℝh:criticalPoint t = 0⊢ False t:ℝh:criticalPoint t = 0this:(criticalPoint t).re = Complex.re 0⊢ False All goals completed! 🐙theorem criticalPoint_ne_one (t : ℝ) : criticalPoint t ≠ 1 := t:ℝ⊢ criticalPoint t ≠ 1 t:ℝh:criticalPoint t = 1⊢ False t:ℝh:criticalPoint t = 1this:(criticalPoint t).re = Complex.re 1⊢ False All goals completed! 🐙theorem continuous_criticalPoint : Continuous criticalPoint := ⊢ Continuous criticalPoint ⊢ Continuous fun t => 1 / 2 + ↑t * Complex.I All goals completed! 🐙 /-- Riemann's xi normalization, used only away from its removable singularities here. -/def xi (s : ℂ) : ℂ := (1 / 2) * s * (s - 1) * completedRiemannZeta s /-- The complex-valued restriction; reality is a separate theorem, not a coercion assumption. -/def criticalXi (t : ℝ) : ℂ := xi (criticalPoint t)theorem completedZeta_criticalPoint_eq_zero_iff (t : ℝ) : completedRiemannZeta (criticalPoint t) = 0 ↔ riemannZeta (criticalPoint t) = 0 := t:ℝ⊢ completedRiemannZeta (criticalPoint t) = 0 ↔ riemannZeta (criticalPoint t) = 0 t:ℝ⊢ completedRiemannZeta (criticalPoint t) = 0 ↔ completedRiemannZeta (criticalPoint t) / (criticalPoint t).Gammaℝ = 0 t:ℝhg:(criticalPoint t).Gammaℝ ≠ 0⊢ completedRiemannZeta (criticalPoint t) = 0 ↔ completedRiemannZeta (criticalPoint t) / (criticalPoint t).Gammaℝ = 0 All goals completed! 🐙theorem criticalXi_eq_zero_iff (t : ℝ) : criticalXi t = 0 ↔ riemannZeta (criticalPoint t) = 0 := t:ℝ⊢ criticalXi t = 0 ↔ riemannZeta (criticalPoint t) = 0 t:ℝ⊢ ((1 / 2 = 0 ∨ criticalPoint t = 0) ∨ criticalPoint t - 1 = 0) ∨ completedRiemannZeta (criticalPoint t) = 0 ↔ riemannZeta (criticalPoint t) = 0 All goals completed! 🐙theorem xi_one_sub (s : ℂ) : xi (1 - s) = xi s := s:ℂ⊢ xi (1 - s) = xi s s:ℂ⊢ 1 / 2 * (1 - s) * (1 - s - 1) * completedRiemannZeta (1 - s) = 1 / 2 * s * (s - 1) * completedRiemannZeta s s:ℂ⊢ 1 / 2 * (1 - s) * (1 - s - 1) * completedRiemannZeta s = 1 / 2 * s * (s - 1) * completedRiemannZeta s All goals completed! 🐙theorem criticalPoint_neg (t : ℝ) : criticalPoint (-t) = 1 - criticalPoint t := t:ℝ⊢ criticalPoint (-t) = 1 - criticalPoint t t:ℝ⊢ 2⁻¹ + -(↑t * Complex.I) = 1 - (2⁻¹ + ↑t * Complex.I) All goals completed! 🐙theorem criticalXi_neg (t : ℝ) : criticalXi (-t) = criticalXi t := t:ℝ⊢ criticalXi (-t) = criticalXi t All goals completed! 🐙theorem continuous_criticalXi : Continuous criticalXi := ⊢ Continuous criticalXi hc:Continuous fun t => completedRiemannZeta (criticalPoint t)⊢ Continuous criticalXi hc:Continuous fun t => completedRiemannZeta (criticalPoint t)⊢ Continuous fun t => 1 / 2 * criticalPoint t * (criticalPoint t - 1) * completedRiemannZeta (criticalPoint t) All goals completed! 🐙 /-- Exact target of the development; defining this proposition is not proving it. -/def InfinitelyManyCriticalZeros : Prop := Set.Infinite {s : ℂ | s.re = 1 / 2 ∧ riemannZeta s = 0} /-- The stronger positive-ordinate form of Hardy's theorem. -/def ZerosAboveEveryHeight : Prop := ∀ T : ℝ, ∃ t : ℝ, T < t ∧ riemannZeta (criticalPoint t) = 0theorem infinite_criticalZeros_of_zerosAboveEveryHeight (h : ZerosAboveEveryHeight) : InfinitelyManyCriticalZeros := h:ZerosAboveEveryHeight⊢ InfinitelyManyCriticalZeros h:ZerosAboveEveryHeighthf:{s | s.re = 1 / 2 ∧ riemannZeta s = 0}.Finite⊢ False h:ZerosAboveEveryHeighthf:{s | s.re = 1 / 2 ∧ riemannZeta s = 0}.Finitehb:BddAbove (Complex.im '' {s | s.re = 1 / 2 ∧ riemannZeta s = 0})⊢ False h:ZerosAboveEveryHeighthf:{s | s.re = 1 / 2 ∧ riemannZeta s = 0}.FiniteM:ℝhM:M ∈ upperBounds (Complex.im '' {s | s.re = 1 / 2 ∧ riemannZeta s = 0})⊢ False h:ZerosAboveEveryHeighthf:{s | s.re = 1 / 2 ∧ riemannZeta s = 0}.FiniteM:ℝhM:M ∈ upperBounds (Complex.im '' {s | s.re = 1 / 2 ∧ riemannZeta s = 0})t:ℝht:M < thz:riemannZeta (criticalPoint t) = 0⊢ False h:ZerosAboveEveryHeighthf:{s | s.re = 1 / 2 ∧ riemannZeta s = 0}.FiniteM:ℝhM:M ∈ upperBounds (Complex.im '' {s | s.re = 1 / 2 ∧ riemannZeta s = 0})t:ℝht:M < thz:riemannZeta (criticalPoint t) = 0hmem:(criticalPoint t).im ∈ Complex.im '' {s | s.re = 1 / 2 ∧ riemannZeta s = 0}⊢ False h:ZerosAboveEveryHeighthf:{s | s.re = 1 / 2 ∧ riemannZeta s = 0}.FiniteM:ℝhM:M ∈ upperBounds (Complex.im '' {s | s.re = 1 / 2 ∧ riemannZeta s = 0})t:ℝht:M < thz:riemannZeta (criticalPoint t) = 0hmem:(criticalPoint t).im ∈ Complex.im '' {s | s.re = 1 / 2 ∧ riemannZeta s = 0}this:(criticalPoint t).im ≤ M⊢ False h:ZerosAboveEveryHeighthf:{s | s.re = 1 / 2 ∧ riemannZeta s = 0}.FiniteM:ℝhM:M ∈ upperBounds (Complex.im '' {s | s.re = 1 / 2 ∧ riemannZeta s = 0})t:ℝht:M < thz:riemannZeta (criticalPoint t) = 0hmem:(criticalPoint t).im ∈ Complex.im '' {s | s.re = 1 / 2 ∧ riemannZeta s = 0}this:t ≤ M⊢ False All goals completed! 🐙 end HardyZeta