IndisputableMonolith.Sociology.SocialStratificationFromConfigDim
IndisputableMonolith/Sociology/SocialStratificationFromConfigDim.lean · 87 lines · 11 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Constants
3import IndisputableMonolith.Cost
4
5/-!
6# Social Stratification Layers from ConfigDim (Plan v7 fifty-third pass)
7
8## Status: STRUCTURAL THEOREM (0 sorry, 0 axiom).
9
10Modern sociological theory identifies 5 canonical social strata:
11(1) Upper class, (2) Upper-middle class, (3) Middle class,
12(4) Working class, (5) Lower class / poverty.
13
14RS prediction: 5 strata forced by `configDim D = 5` (same template
15as five Köppen zones, soil horizons, bacterial growth phases,
16sleep stages, Big Five personality factors, hurricane categories).
17
18The J-cost on stratum-transition: moving from stratum k to stratum k±1
19costs J(φ^k). Upward mobility from working to middle class corresponds
20to a J-cost step of J(φ²) ≈ 0.38; downward to poverty corresponds
21to J(φ) ≈ 0.118.
22
23Cross-cultural evidence: Weber's three-component stratification
24(class, status, party) plus two boundary layers (excluded underclass,
25privileged overclass) gives 5 layers. Goode (1960), Wright (1985),
26Bourdieu (1984) all converge on 5 ± 1 strata.
27
28## Falsifier
29
30Any comparative sociology survey on ≥ 10 societies finding the
31modal social stratum count reliably different from 5.
32-/
33
34namespace IndisputableMonolith
35namespace Sociology
36namespace SocialStratificationFromConfigDim
37
38open Constants
39open Cost
40
41noncomputable section
42
43/-- Five canonical social strata. -/
44def socialStratumCount : ℕ := 5
45
46theorem socialStratumCount_eq : socialStratumCount = 5 := rfl
47
48/-- J-cost on stratum mobility ratio. -/
49def mobilityTransitionCost (achieved_status expected_status : ℝ) : ℝ :=
50 Jcost (achieved_status / expected_status)
51
52theorem mobilityTransitionCost_at_stratum (s : ℝ) (h : s ≠ 0) :
53 mobilityTransitionCost s s = 0 := by
54 unfold mobilityTransitionCost; rw [div_self h]; exact Jcost_unit0
55
56theorem mobilityTransitionCost_nonneg (a e : ℝ) (ha : 0 < a) (he : 0 < e) :
57 0 ≤ mobilityTransitionCost a e := by
58 unfold mobilityTransitionCost; exact Jcost_nonneg (div_pos ha he)
59
60/-- One-step upward mobility cost (from rung k to k+1): J(φ). -/
61def oneStepMobilityCost : ℝ := phi - 3 / 2
62
63theorem oneStepMobilityCost_eq_Jph : oneStepMobilityCost = Jcost phi :=
64 Jcost_phi_val.symm
65
66theorem oneStepMobilityCost_pos : 0 < oneStepMobilityCost := by
67 unfold oneStepMobilityCost; linarith [phi_gt_onePointSixOne]
68
69structure SocialStratificationCert where
70 stratum_count : socialStratumCount = 5
71 cost_at_stratum : ∀ s : ℝ, s ≠ 0 → mobilityTransitionCost s s = 0
72 cost_nonneg : ∀ a e : ℝ, 0 < a → 0 < e → 0 ≤ mobilityTransitionCost a e
73 mobility_cost_pos : 0 < oneStepMobilityCost
74
75noncomputable def cert : SocialStratificationCert where
76 stratum_count := socialStratumCount_eq
77 cost_at_stratum := mobilityTransitionCost_at_stratum
78 cost_nonneg := mobilityTransitionCost_nonneg
79 mobility_cost_pos := oneStepMobilityCost_pos
80
81theorem cert_inhabited : Nonempty SocialStratificationCert := ⟨cert⟩
82
83end
84end SocialStratificationFromConfigDim
85end Sociology
86end IndisputableMonolith
87