Pith. sign in

IndisputableMonolith.Verification.Necessity.PhiNecessity

IndisputableMonolith/Verification/Necessity/PhiNecessity.lean · 121 lines · 7 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3import IndisputableMonolith.PhiSupport.Lemmas
   4
   5namespace IndisputableMonolith
   6namespace Verification
   7namespace Necessity
   8namespace PhiNecessity
   9
  10/-- Minimal self-similarity structure sufficient for the inevitability pipeline. -/
  11structure HasSelfSimilarity (StateSpace : Type) where
  12  preferred_scale : ℝ
  13  scale_gt_one : 1 < preferred_scale
  14  level0 : ℝ
  15  level1 : ℝ
  16  level2 : ℝ
  17  level0_pos : 0 < level0
  18  level1_ratio : level1 = preferred_scale * level0
  19  level2_ratio : level2 = preferred_scale * level1
  20  level2_recurrence : level2 = level1 + level0
  21
  22namespace HasSelfSimilarity
  23
  24@[simp]
  25lemma preferred_scale_pos {StateSpace : Type} (hSim : HasSelfSimilarity StateSpace) :
  26    0 < hSim.preferred_scale :=
  27  lt_trans (show (0 : ℝ) < 1 by norm_num) hSim.scale_gt_one
  28
  29end HasSelfSimilarity
  30
  31/-- **SCAFFOLD**: Canonical self-similarity witness constructed by directly
  32    inserting φ. This does NOT derive self-similarity from zero parameters alone;
  33    it assumes the conclusion by building a witness from the known answer.
  34
  35    The genuine derivation chain is:
  36    1. ZeroParameterComparisonLedger → HasMultilevelComposition (structural)
  37    2. HasMultilevelComposition + no_free_knobs → UniformScaleLadder (HierarchyForcing)
  38    3. UniformScaleLadder + local binary recurrence + minimality → Fibonacci (HierarchyDynamics)
  39    4. Fibonacci → φ (HierarchyEmergence)
  40
  41    See `IndisputableMonolith.Foundation.HierarchyDynamics.bridge_T5_T6` for the
  42    sorry-free derivation of the Fibonacci recurrence from primitive axioms.
  43
  44    This scaffold constructor is retained for backward compatibility
  45    with the existing exclusivity pipeline. -/
  46noncomputable def self_similarity_from_discrete
  47    (StateSpace : Type)
  48    [Inhabited StateSpace]
  49    (_levels : ℤ → StateSpace)
  50    (_surj : Function.Surjective _levels) :
  51    HasSelfSimilarity StateSpace :=
  52  { preferred_scale := Constants.phi
  53  , scale_gt_one := IndisputableMonolith.PhiSupport.one_lt_phi
  54  , level0 := 1
  55  , level1 := Constants.phi
  56  , level2 := Constants.phi ^ 2
  57  , level0_pos := by norm_num
  58  , level1_ratio := by simp
  59  , level2_ratio := by
  60      simp [pow_two, mul_comm, mul_left_comm, mul_assoc]
  61  , level2_recurrence := IndisputableMonolith.PhiSupport.phi_squared }
  62
  63/-- Self-similarity data forces the preferred scale to satisfy the golden-ratio polynomial. -/
  64lemma preferred_scale_fixed_point
  65    {StateSpace : Type} [Inhabited StateSpace]
  66    (hSim : HasSelfSimilarity StateSpace) :
  67    hSim.preferred_scale ^ 2 = hSim.preferred_scale + 1 := by
  68  classical
  69  have h₀ : hSim.level0 ≠ 0 := ne_of_gt hSim.level0_pos
  70  have h_eq :
  71      hSim.preferred_scale ^ 2 * hSim.level0 = (hSim.preferred_scale + 1) * hSim.level0 := by
  72    calc
  73      hSim.preferred_scale ^ 2 * hSim.level0
  74          = hSim.preferred_scale * (hSim.preferred_scale * hSim.level0) := by
  75            simp [pow_two, mul_comm, mul_left_comm, mul_assoc]
  76      _ = hSim.preferred_scale * hSim.level1 := by
  77            simpa [hSim.level1_ratio, mul_comm, mul_left_comm, mul_assoc]
  78      _ = hSim.level2 := by
  79            simpa [mul_comm, mul_left_comm, mul_assoc] using hSim.level2_ratio.symm
  80      _ = hSim.level1 + hSim.level0 := hSim.level2_recurrence
  81      _ = (hSim.preferred_scale + 1) * hSim.level0 := by
  82            simpa [hSim.level1_ratio, right_distrib, add_comm, add_left_comm, add_assoc]
  83  have hScaled := congrArg (fun t => t / hSim.level0) h_eq
  84  simpa [h₀, mul_comm, mul_left_comm, mul_assoc] using hScaled
  85
  86/-- Core consequence: any self-similarity witness satisfies the golden-ratio identities. -/
  87private lemma phi_result
  88    {StateSpace : Type} [Inhabited StateSpace]
  89    (hSim : HasSelfSimilarity StateSpace) :
  90    hSim.preferred_scale = Constants.phi ∧
  91    hSim.preferred_scale ^ 2 = hSim.preferred_scale + 1 ∧
  92    hSim.preferred_scale > 0 := by
  93  have hPos : 0 < hSim.preferred_scale := HasSelfSimilarity.preferred_scale_pos hSim
  94  have hFixed := preferred_scale_fixed_point (StateSpace:=StateSpace) hSim
  95  have hEq :=
  96    (IndisputableMonolith.PhiSupport.phi_unique_pos_root hSim.preferred_scale).mp
  97      ⟨hFixed, hPos⟩
  98  exact ⟨hEq, hFixed, hPos⟩
  99
 100/-- Golden-ratio necessity when discrete levels are available. -/
 101theorem self_similarity_forces_phi
 102    {StateSpace : Type} [Inhabited StateSpace]
 103    (hSim : HasSelfSimilarity StateSpace)
 104    (_hDiscrete : ∃ levels : ℤ → StateSpace, Function.Surjective levels) :
 105    hSim.preferred_scale = Constants.phi ∧
 106    hSim.preferred_scale ^ 2 = hSim.preferred_scale + 1 ∧
 107    hSim.preferred_scale > 0 :=
 108  phi_result hSim
 109
 110/-- Golden-ratio necessity from the polynomial identity alone. -/
 111theorem phi_is_mathematically_necessary
 112    (φ : ℝ) (h_gt : 1 < φ) (h_fix : φ ^ 2 = φ + 1) :
 113    φ = Constants.phi :=
 114  (IndisputableMonolith.PhiSupport.phi_unique_pos_root φ).mp
 115    ⟨h_fix, lt_trans (show (0 : ℝ) < 1 by norm_num) h_gt⟩
 116
 117end PhiNecessity
 118end Necessity
 119end Verification
 120end IndisputableMonolith
 121

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