Pith. sign in

IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.RealNullSetoid

IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/RealNullSetoid.lean · 136 lines · 10 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1/-
   2  PrimitiveRecognitionCalculus/RealNullSetoid.lean
   3
   4  Round-trip source:
   5    δ/PRC_Universal_Foundation_Execution_Plan_20260526.html
   6
   7  Spec anchor:
   8    Build Order step 9: promote the first Cauchy-ledger carrier toward the
   9    final null-distance quotient.
  10
  11  This pass isolates the exact analytic blocker. The quotient bookkeeping is
  12  closed conditionally: a local triangle modulus for `PRCJCostDistance` implies
  13  `PRCNullEquivalent` is transitive, hence a setoid.
  14-/
  15
  16import Mathlib
  17import IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.RealCauchy
  18
  19namespace IndisputableMonolith
  20namespace Foundation
  21namespace PrimitiveRecognitionCalculus
  22
  23/-- Exact analytic blocker for the null-distance quotient. It says the
  24J-cost-derived rational distance has a local triangle modulus: for each
  25positive tolerance there is a positive smaller tolerance so that two small
  26legs force the composed leg below the original tolerance. -/
  27def PRCJCostDistanceTriangleModulusTarget : Prop :=
  28  ∀ eps : PRCRat, PRCRat.positive eps →
  29    ∃ delta : PRCRat, PRCRat.positive delta ∧
  30      ∀ a b c : PRCRat,
  31        PRCRat.lt (PRCJCostDistance a b) delta →
  32          PRCRat.lt (PRCJCostDistance b c) delta →
  33            PRCRat.lt (PRCJCostDistance a c) eps
  34
  35/-- The analytic triangle modulus is sufficient for null-distance
  36transitivity. All remaining work here is completed-orbit index bookkeeping. -/
  37theorem PRCNullDistanceTransitiveTarget_of_triangle_modulus
  38    (htri : PRCJCostDistanceTriangleModulusTarget) :
  39    PRCNullDistanceTransitiveTarget := by
  40  intro u v w huv hvw eps heps
  41  rcases htri eps heps with ⟨delta, hdelta_pos, hdelta⟩
  42  rcases huv delta hdelta_pos with ⟨Nuv, hNuv⟩
  43  rcases hvw delta hdelta_pos with ⟨Nvw, hNvw⟩
  44  refine ⟨max Nuv Nvw, ?_⟩
  45  intro n hn
  46  have hn_uv : Nuv ≤ n := le_trans (Nat.le_max_left Nuv Nvw) hn
  47  have hn_vw : Nvw ≤ n := le_trans (Nat.le_max_right Nuv Nvw) hn
  48  exact hdelta (u.term n) (v.term n) (w.term n)
  49    (hNuv n hn_uv) (hNvw n hn_vw)
  50
  51/-- A transitivity proof turns `PRCNullEquivalent` into a setoid. -/
  52def PRCNullDistanceSetoidOfTransitive
  53    (htrans : PRCNullDistanceTransitiveTarget) : Setoid PRCCauchySeq where
  54  r := PRCNullEquivalent
  55  iseqv := by
  56    constructor
  57    · exact PRCNullEquivalent.refl
  58    · intro u v
  59      exact PRCNullEquivalent.symm
  60    · intro u v w
  61      exact htrans u v w
  62
  63/-- Conditional final real carrier: once the analytic triangle modulus is
  64proved, this is the intended PRC real quotient by null distance. -/
  65def PRCRealNull (htrans : PRCNullDistanceTransitiveTarget) : Type :=
  66  Quot (PRCNullDistanceSetoidOfTransitive htrans)
  67
  68namespace PRCRealNull
  69
  70/-- Embed a rational as a null-distance quotient class, conditional on the
  71transitivity proof. -/
  72def ofRat (htrans : PRCNullDistanceTransitiveTarget) (q : PRCRat) :
  73    PRCRealNull htrans :=
  74  Quot.mk (PRCNullDistanceSetoidOfTransitive htrans) (PRCCauchySeq.constant q)
  75
  76end PRCRealNull
  77
  78/-- The exact setoid target follows from transitivity. -/
  79theorem PRCNullDistanceSetoidTarget_of_transitive
  80    (htrans : PRCNullDistanceTransitiveTarget) :
  81    PRCNullDistanceSetoidTarget := by
  82  exact (PRCNullDistanceSetoidOfTransitive htrans).iseqv
  83
  84/-- The exact setoid target follows from the sharper triangle-modulus target. -/
  85theorem PRCNullDistanceSetoidTarget_of_triangle_modulus
  86    (htri : PRCJCostDistanceTriangleModulusTarget) :
  87    PRCNullDistanceSetoidTarget :=
  88  PRCNullDistanceSetoidTarget_of_transitive
  89    (PRCNullDistanceTransitiveTarget_of_triangle_modulus htri)
  90
  91/-- K1/R9. Audit record: the final null-distance quotient still lives under
  92trace closure; the open obligation is analytic, not a new primitive. -/
  93def realNullSetoidClaim : StrengthClaim where
  94  label := "BuildOrder9_real_null_distance_setoid"
  95  tag := StrengthTag.traceClosure
  96  statement :=
  97    "The PRC real null-distance setoid follows from the J-cost distance triangle modulus."
  98
  99/-- Conditional certificate for Build Order step 9. It records the precise
 100remaining theorem and proves that this theorem is sufficient to construct the
 101null-distance setoid and quotient carrier. -/
 102structure PRCRealNullSetoidConditionalCertificate : Prop where
 103  triangle_modulus_target :
 104    PRCJCostDistanceTriangleModulusTarget = PRCJCostDistanceTriangleModulusTarget
 105  transitive_from_triangle :
 106    PRCJCostDistanceTriangleModulusTarget → PRCNullDistanceTransitiveTarget
 107  setoid_from_transitive :
 108    PRCNullDistanceTransitiveTarget → PRCNullDistanceSetoidTarget
 109  setoid_from_triangle :
 110    PRCJCostDistanceTriangleModulusTarget → PRCNullDistanceSetoidTarget
 111  quotient_from_transitive :
 112    ∀ htrans : PRCNullDistanceTransitiveTarget, Nonempty (PRCRealNull htrans)
 113  rat_embedding_from_transitive :
 114    ∀ htrans : PRCNullDistanceTransitiveTarget, Nonempty (PRCRat → PRCRealNull htrans)
 115  strength_tag : realNullSetoidClaim.tag = StrengthTag.traceClosure
 116
 117/-- Build Order step 9 conditional closure: no quotient mechanics remain once
 118the local J-cost triangle modulus is proved. -/
 119theorem real_null_setoid_conditional_certificate :
 120    PRCRealNullSetoidConditionalCertificate where
 121  triangle_modulus_target := rfl
 122  transitive_from_triangle := PRCNullDistanceTransitiveTarget_of_triangle_modulus
 123  setoid_from_transitive := PRCNullDistanceSetoidTarget_of_transitive
 124  setoid_from_triangle := PRCNullDistanceSetoidTarget_of_triangle_modulus
 125  quotient_from_transitive := by
 126    intro htrans
 127    exact ⟨PRCRealNull.ofRat htrans 0⟩
 128  rat_embedding_from_transitive := by
 129    intro htrans
 130    exact ⟨PRCRealNull.ofRat htrans⟩
 131  strength_tag := rfl
 132
 133end PrimitiveRecognitionCalculus
 134end Foundation
 135end IndisputableMonolith
 136

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