pith. machine review for the scientific record. sign in

IndisputableMonolith.NumberTheory.StripZeroFreeRegion

IndisputableMonolith/NumberTheory/StripZeroFreeRegion.lean · 175 lines · 16 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.NumberTheory.WeakZeroFreeRegion
   3import IndisputableMonolith.NumberTheory.ZetaFromTheta
   4
   5/-!
   6  StripZeroFreeRegion.lean
   7
   8  Phase 5 of the RS-native zeta program.
   9
  10  This module does two things:
  11
  12  1. It records the proven Mathlib zero-free result on the line/half-plane
  13     `Re(s) ≥ 1`.
  14  2. It names the genuine strip-zero-free theorem still needed for RH-quality
  15     closure.
  16
  17  We do not assert the strip theorem as proved.  It is packaged as the next
  18  bridge object, with a theorem showing that if the bridge exists then the
  19  corresponding zero-free conclusion follows.
  20-/
  21
  22namespace IndisputableMonolith
  23namespace NumberTheory
  24namespace StripZeroFreeRegion
  25
  26noncomputable section
  27
  28/-! ## 1. Proven classical boundary region -/
  29
  30/-- Mathlib's de la Vallée-Poussin/Hadamard line theorem: `riemannZeta` is
  31nonzero on `Re(s) ≥ 1`. -/
  32theorem riemannZeta_ne_zero_re_ge_one {s : ℂ} (hs : 1 ≤ s.re) :
  33    riemannZeta s ≠ 0 :=
  34  riemannZeta_ne_zero_of_one_le_re hs
  35
  36/-- The corresponding strict half-plane theorem. -/
  37theorem riemannZeta_ne_zero_re_gt_one {s : ℂ} (hs : 1 < s.re) :
  38    riemannZeta s ≠ 0 :=
  39  riemannZeta_ne_zero_of_one_lt_re hs
  40
  41/-- Certificate for the proved boundary zero-free region. -/
  42structure BoundaryZeroFreeCert where
  43  ge_one : ∀ s : ℂ, 1 ≤ s.re → riemannZeta s ≠ 0
  44  gt_one : ∀ s : ℂ, 1 < s.re → riemannZeta s ≠ 0
  45
  46def boundaryZeroFreeCert : BoundaryZeroFreeCert where
  47  ge_one := fun _ hs => riemannZeta_ne_zero_re_ge_one hs
  48  gt_one := fun _ hs => riemannZeta_ne_zero_re_gt_one hs
  49
  50/-! ## 2. The true strip target -/
  51
  52/-- A logarithmic zero-free strip with constants `c` and `T`.
  53
  54For `|Im(s)| ≥ T`, the region
  55`Re(s) > 1 - c / log(|Im(s)|)` is zero-free. This is the classical
  56Hadamard-de la Vallée-Poussin shape, stated as the exact bridge needed by
  57the RS program. -/
  58structure LogZeroFreeStrip where
  59  c : ℝ
  60  T : ℝ
  61  c_pos : 0 < c
  62  T_gt_one : 1 < T
  63  zero_free :
  64    ∀ s : ℂ, T ≤ |s.im| →
  65      1 - c / Real.log |s.im| < s.re →
  66        riemannZeta s ≠ 0
  67
  68/-- The strip theorem as the next named bridge. -/
  69def StripZeroFreeBridge : Prop :=
  70  Nonempty LogZeroFreeStrip
  71
  72/-- Any strip bridge gives the corresponding zero-free conclusion. -/
  73theorem riemannZeta_ne_zero_in_log_strip
  74    (bridge : StripZeroFreeBridge) :
  75    ∃ c T : ℝ, 0 < c ∧ 1 < T ∧
  76      ∀ s : ℂ, T ≤ |s.im| →
  77        1 - c / Real.log |s.im| < s.re →
  78          riemannZeta s ≠ 0 := by
  79  rcases bridge with ⟨strip⟩
  80  exact ⟨strip.c, strip.T, strip.c_pos, strip.T_gt_one, strip.zero_free⟩
  81
  82/-! ## 3. Relation to the weak zero-free-region module -/
  83
  84/-- A proven boundary certificate and a named open strip bridge are exactly the
  85honest Phase 5 state. -/
  86structure StripPhase5Cert where
  87  boundary : BoundaryZeroFreeCert
  88  strip_bridge : StripZeroFreeBridge → Prop
  89
  90def stripPhase5Cert : StripPhase5Cert where
  91  boundary := boundaryZeroFreeCert
  92  strip_bridge := fun _ => True
  93
  94/-- The current unconditional zero-free region available to the RS zeta program
  95is the boundary region `Re ≥ 1`; the logarithmic strip is the named bridge. -/
  96theorem phase5_current_state :
  97    (∀ s : ℂ, 1 ≤ s.re → riemannZeta s ≠ 0) ∧
  98      (StripZeroFreeBridge → ∃ c T : ℝ, 0 < c ∧ 1 < T ∧
  99        ∀ s : ℂ, T ≤ |s.im| →
 100          1 - c / Real.log |s.im| < s.re →
 101            riemannZeta s ≠ 0) := by
 102  exact ⟨fun s hs => riemannZeta_ne_zero_re_ge_one hs,
 103    riemannZeta_ne_zero_in_log_strip⟩
 104
 105/-! ## 4. Phase 7: critical-strip zero-free bridge
 106
 107The `LogZeroFreeStrip` above is the classical de la Vallée-Poussin shape and
 108is not enough to close the recovered RH chain. The chain is built around
 109witnessed defect sensors with `1/2 < Re(ρ) < 1`, so vacuous closure requires
 110zero-freeness on the open right half of the critical strip. That bridge is
 111the actual analytic input sitting between the recovered chain and a
 112million-dollar theorem.
 113
 114We name it explicitly here. We do not inhabit it. We do prove that it is
 115implied by Mathlib's formal Riemann hypothesis, so callers can see the
 116irreducible analytic content. -/
 117
 118/-- Critical-strip zero-free witness: `riemannZeta s ≠ 0` for every
 119`s` with `1/2 < Re(s) < 1`. -/
 120structure CriticalStripZeroFree where
 121  zero_free : ∀ s : ℂ, 1/2 < s.re → s.re < 1 → riemannZeta s ≠ 0
 122
 123/-- The critical-strip bridge as a named target. -/
 124def CriticalStripZeroFreeBridge : Prop :=
 125  Nonempty CriticalStripZeroFree
 126
 127/-- Mathlib's `RiemannHypothesis` (every nontrivial nonpole zero is on the
 128critical line) implies the open right half-strip is zero-free. -/
 129theorem criticalStrip_zero_free_of_riemannHypothesis
 130    (hRH : RiemannHypothesis) :
 131    ∀ s : ℂ, 1/2 < s.re → s.re < 1 → riemannZeta s ≠ 0 := by
 132  intro s hlow hhigh hzero
 133  have hs1 : s ≠ 1 := by
 134    intro h
 135    have : s.re = 1 := by simp [h]
 136    linarith
 137  have hntriv : ¬ ∃ n : ℕ, s = -2 * (n + 1) := by
 138    rintro ⟨n, hn⟩
 139    have hre : s.re = -2 * ((n : ℝ) + 1) := by
 140      have := congrArg Complex.re hn
 141      simpa using this
 142    have hpos : (0 : ℝ) < 2 * ((n : ℝ) + 1) := by positivity
 143    have hneg : s.re < 0 := by rw [hre]; linarith
 144    linarith
 145  have hrhalf : s.re = 1 / 2 := hRH s hzero hntriv hs1
 146  linarith
 147
 148/-- Mathlib's RH implies the critical-strip bridge. -/
 149theorem criticalStripZeroFreeBridge_of_riemannHypothesis
 150    (hRH : RiemannHypothesis) :
 151    CriticalStripZeroFreeBridge :=
 152  ⟨{ zero_free := criticalStrip_zero_free_of_riemannHypothesis hRH }⟩
 153
 154/-- Phase 7 honest state: the boundary region is proved, the critical-strip
 155bridge is named as a target, and we record that it is no stronger than RH. -/
 156structure StripPhase7Cert where
 157  boundary : BoundaryZeroFreeCert
 158  log_strip_bridge_named : True
 159  critical_strip_bridge_named : True
 160  critical_strip_implied_by_RH :
 161    RiemannHypothesis → CriticalStripZeroFreeBridge
 162
 163def stripPhase7Cert : StripPhase7Cert where
 164  boundary := boundaryZeroFreeCert
 165  log_strip_bridge_named := trivial
 166  critical_strip_bridge_named := trivial
 167  critical_strip_implied_by_RH :=
 168    criticalStripZeroFreeBridge_of_riemannHypothesis
 169
 170end
 171
 172end StripZeroFreeRegion
 173end NumberTheory
 174end IndisputableMonolith
 175

source mirrored from github.com/jonwashburn/shape-of-logic