Encyclopedia Foundation Foundation Primitive Recognition Calculus Prctype Theory Parse
ARTICLE 4 claims 3 theorems 1 model
Foundation Primitive Recognition Calculus Prctype Theory Parse
A machine-checked library proves that a two-symbol alphabet, the simplest possible ledger, already contains the full expressive power of the recognition calculus.
The two-token foundation
A ledger, a discrete record of events, needs at least two kinds of entries to record a difference: something happened, or it did not. The foundational module treated here takes that intuition literally. It defines the canonical two-element type, the formal object with exactly two closed terms, and proves its basic facts: every term is one of the two constructors, and the two constructors are distinct. These are not optional features of the type; they are what it means to have a two-element type at all.
The module then shows how this two-token system satisfies the interface of a formal system, a structure with tokens, expressions, and a way to compare them. Tokens are the two closed terms; expressions are natural numbers measuring derivation length; the discrimination relation is term inequality. The key result is that this system is expressive: it can tell its two tokens apart. From there the module proves that the two-token system embeds the delta core, the minimal recognition calculus, and therefore is not degenerate. The packaged theorem states all three facts together: canonicity, no-confusion, and the embedding.
In Recognition Science, this is the bridge from type theory to the framework's own primitives. The framework models recognition events as a ledger, and the module shows that the simplest possible ledger, two distinct tokens, already realizes the delta core. This means the framework's foundational claims do not rest on exotic assumptions; they are already present in the most basic two-element type of Martin-Löf type theory. The machine-checked library of formal theorems records this as a proved theorem, not a hypothesis.
What this changes is the starting point. The framework does not need to invent a new logic to get off the ground. It can point to the two-element type, show that it satisfies the formal-system interface, and conclude that the recognition calculus is already there. The reader can now see that the entire edifice of Recognition Science, with its cost functions and forcing chains, begins from a distinction as simple as true versus false.
MODEL Two · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.lean
/-- The canonical two-element type `𝟚` of Martin-Löf type theory / CIC, here Lean's
own `Bool`. Its two closed terms are `false` and `true`. -/
abbrev Two := Bool
THEOREM canonicity · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.lean
/-- **Canonicity.** Every closed term of `𝟚` is one of the two canonical
constructors. The type has exactly two inhabitants. -/
theorem canonicity (b : Two) : b = false ∨ b = true := by
cases b
· exact Or.inl rfl
· exact Or.inr rfl
THEOREM no_confusion · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.lean
/-- **No-confusion / constructor disjointness.** The two canonical terms are
distinct: this is the recursor's verdict, the type theory's own distinction. -/
theorem no_confusion : (false : Two) ≠ true := by decide
THEOREM ttSystem_expressive · ttSystem_embeds_delta · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.lean
theorem ttSystem_expressive : ttSystem.Expressive := by
show (false : Two) ≠ true
decide
/-- **MLTT contains the δ core.** -/
theorem ttSystem_embeds_delta : Nonempty (PRCEmbeddingInto ttSystem) :=
FormalSystemEmbeddingTarget_proved ttSystem ttSystem_expressive
What this page does not claim
This module does not derive the cost function J or any of the forcing chain results. The two-token system is not claimed to be the only formal system that embeds the delta core. No claim is made about the physical interpretation of the two tokens as actual events in the world.
Verify this page
Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:
$ lake env lean IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)
A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.
Derived articles
This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:
- What is the delta core, and why is embedding it the criterion for a formal system to count as a recognition calculus?
- How does the two-token system's derivation-length order relate to the cost function that the framework later forces?
- What other formal systems in the framework's library embed the delta core, and what does that tell us about the scope of the recognition calculus?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
MODEL Two · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.lean
/-- The canonical two-element type `𝟚` of Martin-Löf type theory / CIC, here Lean's own `Bool`. Its two closed terms are `false` and `true`. -/ abbrev Two := BoolThe module defines the canonical two-element type with exactly two closed terms, false and true. Two · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.leanTHEOREM canonicity · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.lean
/-- **Canonicity.** Every closed term of `𝟚` is one of the two canonical constructors. The type has exactly two inhabitants. -/ theorem canonicity (b : Two) : b = false ∨ b = true := by cases b · exact Or.inl rfl · exact Or.inr rflEvery closed term of the two-element type is one of the two canonical constructors. canonicity · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.leanTHEOREM no_confusion · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.lean
/-- **No-confusion / constructor disjointness.** The two canonical terms are distinct: this is the recursor's verdict, the type theory's own distinction. -/ theorem no_confusion : (false : Two) ≠ true := by decideThe two canonical terms are distinct. no_confusion · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.leanTHEOREM ttSystem_expressive · ttSystem_embeds_delta · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.lean
theorem ttSystem_expressive : ttSystem.Expressive := by show (false : Two) ≠ true decide/-- **MLTT contains the δ core.** -/ theorem ttSystem_embeds_delta : Nonempty (PRCEmbeddingInto ttSystem) := FormalSystemEmbeddingTarget_proved ttSystem ttSystem_expressiveThe two-token system is expressive and embeds the delta core. ttSystem_expressive · ttSystem_embeds_delta · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCTypeTheoryParse.lean