inductive
definition
Generation
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Physics.ThreeGenerations on GitHub at line 77.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
-
of -
or -
of -
is -
of -
is -
Generation -
of -
Generation -
is -
of -
is -
Pattern -
Pattern -
Generation -
Generation -
Pattern -
Pattern
used by
-
all_examples_cproj_two_statement -
gauge_order_product -
three_generations_from_dimension -
gauge_generators_eq_edges -
Generation -
closure_populates_next -
biologyCost -
biologyCost_self -
biologyCost_symm -
biologyInterpret -
biologyRealization -
Generation -
yardstick -
predict_mass -
color_offset_eq_quark_baseline -
r_tau -
bottom_down_equal_Z -
quark_mass_positive -
genOfTorsion -
ResidueCert -
match_rsbridge_rung -
N_diff_eq_edges_at_D3 -
all_fermion_masses_pos -
Generation -
tau_g -
tauStepCoefficientDerived_matches_paper -
bits_bijection -
dimensions_from_log -
dimensionToGeneration -
neutrino_generations_match -
no_fourth_generation -
three_generations -
why_exactly_three -
symmetry_broken -
Generation -
generationTorsion -
massRatioFromRungs -
RSLedger -
RSLedger -
RSLedger
formal source
74
75/-- A generation is characterized by the parity pattern across dimensions.
76 We define 3 "generation modes" from the bit patterns. -/
77inductive Generation where
78 | first : Generation -- Pattern: (0,0,*) or (1,1,*)
79 | second : Generation -- Pattern: (0,1,*) or (1,0,*)
80 | third : Generation -- Pattern: special cases
81deriving DecidableEq, Repr
82
83/-- Number of generations is exactly 3. -/
84theorem three_generations : (List.length [Generation.first, Generation.second, Generation.third]) = 3 := rfl
85
86/-! ## The 3 from 8 = 2³ Argument -/
87
88/-- The key insight: 8 = 2³ gives us 3 "independent directions" in tick-space.
89 Each direction corresponds to one generation. -/
90def dimensionsFromTicks : ℕ := 3 -- log₂(8) = 3
91
92/-- **THEOREM**: The number of dimensions equals log₂(8). -/
93theorem dimensions_from_log : dimensionsFromTicks = Nat.log 2 8 := by
94 native_decide
95
96/-- The correspondence:
97 - Dimension 0 (x) ↔ Generation 1 (lightest)
98 - Dimension 1 (y) ↔ Generation 2 (medium)
99 - Dimension 2 (z) ↔ Generation 3 (heaviest)
100
101 This is a structural correspondence, not a dynamical one. -/
102def dimensionToGeneration : Fin 3 → Generation
103 | 0 => Generation.first
104 | 1 => Generation.second
105 | 2 => Generation.third
106
107/-! ## Mass Hierarchy -/