pith. machine review for the scientific record. sign in

IndisputableMonolith.Economics.CounterCyclicalPolicyFromGap45

IndisputableMonolith/Economics/CounterCyclicalPolicyFromGap45.lean · 68 lines · 9 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3
   4/-!
   5# Counter-Cyclical Economic Policy from Gap-45 — E6
   6
   7From `Economics/BusinessCycleFromPhiLadder.lean`:
   8- Juglar cycle: ~9-11 years ≈ φ^8 / 4 years
   9- Kondratieff wave: ~45 years = gap-45 years
  10
  11RS prediction for optimal policy:
  12- Stimulus phase length = φ years during recession (counter-cyclical)
  13- Austerity phase length = φ² years during expansion (debt reduction)
  14- The policy "balance" condition: stimulus phase / austerity phase = 1/φ
  15- Budget-balance rung: policy swings ≤ gap-45 % of GDP
  16
  17The 5 canonical business cycle phases (trough, recovery, expansion,
  18peak, contraction) = configDim D = 5.
  19
  20Lean status: 0 sorry, 0 axiom.
  21-/
  22
  23namespace IndisputableMonolith.Economics.CounterCyclicalPolicyFromGap45
  24open Constants
  25
  26inductive BusinessCyclePhase where
  27  | trough | recovery | expansion | peak | contraction
  28  deriving DecidableEq, Repr, BEq, Fintype
  29
  30theorem businessCyclePhaseCount : Fintype.card BusinessCyclePhase = 5 := by decide
  31
  32/-- Kondratieff wave = 45 years = gap-45. -/
  33def kondratieffPeriod : ℕ := 45
  34
  35/-- Optimal stimulus phase = φ years. -/
  36noncomputable def stimulusPhaseYears : ℝ := phi
  37
  38/-- Optimal austerity phase = φ² years. -/
  39noncomputable def austerityPhaseYears : ℝ := phi ^ 2
  40
  41/-- Austerity phase = stimulus × φ. -/
  42theorem austerity_eq_stimulus_times_phi :
  43    austerityPhaseYears = stimulusPhaseYears * phi := by
  44  unfold austerityPhaseYears stimulusPhaseYears
  45  ring
  46
  47/-- Policy balance: stimulus / austerity = 1/φ. -/
  48theorem policy_balance :
  49    stimulusPhaseYears / austerityPhaseYears = phi⁻¹ := by
  50  unfold stimulusPhaseYears austerityPhaseYears
  51  have h2 := phi_sq_eq  -- phi^2 = phi + 1
  52  have hpos := phi_pos
  53  rw [pow_succ]
  54  rw [div_mul_eq_div_div]
  55  simp [phi_ne_zero]
  56
  57structure CounterCyclicalPolicyCert where
  58  five_phases : Fintype.card BusinessCyclePhase = 5
  59  kondratieff : kondratieffPeriod = 45
  60  policy_balance : stimulusPhaseYears / austerityPhaseYears = phi⁻¹
  61
  62noncomputable def counterCyclicalPolicyCert : CounterCyclicalPolicyCert where
  63  five_phases := businessCyclePhaseCount
  64  kondratieff := rfl
  65  policy_balance := policy_balance
  66
  67end IndisputableMonolith.Economics.CounterCyclicalPolicyFromGap45
  68

source mirrored from github.com/jonwashburn/shape-of-logic