Encyclopedia Foundation Foundation Distinction To Arithmetic Distinction Forcing Map Unique
ARTICLE 4 claims 4 theorems
Foundation Distinction To Arithmetic Distinction Forcing Map Unique
From any two distinguishable points, a machine-checked proof forces a unique counting structure, with no freedom left over.
The unique arithmetic bridge
A distinction, in the Recognition Science framework, is simply a carrier set with two points that can be told apart. The framework's central move is to ask what such a bare distinction forces. The answer, proved in a machine-checked library of formal theorems, is that it forces an arithmetic: a structure with a zero, a successor step, and induction, the same shape that defines the natural numbers. The declaration distinction_forcing_map_unique establishes the strongest form of this claim: not only does every distinction give rise to such arithmetic, but between any two distinctions there is exactly one structure-preserving map. No representational freedom survives; the map is determined by the distinction data alone.
This uniqueness is the content of canonicity. If you have two carriers, each with a distinguished pair of points, each forces its own arithmetic object. A structure-preserving map between them is one that sends zero to zero and commutes with the successor step. The theorem states that any such map must equal the single forcing map. In plain terms, once the distinction is fixed, the arithmetic it forces is unique up to a unique isomorphism. The proof rests on the initiality of the forced object: it is the initial Peano structure, so any structure-preserving map into another such structure is forced to be the unique one.
The framework also proves what this forced arithmetic is. Its carrier is canonically equivalent to LogicNat, the countable initial Peano object, and it is therefore countable. This is a lower bound on what a distinction can do: it forces exactly the countable arithmetic, no more. The real line is not forced. A separate theorem, real_not_forced_from_distinction, shows that no countable certificate system can faithfully cover the continuum. The reals enter only through a completion or display interface, never from distinction alone. This is the honest scope of the result: a distinction buys you the natural numbers, not the real numbers.
In Recognition Science, this theorem is the named bridge between the two halves of the Universal-Forcing program. It welds the logic realization of a distinction to its forced arithmetic into a single object, and proves that object canonical. The practical consequence is that the framework's arithmetic is not an arbitrary choice: it is the unique structure forced by the primitive of distinction. What the theorem does not claim is equally important. It does not claim that the real numbers are derivable from distinctions, and it does not claim to re-prove the full Universal-Forcing Part II. It anchors that result to the distinction primitive, nothing more.
THEOREM distinction_forcing_map_unique · IndisputableMonolith/Foundation/DistinctionToArithmetic.lean
/-- **Canonicity for distinctions.** Any zero/step-preserving function between the
forced arithmetics of two distinctions *is* the forcing map. The map is determined
by the distinction data alone, with no representational freedom. -/
theorem distinction_forcing_map_unique
{K L : Type u} [DecidableEq K] [DecidableEq L]
{x y : K} {a b : L} (hxy : x ≠ y) (hab : a ≠ b)
(f : (arithmeticOfDistinction x y hxy).peano.carrier →
(arithmeticOfDistinction a b hab).peano.carrier)
(hz : f (arithmeticOfDistinction x y hxy).peano.zero =
(arithmeticOfDistinction a b hab).peano.zero)
(hs : ∀ p, f ((arithmeticOfDistinction x y hxy).peano.step p) =
(arithmeticOfDistinction a b hab).peano.step (f p)) :
f = (distinction_forcing_map hxy hab).toFun :=
ArithmeticOf.forcing_map_unique
(arithmeticOfDistinction x y hxy) (arithmeticOfDistinction a b hab) f hz hs
THEOREM arithmeticOfDistinction_carrier_equiv_logicNat · IndisputableMonolith/Foundation/DistinctionToArithmetic.lean
/-- The carrier of the distinction-forced arithmetic is canonically `LogicNat`. -/
noncomputable def arithmeticOfDistinction_carrier_equiv_logicNat
{K : Type u} [DecidableEq K] (x y : K) (hxy : x ≠ y) :
(arithmeticOfDistinction x y hxy).peano.carrier ≃ LogicNat :=
distinction_arithmetic_equiv_logicNat.{u, u, u} x y hxy
THEOREM arithmeticOfDistinction_carrier_countable · IndisputableMonolith/Foundation/DistinctionToArithmetic.lean
/-- The distinction-forced arithmetic carrier is **countable**: it is `LogicNat`,
which is equivalent to `ℕ`. This is the δ-native lower fact: a distinction forces
exactly the countable initial Peano object, no more. -/
theorem arithmeticOfDistinction_carrier_countable
{K : Type u} [DecidableEq K] (x y : K) (hxy : x ≠ y) :
Countable (arithmeticOfDistinction x y hxy).peano.carrier := by
haveI : Countable LogicNat := Countable.of_equiv Nat LogicNat.equivNat.symm
exact Countable.of_equiv LogicNat
(arithmeticOfDistinction_carrier_equiv_logicNat x y hxy).symm
THEOREM real_not_forced_from_distinction · IndisputableMonolith/Foundation/DistinctionToArithmetic.lean
/-- **ℝ is not forced from a distinction.** No countable certificate system
faithfully covers ℝ. Restated from `RealLineNonNativity.real_not_faithfully_certifiable`
to sit beside the distinction-forced (countable) arithmetic and make the
unification explicit: distinction forces `LogicNat`, never `ℝ`. -/
theorem real_not_forced_from_distinction
{Cert : Type} [Countable Cert] (assign : ℝ → Cert) :
¬ PrimitiveRecognitionCalculus.RealLineNonNativity.Faithful assign :=
PrimitiveRecognitionCalculus.RealLineNonNativity.real_not_faithfully_certifiable assign
What this page does not claim
This theorem does not derive the real numbers from distinctions. This theorem does not re-prove Universal-Forcing Part II; it anchors it to the distinction primitive. The uniqueness holds for carriers in one shared universe, the standard setting for comparing structure morphisms.
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/DistinctionToArithmetic.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 exactly is the completion or display interface through which the real line enters?
- How does the unique forcing map between distinctions relate to the broader canonicity results in the Universal-Forcing program?
- What are the consequences of the countable forced arithmetic for the framework's treatment of analysis?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM distinction_forcing_map_unique · IndisputableMonolith/Foundation/DistinctionToArithmetic.lean
/-- **Canonicity for distinctions.** Any zero/step-preserving function between the forced arithmetics of two distinctions *is* the forcing map. The map is determined by the distinction data alone, with no representational freedom. -/ theorem distinction_forcing_map_unique {K L : Type u} [DecidableEq K] [DecidableEq L] {x y : K} {a b : L} (hxy : x ≠ y) (hab : a ≠ b) (f : (arithmeticOfDistinction x y hxy).peano.carrier → (arithmeticOfDistinction a b hab).peano.carrier) (hz : f (arithmeticOfDistinction x y hxy).peano.zero = (arithmeticOfDistinction a b hab).peano.zero) (hs : ∀ p, f ((arithmeticOfDistinction x y hxy).peano.step p) = (arithmeticOfDistinction a b hab).peano.step (f p)) : f = (distinction_forcing_map hxy hab).toFun := ArithmeticOf.forcing_map_unique (arithmeticOfDistinction x y hxy) (arithmeticOfDistinction a b hab) f hz hsBetween any two distinctions the forcing map exists and is the unique zero/step-preserving map. distinction_forcing_map_unique · IndisputableMonolith/Foundation/DistinctionToArithmetic.leanTHEOREM arithmeticOfDistinction_carrier_equiv_logicNat · IndisputableMonolith/Foundation/DistinctionToArithmetic.lean
/-- The carrier of the distinction-forced arithmetic is canonically `LogicNat`. -/ noncomputable def arithmeticOfDistinction_carrier_equiv_logicNat {K : Type u} [DecidableEq K] (x y : K) (hxy : x ≠ y) : (arithmeticOfDistinction x y hxy).peano.carrier ≃ LogicNat := distinction_arithmetic_equiv_logicNat.{u, u, u} x y hxyThe carrier of the distinction-forced arithmetic is canonically LogicNat. arithmeticOfDistinction_carrier_equiv_logicNat · IndisputableMonolith/Foundation/DistinctionToArithmetic.leanTHEOREM arithmeticOfDistinction_carrier_countable · IndisputableMonolith/Foundation/DistinctionToArithmetic.lean
/-- The distinction-forced arithmetic carrier is **countable**: it is `LogicNat`, which is equivalent to `ℕ`. This is the δ-native lower fact: a distinction forces exactly the countable initial Peano object, no more. -/ theorem arithmeticOfDistinction_carrier_countable {K : Type u} [DecidableEq K] (x y : K) (hxy : x ≠ y) : Countable (arithmeticOfDistinction x y hxy).peano.carrier := by haveI : Countable LogicNat := Countable.of_equiv Nat LogicNat.equivNat.symm exact Countable.of_equiv LogicNat (arithmeticOfDistinction_carrier_equiv_logicNat x y hxy).symmThe distinction-forced arithmetic carrier is countable. arithmeticOfDistinction_carrier_countable · IndisputableMonolith/Foundation/DistinctionToArithmetic.leanTHEOREM real_not_forced_from_distinction · IndisputableMonolith/Foundation/DistinctionToArithmetic.lean
/-- **ℝ is not forced from a distinction.** No countable certificate system faithfully covers ℝ. Restated from `RealLineNonNativity.real_not_faithfully_certifiable` to sit beside the distinction-forced (countable) arithmetic and make the unification explicit: distinction forces `LogicNat`, never `ℝ`. -/ theorem real_not_forced_from_distinction {Cert : Type} [Countable Cert] (assign : ℝ → Cert) : ¬ PrimitiveRecognitionCalculus.RealLineNonNativity.Faithful assign := PrimitiveRecognitionCalculus.RealLineNonNativity.real_not_faithfully_certifiable assignThe real line is not forced from a distinction. real_not_forced_from_distinction · IndisputableMonolith/Foundation/DistinctionToArithmetic.lean