Pith. sign in

IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.RealCompletion

IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/RealCompletion.lean · 98 lines · 10 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: ready · generated 2026-08-13 05:21:25.605321+00:00

   1/-
   2  PrimitiveRecognitionCalculus/RealCompletion.lean
   3
   4  Round-trip source:
   5    PRC_Kernel_Spec_20260526.html
   6
   7  Spec anchors:
   8    K1 (`classical extension`), K4.14, A5
   9
  10  This is the honest real-completion boundary. It embeds the quotient-native
  11  PRC rational surface into Lean's `ℝ` and records completeness as a
  12  classical-extension fact. It is not a claim that the PRC-internal Cauchy
  13  quotient has already been built.
  14-/
  15
  16import Mathlib
  17import IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.IntegerRational
  18import IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.Strength
  19
  20namespace IndisputableMonolith
  21namespace Foundation
  22namespace PrimitiveRecognitionCalculus
  23
  24/-- K4.14. The first real boundary: Lean's complete real line, reached only
  25under the classical-extension tag. -/
  26abbrev PRCRealBoundary : Type := ℝ
  27
  28namespace PRCRealBoundary
  29
  30/-- K4.14/A5. Embed a PRC rational into the real boundary through its
  31conservative rational display. -/
  32def ofRat (q : PRCRat) : PRCRealBoundary :=
  33  (q.toRat : ℝ)
  34
  35@[simp] theorem ofRat_add (a b : PRCRat) :
  36    ofRat (a + b) = ofRat a + ofRat b := by
  37  unfold ofRat
  38  rw [PRCRat.toRat_add']
  39  norm_num
  40
  41@[simp] theorem ofRat_mul (a b : PRCRat) :
  42    ofRat (a * b) = ofRat a * ofRat b := by
  43  unfold ofRat
  44  rw [PRCRat.toRat_mul']
  45  norm_num
  46
  47@[simp] theorem ofRat_neg (a : PRCRat) :
  48    ofRat (-a) = -ofRat a := by
  49  unfold ofRat
  50  rw [PRCRat.toRat_neg']
  51  norm_num
  52
  53@[simp] theorem ofRat_inv (a : PRCRat) :
  54    ofRat (a⁻¹) = (ofRat a)⁻¹ := by
  55  unfold ofRat
  56  rw [PRCRat.toRat_inv']
  57  norm_num
  58
  59/-- K4.14. The real boundary carries Lean's complete-space structure. -/
  60theorem complete_space : CompleteSpace PRCRealBoundary := by
  61  infer_instance
  62
  63end PRCRealBoundary
  64
  65/-- K1/K4.14. Audit record: the real-completion boundary is a classical
  66extension until an internal PRC Cauchy quotient is built. -/
  67def realCompletionClaim : StrengthClaim where
  68  label := "K4.14_real_completion_boundary"
  69  tag := StrengthTag.classicalExtension
  70  statement := "The first PRC real boundary embeds PRCRat into Lean Real and uses classical completeness."
  71
  72/-- K4.14. First real-completion boundary certificate. -/
  73structure RealCompletionBoundaryCertificate : Prop where
  74  real_boundary_exists : Nonempty PRCRealBoundary
  75  rational_embedding_exists : Nonempty (PRCRat → PRCRealBoundary)
  76  preserves_add : ∀ a b : PRCRat,
  77    PRCRealBoundary.ofRat (a + b) =
  78      PRCRealBoundary.ofRat a + PRCRealBoundary.ofRat b
  79  preserves_mul : ∀ a b : PRCRat,
  80    PRCRealBoundary.ofRat (a * b) =
  81      PRCRealBoundary.ofRat a * PRCRealBoundary.ofRat b
  82  complete : CompleteSpace PRCRealBoundary
  83  strength_tag : realCompletionClaim.tag = StrengthTag.classicalExtension
  84
  85/-- K4.14. The classical real boundary is available and tagged honestly. -/
  86theorem real_completion_boundary_certificate :
  87    RealCompletionBoundaryCertificate where
  88  real_boundary_exists := ⟨0⟩
  89  rational_embedding_exists := ⟨PRCRealBoundary.ofRat⟩
  90  preserves_add := PRCRealBoundary.ofRat_add
  91  preserves_mul := PRCRealBoundary.ofRat_mul
  92  complete := PRCRealBoundary.complete_space
  93  strength_tag := rfl
  94
  95end PrimitiveRecognitionCalculus
  96end Foundation
  97end IndisputableMonolith
  98

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