Pith. sign in

IndisputableMonolith.Gravity.AdmissibleTriangulationProcedure

IndisputableMonolith/Gravity/AdmissibleTriangulationProcedure.lean · 151 lines · 4 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Gravity.PathSumUVBound
   3
   4/-!
   5# Admissible Triangulation Procedure for Recognition Science
   6
   7## Scientist feedback addressed
   8'there is no procedure described for what triangulations are allowed in RS.'
   9
  10This module makes the admissibility procedure an explicit, machine-checkable
  11Lean object. The predicate `IsRSAdmissible` records the RS admissibility
  12conditions over the existing `PathSumUVBound.AdmissibleTriangulationFamily`.
  13
  14## Derived vs. Assumed fields
  15
  16**Derived fields** (provable from the existing structure):
  17- `mesh_lower_bound`: minMesh > 0 (from `AdmissibleTriangulationFamily.minMesh_pos`)
  18- `simplex_count_finite`: maxSimplexCount > 0 (from `maxSimplexCount_pos`)
  19- `growth_base_pos`: growthBase > 0 (from `growthBase_pos`)
  20
  21**Assumed field** (the BRIDGE):
  22- `bridge_holds`: log x_σ = κ · deficit + O(mesh³)
  23  This is a physical assumption bridging recognition ratios to deficit angles.
  24  It is NOT derived from RS axioms; it is an explicit hypothesis.
  25-/
  26
  27namespace IndisputableMonolith
  28namespace Gravity
  29namespace AdmissibleTriangulationProcedure
  30
  31open PathSumUVBound
  32
  33/-- The RS admissibility predicate for triangulation families.
  34
  35This predicate records the admissibility conditions that a triangulation
  36family must satisfy to be used in the recognition path sum:
  37
  381. **Positive mesh lower bound** (derived): minMesh > 0
  392. **Finite simplex-count cap** (derived): maxSimplexCount > 0
  403. **Positive growth base** (derived): growthBase > 0
  414. **Recognition-ratio bridge** (ASSUMED): log x_σ = κ · deficit + O(mesh³)
  42
  43The bridge condition is tagged as ASSUMED: it is a physical hypothesis
  44bridging recognition ratios to deficit angles, not derived from RS axioms. -/
  45structure IsRSAdmissible (F : AdmissibleTriangulationFamily) where
  46  /-- Mesh lower bound: minMesh > 0 (derived from F.minMesh_pos). -/
  47  mesh_lower_bound : 0 < F.minMesh
  48  /-- Finite simplex-count cap: maxSimplexCount > 0 (derived). -/
  49  simplex_count_finite : 0 < F.maxSimplexCount
  50  /-- Positive growth base: growthBase > 0 (derived). -/
  51  growth_base_pos : 0 < F.growthBase
  52  /-- Mesh upper bound for admissibility comparison. -/
  53  meshUpperBound : ℝ
  54  /-- minMesh ≤ meshUpperBound (with generous slack). -/
  55  mesh_upper_bound_ge : F.minMesh ≤ meshUpperBound
  56  /-- The coupling constant κ in the bridge relation. -/
  57  kappa : ℝ
  58  /-- κ > 0. -/
  59  kappa_pos : 0 < kappa
  60  /-- The error constant C in O(mesh³). -/
  61  bridge_constant : ℝ
  62  /-- C ≥ 0. -/
  63  bridge_constant_nonneg : 0 ≤ bridge_constant
  64  /-- The recognition ratio function x_σ : deficit → ratio. -/
  65  recognitionRatio : ℝ → ℝ
  66  /-- The recognition ratio is positive for non-negative deficits. -/
  67  recognitionRatio_pos : ∀ δ : ℝ, 0 ≤ δ → 0 < recognitionRatio δ
  68  /-- BRIDGE (ASSUMED): log x_σ = κ · deficit + O(mesh³).
  69
  70      Here `deficit` denotes the deficit angle δ at a hinge.
  71      This states |log(x_σ(deficit)) - κ · deficit| ≤ C · mesh³ for all deficit ≥ 0.
  72      This is an ASSUMED physical hypothesis, not derived from RS axioms. -/
  73  bridge_holds : ∀ deficit : ℝ, 0 ≤ deficit →
  74    |Real.log (recognitionRatio deficit) - kappa * deficit| ≤ bridge_constant * F.minMesh ^ 3
  75
  76/-- A concrete RS-admissible triangulation family witness.
  77
  78Fields chosen with explicit simple constants so every numeric side-goal
  79closes by `norm_num` or `positivity`:
  80- maxSimplexCount := 1
  81- growthBase := 2
  82- minMesh := 1
  83- meshUpperBound := 2 (so minMesh ≤ meshUpperBound is `by norm_num`)
  84- kappa := 1
  85- bridge_constant := 0 (exact bridge, no error)
  86- recognitionRatio := exp (so log x = deficit exactly) -/
  87def rsAdmissibleWitness : AdmissibleTriangulationFamily where
  88  maxSimplexCount := 1
  89  maxSimplexCount_pos := by norm_num
  90  growthBase := 2
  91  growthBase_pos := by norm_num
  92  minMesh := 1
  93  minMesh_pos := by norm_num
  94
  95/-- The witness family is RS-admissible.
  96
  97Proof: all derived conditions follow from the witness fields.
  98The bridge holds with κ = 1, C = 0, x(deficit) = exp(deficit), giving
  99|log(exp(deficit)) - 1·deficit| = |deficit - deficit| = 0 ≤ 0 · 1³ = 0. -/
 100theorem exists_RSAdmissible : Nonempty (IsRSAdmissible rsAdmissibleWitness) :=
 101  ⟨{
 102    mesh_lower_bound := rsAdmissibleWitness.minMesh_pos
 103    simplex_count_finite := rsAdmissibleWitness.maxSimplexCount_pos
 104    growth_base_pos := rsAdmissibleWitness.growthBase_pos
 105    meshUpperBound := 2
 106    mesh_upper_bound_ge := by
 107      have h : rsAdmissibleWitness.minMesh = (1 : ℝ) := rfl
 108      rw [h]; norm_num
 109    kappa := 1
 110    kappa_pos := by norm_num
 111    bridge_constant := 0
 112    bridge_constant_nonneg := by norm_num
 113    recognitionRatio := fun δ => Real.exp δ
 114    recognitionRatio_pos := fun δ _ => Real.exp_pos δ
 115    bridge_holds := by
 116      intro deficit _
 117      rw [Real.log_exp]
 118      have h : deficit - (1 : ℝ) * deficit = 0 := by ring
 119      rw [h]
 120      simp only [abs_zero, zero_mul]
 121      norm_num
 122  }⟩
 123
 124/-- Monotonicity of the bridge constant: if F is RS-admissible with
 125bridge constant C, then it is also RS-admissible with any C' ≥ C.
 126
 127This is a closure fact: the set of admissible bridge constants is
 128upward-closed, so larger error bounds preserve admissibility. -/
 129theorem bridge_constant_monotone (F : AdmissibleTriangulationFamily)
 130    (h : IsRSAdmissible F) (C' : ℝ) (hC' : h.bridge_constant ≤ C') :
 131    Nonempty (IsRSAdmissible F) :=
 132  ⟨{
 133    mesh_lower_bound := h.mesh_lower_bound
 134    simplex_count_finite := h.simplex_count_finite
 135    growth_base_pos := h.growth_base_pos
 136    meshUpperBound := h.meshUpperBound
 137    mesh_upper_bound_ge := h.mesh_upper_bound_ge
 138    kappa := h.kappa
 139    kappa_pos := h.kappa_pos
 140    bridge_constant := C'
 141    bridge_constant_nonneg := le_trans h.bridge_constant_nonneg hC'
 142    recognitionRatio := h.recognitionRatio
 143    recognitionRatio_pos := h.recognitionRatio_pos
 144    bridge_holds := fun deficit hδ =>
 145      le_trans (h.bridge_holds deficit hδ)
 146        (mul_le_mul_of_nonneg_right hC' (pow_nonneg (le_of_lt h.mesh_lower_bound) 3))
 147  }⟩
 148
 149end AdmissibleTriangulationProcedure
 150end Gravity
 151end IndisputableMonolith

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