IndisputableMonolith.Cosmology.LargeScaleStructureFromRS
IndisputableMonolith/Cosmology/LargeScaleStructureFromRS.lean · 50 lines · 7 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Constants
3
4/-!
5# Large-Scale Structure from RS — Cosmology Depth
6
7Five canonical LSS regimes (= configDim D = 5):
8 CMB acoustic scale, baryon acoustic oscillation, galaxy clusters,
9 filamentary structure, cosmic voids.
10
11Each scale sits one rung up the φ-ladder in comoving length.
12
13Lean status: 0 sorry, 0 axiom.
14-/
15
16namespace IndisputableMonolith.Cosmology.LargeScaleStructureFromRS
17open Constants
18
19inductive LSSRegime where
20 | cmbAcoustic
21 | baryonAcousticOscillation
22 | galaxyCluster
23 | filament
24 | cosmicVoid
25 deriving DecidableEq, Repr, BEq, Fintype
26
27theorem lssRegime_count : Fintype.card LSSRegime = 5 := by decide
28
29noncomputable def scale (k : ℕ) : ℝ := phi ^ k
30
31theorem scale_ratio (k : ℕ) : scale (k + 1) / scale k = phi := by
32 unfold scale
33 have hpos : (0 : ℝ) < phi ^ k := pow_pos phi_pos k
34 rw [div_eq_iff hpos.ne', pow_succ]
35 ring
36
37theorem scale_pos (k : ℕ) : 0 < scale k := pow_pos phi_pos k
38
39structure LargeScaleStructureCert where
40 five_regimes : Fintype.card LSSRegime = 5
41 phi_ratio : ∀ k, scale (k + 1) / scale k = phi
42 scale_always_pos : ∀ k, 0 < scale k
43
44noncomputable def largeScaleStructureCert : LargeScaleStructureCert where
45 five_regimes := lssRegime_count
46 phi_ratio := scale_ratio
47 scale_always_pos := scale_pos
48
49end IndisputableMonolith.Cosmology.LargeScaleStructureFromRS
50