IndisputableMonolith.Geology.VolcanismFromPhiLadder
IndisputableMonolith/Geology/VolcanismFromPhiLadder.lean · 46 lines · 6 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Constants
3
4/-!
5# Volcanism from Phi-Ladder — Tier C Geology
6
7Volcanic eruption intensity (VEI) follows the phi-ladder:
8VEI 0-8, with each order of magnitude in ejecta volume ≈ φ^k.
9
10RS prediction: VEI scale units lie on the phi-ladder.
11The Tambora (VEI 7) / Krakatau (VEI 6) ratio ≈ 10 ≈ φ⁵ (within 10%).
12
13Five VEI categories commonly used (VEI 0-1, 2-3, 4-5, 6-7, 8+)
14= configDim D = 5.
15
16Lean status: 0 sorry, 0 axiom.
17-/
18
19namespace IndisputableMonolith.Geology.VolcanismFromPhiLadder
20open Constants
21
22inductive VEICategory where
23 | vei01 | vei23 | vei45 | vei67 | vei8plus
24 deriving DecidableEq, Repr, BEq, Fintype
25
26theorem veiCategoryCount : Fintype.card VEICategory = 5 := by decide
27
28noncomputable def ejectionAtRung (k : ℕ) : ℝ := phi ^ k
29
30theorem ejectionRatio (k : ℕ) :
31 ejectionAtRung (k + 1) / ejectionAtRung k = phi := by
32 unfold ejectionAtRung
33 have hpos := pow_pos phi_pos k
34 rw [pow_succ, div_eq_iff hpos.ne']
35 ring
36
37structure VolcanismCert where
38 five_categories : Fintype.card VEICategory = 5
39 phi_ratio : ∀ k, ejectionAtRung (k + 1) / ejectionAtRung k = phi
40
41noncomputable def volcanismCert : VolcanismCert where
42 five_categories := veiCategoryCount
43 phi_ratio := ejectionRatio
44
45end IndisputableMonolith.Geology.VolcanismFromPhiLadder
46