IndisputableMonolith.Cosmology.EtaBPrefactorDerivation
IndisputableMonolith/Cosmology/EtaBPrefactorDerivation.lean · 260 lines · 28 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Constants
3import IndisputableMonolith.Foundation.IntegrationGap
4
5/-!
6# η_B Prefactor: Two-Sided 8-Tick Washout
7
8The order-one prefactor `c` in the baryogenesis formula
9
10 η_B = c × (algebraic content forced by integration-gap rung)
11
12is structurally derived as `c_RS = (1 − φ^(−8))^2`. The interpretive
13argument is that the matter and antimatter sectors each carry one
14integration-gap-worth of fermionic degrees of freedom and each is
15washed out at rate `φ^(−8)` (one rung per fundamental tick at `D = 3`).
16The squared form encodes two independent washout channels.
17
18We prove:
19
20* `φ^8 = 21φ + 13` via the Fibonacci identity `φ^(n+1) = F(n+1)φ + F(n)`.
21* `φ^8 ∈ (46.81, 47.03)` via `φ ∈ (1.61, 1.62)`.
22* `φ^(−8) ∈ (0.02126, 0.02137)`.
23* `c_RS := (1 − φ^(−8))^2 ∈ (0.956, 0.959)` (numerical band).
24* `φ^(−44) ∈ (6.37 × 10⁻¹⁰, 6.40 × 10⁻¹⁰)` via Fibonacci `F(44) = 701408733`.
25* `c_RS · φ^(−44) ∈ (6.0 × 10⁻¹⁰, 6.2 × 10⁻¹⁰)`, the predicted η_B band.
26
27The Planck 2018 measurement `η_B = (6.10 ± 0.04) × 10⁻¹⁰` falls inside
28the predicted band. Honest scope: the band-level theorem is
29`THEOREM`-grade; the interpretive squared form is `HYPOTHESIS`-grade
30pending a first-principles Boltzmann-equation derivation.
31
32## Status
33
34* `0 sorry`
35* No theory-specific axioms; standard kernel only (plus `native_decide`
36 for small Fibonacci arithmetic, which uses `Lean.ofReduceBool` and
37 `Lean.trustCompiler`).
38-/
39
40namespace IndisputableMonolith
41namespace Cosmology
42namespace EtaBPrefactorDerivation
43
44open Constants
45
46noncomputable section
47
48/-! ## φ^8 from the Fibonacci identity -/
49
50/-- `φ^8 = 21 φ + 13`, derived stepwise from `φ^2 = φ + 1`. -/
51theorem phi_pow_8_fib : phi ^ (8 : ℕ) = 21 * phi + 13 := by
52 have h2 : phi ^ 2 = phi + 1 := phi_sq_eq
53 have h4 : phi ^ 4 = 3 * phi + 2 := by
54 have hexp : phi ^ 4 = phi ^ 2 * phi ^ 2 := by ring
55 rw [hexp, h2]
56 ring_nf
57 linarith [h2]
58 have hexp : phi ^ 8 = phi ^ 4 * phi ^ 4 := by ring
59 rw [hexp, h4]
60 ring_nf
61 linarith [h2]
62
63/-- `φ^8 > 46.81` (from `φ > 1.61`). -/
64theorem phi_pow_8_lower : phi ^ (8 : ℕ) > 46.81 := by
65 rw [phi_pow_8_fib]
66 have hphi : phi > 1.61 := phi_gt_onePointSixOne
67 linarith
68
69/-- `φ^8 < 47.03` (from `φ < 1.62`). -/
70theorem phi_pow_8_upper : phi ^ (8 : ℕ) < 47.03 := by
71 rw [phi_pow_8_fib]
72 have hphi : phi < 1.62 := phi_lt_onePointSixTwo
73 linarith
74
75/-! ## φ^(−8) bounds -/
76
77private lemma phi_zpow_neg8_eq_inv : phi ^ (-8 : ℤ) = (phi ^ (8 : ℕ))⁻¹ := by
78 rw [show ((-8 : ℤ)) = -((8 : ℕ) : ℤ) from by norm_num, zpow_neg, zpow_natCast]
79
80theorem phi_zpow_neg8_lower : phi ^ (-8 : ℤ) > 0.02126 := by
81 rw [phi_zpow_neg8_eq_inv]
82 have hupper : phi ^ (8 : ℕ) < 47.03 := phi_pow_8_upper
83 have hpos : (0 : ℝ) < phi ^ (8 : ℕ) := pow_pos phi_pos 8
84 have h1 : (phi ^ (8 : ℕ))⁻¹ > (47.03 : ℝ)⁻¹ := by
85 rw [gt_iff_lt, inv_lt_inv₀ (by norm_num : (0:ℝ) < 47.03) hpos]
86 exact hupper
87 have h2 : (47.03 : ℝ)⁻¹ ≥ 0.02126 := by norm_num
88 linarith
89
90theorem phi_zpow_neg8_upper : phi ^ (-8 : ℤ) < 0.02137 := by
91 rw [phi_zpow_neg8_eq_inv]
92 have hlower : phi ^ (8 : ℕ) > 46.81 := phi_pow_8_lower
93 have hpos : (0 : ℝ) < phi ^ (8 : ℕ) := pow_pos phi_pos 8
94 have h1 : (phi ^ (8 : ℕ))⁻¹ < (46.81 : ℝ)⁻¹ := by
95 rw [inv_lt_inv₀ hpos (by norm_num : (0:ℝ) < 46.81)]
96 exact hlower
97 have h2 : (46.81 : ℝ)⁻¹ ≤ 0.02137 := by norm_num
98 linarith
99
100/-! ## The two-sided washout prefactor -/
101
102/-- The single-tick correction factor `1 − φ^(−8)`. -/
103def correctionFactor : ℝ := 1 - phi ^ (-8 : ℤ)
104
105/-- The two-sided 8-tick washout prefactor: `c_RS = (1 − φ^(−8))^2`. -/
106def c_RS : ℝ := correctionFactor ^ 2
107
108theorem c_RS_expanded : c_RS = (1 - phi ^ (-8 : ℤ)) ^ 2 := by
109 unfold c_RS correctionFactor
110
111theorem one_minus_phi_neg8_lower : (1 - phi ^ (-8 : ℤ)) > 0.978 := by
112 have h := phi_zpow_neg8_upper
113 linarith
114
115theorem one_minus_phi_neg8_upper : (1 - phi ^ (-8 : ℤ)) < 0.979 := by
116 have h := phi_zpow_neg8_lower
117 linarith
118
119theorem c_RS_pos : 0 < c_RS := by
120 unfold c_RS correctionFactor
121 have h := one_minus_phi_neg8_lower
122 positivity
123
124theorem c_RS_lt_one : c_RS < 1 := by
125 rw [c_RS_expanded]
126 have hl : (1 - phi ^ (-8 : ℤ)) > 0.978 := one_minus_phi_neg8_lower
127 have hu : (1 - phi ^ (-8 : ℤ)) < 0.979 := one_minus_phi_neg8_upper
128 nlinarith [hl, hu]
129
130/-- `c_RS > 0.956`. -/
131theorem c_RS_lower : c_RS > 0.956 := by
132 rw [c_RS_expanded]
133 have hl : (1 - phi ^ (-8 : ℤ)) > 0.978 := one_minus_phi_neg8_lower
134 have hu : (1 - phi ^ (-8 : ℤ)) < 0.979 := one_minus_phi_neg8_upper
135 nlinarith [hl, hu]
136
137/-- `c_RS < 0.959`. -/
138theorem c_RS_upper : c_RS < 0.959 := by
139 rw [c_RS_expanded]
140 have hl : (1 - phi ^ (-8 : ℤ)) > 0.978 := one_minus_phi_neg8_lower
141 have hu : (1 - phi ^ (-8 : ℤ)) < 0.979 := one_minus_phi_neg8_upper
142 nlinarith [hl, hu]
143
144/-! ## φ^(−44) bounds via the Fibonacci identity -/
145
146/-- `φ^(n+1) = F(n+1) · φ + F(n)`. (Standard Fibonacci-φ identity.) -/
147private theorem phi_pow_fib (n : ℕ) :
148 phi ^ (n + 1) = (Nat.fib (n + 1) : ℝ) * phi + (Nat.fib n : ℝ) := by
149 induction n with
150 | zero =>
151 simp only [Nat.fib_zero, Nat.cast_zero, add_zero]
152 rw [show Nat.fib 1 = 1 from rfl]; simp
153 | succ n ih =>
154 have hfib : Nat.fib (n + 2) = Nat.fib n + Nat.fib (n + 1) := Nat.fib_add_two
155 calc phi ^ (n + 1 + 1) = phi ^ (n + 1) * phi := by ring
156 _ = ((Nat.fib (n + 1) : ℝ) * phi + (Nat.fib n : ℝ)) * phi := by rw [ih]
157 _ = (Nat.fib (n + 1) : ℝ) * phi ^ 2 + (Nat.fib n : ℝ) * phi := by ring
158 _ = (Nat.fib (n + 1) : ℝ) * (phi + 1) + (Nat.fib n : ℝ) * phi := by rw [phi_sq_eq]
159 _ = ((Nat.fib (n + 1) : ℝ) + (Nat.fib n : ℝ)) * phi + (Nat.fib (n + 1) : ℝ) := by ring
160 _ = (↑(Nat.fib n + Nat.fib (n + 1)) : ℝ) * phi + (Nat.fib (n + 1) : ℝ) := by
161 simp only [Nat.cast_add]; ring
162 _ = (Nat.fib (n + 2) : ℝ) * phi + (Nat.fib (n + 1) : ℝ) := by rw [hfib]
163
164theorem phi_pow_44_fib :
165 phi ^ (44 : ℕ) = (701408733 : ℝ) * phi + 433494437 := by
166 have hfib := phi_pow_fib 43
167 have hf44 : Nat.fib 44 = 701408733 := by native_decide
168 have hf43 : Nat.fib 43 = 433494437 := by native_decide
169 simp only [hf44, hf43] at hfib
170 exact hfib
171
172private lemma phi_zpow_neg44_eq_inv : phi ^ (-44 : ℤ) = (phi ^ (44 : ℕ))⁻¹ := by
173 rw [show ((-44 : ℤ)) = -((44 : ℕ) : ℤ) from by norm_num, zpow_neg, zpow_natCast]
174
175theorem phi_zpow_neg44_lower : phi ^ (-44 : ℤ) > 6.37e-10 := by
176 rw [phi_zpow_neg44_eq_inv]
177 have hupper : phi ^ (44 : ℕ) < 1.5698e9 := by
178 rw [phi_pow_44_fib]
179 have hphi_lt : phi < 1.62 := phi_lt_onePointSixTwo
180 nlinarith
181 have hpos : (0 : ℝ) < phi ^ (44 : ℕ) := pow_pos phi_pos 44
182 have h1 : (phi ^ (44 : ℕ))⁻¹ > (1.5698e9 : ℝ)⁻¹ := by
183 rw [gt_iff_lt, inv_lt_inv₀ (by norm_num : (0:ℝ) < 1.5698e9) hpos]
184 exact hupper
185 have h2 : (1.5698e9 : ℝ)⁻¹ ≥ 6.37e-10 := by norm_num
186 linarith
187
188theorem phi_zpow_neg44_upper : phi ^ (-44 : ℤ) < 6.40e-10 := by
189 rw [phi_zpow_neg44_eq_inv]
190 have hlower : phi ^ (44 : ℕ) > 1.5627e9 := by
191 rw [phi_pow_44_fib]
192 have hphi_gt : phi > 1.61 := phi_gt_onePointSixOne
193 nlinarith
194 have hpos : (0 : ℝ) < phi ^ (44 : ℕ) := pow_pos phi_pos 44
195 have h1 : (phi ^ (44 : ℕ))⁻¹ < (1.5627e9 : ℝ)⁻¹ := by
196 rw [inv_lt_inv₀ hpos (by norm_num : (0:ℝ) < 1.5627e9)]
197 exact hlower
198 have h2 : (1.5627e9 : ℝ)⁻¹ < 6.40e-10 := by norm_num
199 linarith
200
201/-! ## The corrected η_B prediction -/
202
203/-- The corrected RS prediction for η_B: `c_RS · φ^(−44)`. -/
204def eta_B_corrected : ℝ := c_RS * phi ^ (-44 : ℤ)
205
206theorem eta_B_corrected_pos : 0 < eta_B_corrected := by
207 unfold eta_B_corrected
208 exact mul_pos c_RS_pos (zpow_pos phi_pos (-44))
209
210/-- The corrected η_B prediction is greater than `6.0 × 10⁻¹⁰`. -/
211theorem eta_B_corrected_lower : eta_B_corrected > 6.0e-10 := by
212 unfold eta_B_corrected
213 have hc : c_RS > 0.956 := c_RS_lower
214 have hphi : phi ^ (-44 : ℤ) > 6.37e-10 := phi_zpow_neg44_lower
215 have hcpos : (0 : ℝ) < c_RS := c_RS_pos
216 have hphi_pos : (0 : ℝ) < phi ^ (-44 : ℤ) := zpow_pos phi_pos (-44)
217 nlinarith [hc, hphi, hcpos, hphi_pos]
218
219/-- The corrected η_B prediction is less than `6.2 × 10⁻¹⁰`. -/
220theorem eta_B_corrected_upper : eta_B_corrected < 6.2e-10 := by
221 unfold eta_B_corrected
222 have hc : c_RS < 0.959 := c_RS_upper
223 have hphi : phi ^ (-44 : ℤ) < 6.40e-10 := phi_zpow_neg44_upper
224 have hcpos : (0 : ℝ) < c_RS := c_RS_pos
225 have hphi_pos : (0 : ℝ) < phi ^ (-44 : ℤ) := zpow_pos phi_pos (-44)
226 nlinarith [hc, hphi, hcpos, hphi_pos]
227
228/-- The η_B band: `c_RS · φ^(−44) ∈ (6.0 × 10⁻¹⁰, 6.2 × 10⁻¹⁰)`. -/
229theorem eta_B_corrected_in_observed_band :
230 eta_B_corrected > 6.0e-10 ∧ eta_B_corrected < 6.2e-10 :=
231 ⟨eta_B_corrected_lower, eta_B_corrected_upper⟩
232
233/-- The Planck 2018 central value `6.10 × 10⁻¹⁰` lies inside the predicted band. -/
234theorem observed_in_predicted_band :
235 (6.0e-10 : ℝ) < 6.10e-10 ∧ (6.10e-10 : ℝ) < 6.2e-10 := by
236 constructor <;> norm_num
237
238end -- noncomputable section
239
240/-! ## Master certificate -/
241
242structure EtaBPrefactorCert where
243 prefactor_in_unit : 0 < c_RS ∧ c_RS < 1
244 prefactor_band : c_RS > 0.956 ∧ c_RS < 0.959
245 expanded : c_RS = (1 - phi ^ (-8 : ℤ)) ^ 2
246 prediction_band :
247 eta_B_corrected > 6.0e-10 ∧ eta_B_corrected < 6.2e-10
248 observed_inside : (6.0e-10 : ℝ) < 6.10e-10 ∧ (6.10e-10 : ℝ) < 6.2e-10
249
250theorem etaBPrefactorCert : EtaBPrefactorCert where
251 prefactor_in_unit := ⟨c_RS_pos, c_RS_lt_one⟩
252 prefactor_band := ⟨c_RS_lower, c_RS_upper⟩
253 expanded := c_RS_expanded
254 prediction_band := eta_B_corrected_in_observed_band
255 observed_inside := observed_in_predicted_band
256
257end EtaBPrefactorDerivation
258end Cosmology
259end IndisputableMonolith
260