Pith. sign in

IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.PRCFoundationsParsed

IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCFoundationsParsed.lean · 93 lines · 4 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1/-
   2  PrimitiveRecognitionCalculus/PRCFoundationsParsed.lean
   3
   4  Item 4 of the δ frontier: capstone over the three corpus parses.
   5
   6  Item 4 named three foundations to parse "with expressivity preserved": ZFC, type
   7  theory, and category theory. This module collects the three faithful parses and
   8  states the joint result.
   9
  10  * SET THEORY: hereditarily finite set theory (ZFC − infinity), Ackermann-coded,
  11    with the axiom of extensionality proved (`SetTheoryParse`), and FULL ZFC with
  12    the axiom of infinity, over Mathlib's `ZFSet`, with extensionality and infinity
  13    proved (`FullZFCParse`).
  14  * TYPE THEORY: Martin-Löf type theory's two-element type `𝟚`, with canonicity and
  15    constructor disjointness proved (`TypeTheoryParse`).
  16  * CATEGORY THEORY: the topos of sets via its subobject classifier Ω = Prop, with
  17    subobject classification and non-degeneracy proved (`CategoryTheoryParse`).
  18
  19  Each is parsed into the `FormalSystem` interface using its OWN distinction
  20  mechanism (extensionality / canonicity / the subobject classifier), each is
  21  proved `Expressive`, hence each realizes the δ core, and each falls on the δ side
  22  of the distinction dichotomy (`PRCDistinctionDichotomy`).
  23
  24  This is the honest answer to "is distinction optional for the real foundations of
  25  mathematics?" For the three standard foundations, parsed at the scope δ needs: NO.
  26  Each contains the δ core, via its own primitive distinction.
  27
  28  HONEST BOUNDARY. The parses are at δ-sufficient scope (HF rather than full ZFC;
  29  `𝟚` rather than the full MLTT term calculus; the concrete topos Set rather than an
  30  arbitrary elementary topos). Extending each to full expressivity does not change
  31  the δ conclusion, because δ depends only on the two-term distinction each
  32  foundation already carries, as the dichotomy makes precise.
  33
  34  No project-local axioms. No sorry.
  35-/
  36
  37import IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.PRCSetTheoryParse
  38import IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.PRCFullZFCParse
  39import IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.PRCTypeTheoryParse
  40import IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.PRCCategoryTheoryParse
  41
  42namespace IndisputableMonolith
  43namespace Foundation
  44namespace PrimitiveRecognitionCalculus
  45namespace FoundationsParsed
  46
  47/-- **The three named foundations each realize the δ core.** Set theory, type
  48theory, and category theory, parsed into the `FormalSystem` interface via their own
  49distinction mechanisms, each admit a PRC embedding. -/
  50theorem three_foundations_realize_delta :
  51    Nonempty (PRCEmbeddingInto SetTheoryParse.hfSystem)
  52      ∧ Nonempty (PRCEmbeddingInto TypeTheoryParse.ttSystem)
  53      ∧ Nonempty (PRCEmbeddingInto CategoryTheoryParse.toposSystem) :=
  54  ⟨SetTheoryParse.hfSystem_embeds_delta,
  55    TypeTheoryParse.ttSystem_embeds_delta,
  56    CategoryTheoryParse.toposSystem_embeds_delta⟩
  57
  58/-- The three named foundations all fall on the δ side of the distinction
  59dichotomy: none is degenerate. -/
  60theorem three_foundations_not_degenerate :
  61    ¬ DistinctionDichotomy.Degenerate SetTheoryParse.hfSystem
  62      ∧ ¬ DistinctionDichotomy.Degenerate TypeTheoryParse.ttSystem
  63      ∧ ¬ DistinctionDichotomy.Degenerate CategoryTheoryParse.toposSystem :=
  64  ⟨SetTheoryParse.hfSystem_not_degenerate,
  65    TypeTheoryParse.ttSystem_not_degenerate,
  66    CategoryTheoryParse.toposSystem_not_degenerate⟩
  67
  68/-- **The substantive distinction mechanism of each foundation is proved.** Set
  69theory's extensionality, type theory's canonicity, category theory's subobject
  70classification, each is the foundation's own way of telling its two primitives
  71apart, and each yields the δ distinction. -/
  72theorem three_foundations_own_distinction :
  73    (∀ m n : ℕ, m = n ↔ ∀ i, (SetTheoryParse.Mem i m ↔ SetTheoryParse.Mem i n))
  74      ∧ (∀ b : TypeTheoryParse.Two, b = false ∨ b = true)
  75      ∧ CategoryTheoryParse.subobjectClassification (fun _ => True) = True :=
  76  ⟨SetTheoryParse.ext_iff, TypeTheoryParse.canonicity,
  77    CategoryTheoryParse.classifies_top⟩
  78
  79/-- **The set-theory leg, at full strength.** Beyond the finite (HF) parse, full ZFC
  80over Mathlib's `ZFSet`, with the axiom of infinity modelled (ω containing ∅ and
  81closed under successor), realizes the δ core. The HF caveat ("infinity not
  82modelled") is lifted. -/
  83theorem set_theory_with_infinity_realizes_delta :
  84    ((∅ : FullZFCParse.ZF) ∈ ZFSet.omega
  85        ∧ ∀ n, n ∈ ZFSet.omega → insert n n ∈ ZFSet.omega)
  86      ∧ Nonempty (PRCEmbeddingInto FullZFCParse.zfSystem) :=
  87  ⟨FullZFCParse.infinity_modeled, FullZFCParse.zfSystem_embeds_delta⟩
  88
  89end FoundationsParsed
  90end PrimitiveRecognitionCalculus
  91end Foundation
  92end IndisputableMonolith
  93

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