IndisputableMonolith.NumberTheory.XiJBridge
IndisputableMonolith/NumberTheory/XiJBridge.lean · 185 lines · 18 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Cost
3import IndisputableMonolith.NumberTheory.ZeroLocationCost
4
5/-!
6# ξ(s)–J(x) Bridge: The Functional Equation as Cost Symmetry
7
8The completed Riemann xi function satisfies ξ(s) = ξ(1−s).
9The J-cost functional satisfies J(x) = J(1/x).
10
11Under the defect-coordinate map x = e^{2(Re(s) − 1/2)}:
12
13* Critical line Re(s) = 1/2 ↦ x = 1 (unique minimum of J)
14* Functional reflection s ↦ 1−s ↦ x ↦ 1/x (J-symmetry)
15* Zero defect J(x) = 0 ↔ x = 1 ↔ Re(s) = 1/2
16
17This is not analogy — it is the **same** algebraic structure. The ξ
18functional equation is a restatement of J-cost reciprocal symmetry in the
19coordinate system of the critical strip.
20
21## Main results
22
231. `xiMap_reflection`: functional reflection s↦1−s acts as x↦1/x
242. `jcost_xiMap_eq_cosh`: J on defect coordinates is cosh(2η)−1
253. `rcl_defect_coordinates`: the full RCL holds in strip coordinates
264. `paired_zero_composition`: self-composition amplifies defect:
27 J(x²) = 2·J(x)² + 4·J(x)
285. `rh_equivalent_to_zero_cost`: RH ↔ all zeros have J-cost zero
29-/
30
31namespace IndisputableMonolith
32namespace NumberTheory
33
34open Real Cost
35
36noncomputable section
37
38/-! ## §0. Helper: Jcost on exp equals cosh − 1 -/
39
40/-- J(eᵗ) = cosh(t) − 1. Direct proof from Jcost_exp and cosh definition. -/
41private theorem jcost_exp_eq_cosh (t : ℝ) :
42 Jcost (Real.exp t) = Real.cosh t - 1 := by
43 rw [Jcost_exp, Real.cosh_eq]
44
45/-! ## §1. The defect-coordinate map -/
46
47/-- The defect-coordinate map: σ ↦ e^{2(σ − 1/2)}.
48 Maps the critical strip to ℝ₊ with the critical line 1/2 ↦ 1. -/
49def xiMap (σ : ℝ) : ℝ := Real.exp (2 * (σ - 1 / 2))
50
51@[simp] theorem xiMap_pos (σ : ℝ) : 0 < xiMap σ := Real.exp_pos _
52
53theorem xiMap_ne_zero (σ : ℝ) : xiMap σ ≠ 0 := (xiMap_pos σ).ne'
54
55/-- The critical line maps to x = 1, the unique minimum of J. -/
56@[simp] theorem xiMap_at_half : xiMap (1 / 2) = 1 := by
57 simp [xiMap]
58
59/-- **Functional reflection acts as reciprocal inversion.**
60 This is the bridge equation: ξ(s) = ξ(1−s) becomes J(x) = J(1/x). -/
61theorem xiMap_reflection (σ : ℝ) : xiMap (1 - σ) = (xiMap σ)⁻¹ := by
62 simp only [xiMap]
63 rw [show 2 * ((1 : ℝ) - σ - 1 / 2) = -(2 * (σ - 1 / 2)) from by ring]
64 simp [Real.exp_neg]
65
66/-- The defect-coordinate map is strictly monotone on the strip. -/
67theorem xiMap_strictMono : StrictMono xiMap := by
68 intro a b hab
69 simp only [xiMap]
70 exact Real.exp_strictMono (by linarith)
71
72/-! ## §2. Connection to ZeroLocationCost -/
73
74/-- xiMap agrees with exp(zeroDeviation) from ZeroLocationCost. -/
75theorem xiMap_eq_exp_zeroDeviation (ρ : ℂ) :
76 xiMap ρ.re = Real.exp (zeroDeviation ρ) := by
77 simp [xiMap, zeroDeviation]
78
79/-! ## §3. J-cost in strip coordinates -/
80
81/-- J-cost on defect coordinates gives the cosh form of the zero defect:
82 J(e^{2η}) = cosh(2η) − 1 where η = σ − 1/2. -/
83theorem jcost_xiMap_eq_cosh (σ : ℝ) :
84 Jcost (xiMap σ) = Real.cosh (2 * (σ - 1 / 2)) - 1 :=
85 jcost_exp_eq_cosh (2 * (σ - 1 / 2))
86
87/-- J-cost vanishes on the critical line. -/
88@[simp] theorem jcost_xiMap_at_half : Jcost (xiMap (1 / 2)) = 0 := by
89 rw [xiMap_at_half, Jcost_unit0]
90
91/-- J-cost is nonneg on the strip. -/
92theorem jcost_xiMap_nonneg (σ : ℝ) : 0 ≤ Jcost (xiMap σ) :=
93 Jcost_nonneg (xiMap_pos σ)
94
95/-- J-cost on defect coordinates is symmetric under functional reflection.
96 This IS the bridge: ξ(s)=ξ(1−s) ↔ J(x)=J(1/x). -/
97theorem jcost_xiMap_functional_symmetry (σ : ℝ) :
98 Jcost (xiMap (1 - σ)) = Jcost (xiMap σ) := by
99 rw [xiMap_reflection, Jcost_symm (xiMap_pos σ)]
100
101/-- RH is equivalent to all zeros having zero J-cost. -/
102theorem rh_equivalent_to_zero_cost (ρ : ℂ) :
103 OnCriticalLine ρ ↔ Jcost (xiMap ρ.re) = 0 := by
104 constructor
105 · intro h
106 rw [jcost_xiMap_eq_cosh]
107 simp [OnCriticalLine] at h; simp [h, Real.cosh_zero]
108 · intro h
109 rw [jcost_xiMap_eq_cosh] at h
110 have hJ : Foundation.DiscretenessForcing.J_log (2 * (ρ.re - 1 / 2)) = 0 := by
111 simp only [Foundation.DiscretenessForcing.J_log]; linarith
112 have hzero := Foundation.DiscretenessForcing.J_log_eq_zero_iff.mp hJ
113 simp only [OnCriticalLine]; linarith
114
115/-! ## §4. The Recognition Composition Law on defect coordinates -/
116
117/-- **The RCL holds on defect coordinates.**
118 For any two points σ₁, σ₂ in the strip, the composition law
119 constrains their joint defect. -/
120theorem rcl_defect_coordinates (σ₁ σ₂ : ℝ) :
121 Jcost (xiMap σ₁ * xiMap σ₂) + Jcost (xiMap σ₁ / xiMap σ₂) =
122 2 * Jcost (xiMap σ₁) * Jcost (xiMap σ₂) +
123 2 * Jcost (xiMap σ₁) + 2 * Jcost (xiMap σ₂) := by
124 have h₁ : xiMap σ₁ ≠ 0 := xiMap_ne_zero σ₁
125 have h₂ : xiMap σ₂ ≠ 0 := xiMap_ne_zero σ₂
126 have h₃ : xiMap σ₁ * xiMap σ₂ ≠ 0 := mul_ne_zero h₁ h₂
127 have h₄ : xiMap σ₁ / xiMap σ₂ ≠ 0 := div_ne_zero h₁ h₂
128 simp only [Jcost]
129 field_simp
130 ring
131
132/-- The product of defect coordinates for reflected points is 1. -/
133theorem xiMap_mul_reflection (σ : ℝ) : xiMap σ * xiMap (1 - σ) = 1 := by
134 rw [xiMap_reflection]
135 exact mul_inv_cancel₀ (xiMap_ne_zero σ)
136
137/-- The quotient of defect coordinates for reflected points squares. -/
138theorem xiMap_div_reflection (σ : ℝ) : xiMap σ / xiMap (1 - σ) = (xiMap σ) ^ 2 := by
139 rw [xiMap_reflection]
140 have hx : xiMap σ ≠ 0 := xiMap_ne_zero σ
141 field_simp
142
143/-! ## §5. Self-composition for paired zeros -/
144
145/-- **Self-composition formula for functional-equation pairs.**
146
147 For a paired zero (ρ, 1−ρ) with defect coordinate x = xiMap(σ):
148
149 J(x²) = 2·J(x)² + 4·J(x)
150
151 This is the "amplification equation": the composition defect of a
152 functional-equation pair grows quadratically in the individual defect.
153
154 Proof: substitute x₁=x, x₂=1/x into the RCL. Then x₁·x₂=1 (J=0)
155 and x₁/x₂=x², giving J(x²) = 2J(x)²+4J(x) since J(x)=J(1/x). -/
156theorem paired_zero_composition (σ : ℝ) :
157 Jcost ((xiMap σ) ^ 2) =
158 2 * (Jcost (xiMap σ)) ^ 2 + 4 * Jcost (xiMap σ) := by
159 have hx : xiMap σ ≠ 0 := xiMap_ne_zero σ
160 have hx2 : (xiMap σ) ^ 2 ≠ 0 := pow_ne_zero 2 hx
161 simp only [Jcost]
162 field_simp
163 ring
164
165/-- Self-composition in cosh form: the double-angle identity.
166 cosh(4η) − 1 = 2·(cosh(2η) − 1)² + 4·(cosh(2η) − 1).
167
168 This follows from the cosh double-angle formula cosh(2t) = 2cosh²(t)−1,
169 which is itself a consequence of the RCL in log-coordinates. -/
170theorem self_composition_cosh (η : ℝ) :
171 Real.cosh (2 * (2 * η)) - 1 =
172 2 * (Real.cosh (2 * η) - 1) ^ 2 + 4 * (Real.cosh (2 * η) - 1) := by
173 have hd := Real.cosh_two_mul (2 * η)
174 have hs := Real.cosh_sq (2 * η)
175 set c := Real.cosh (2 * η) with hc_def
176 set s := Real.sinh (2 * η) with hs_def
177 have lhs : Real.cosh (2 * (2 * η)) - 1 = 2 * c ^ 2 - 2 := by linarith
178 have rhs : 2 * (c - 1) ^ 2 + 4 * (c - 1) = 2 * c ^ 2 - 2 := by ring
179 linarith
180
181end
182
183end NumberTheory
184end IndisputableMonolith
185