Encyclopedia Foundation Foundation Universal Forcing Canonical Semiring Iso Iso Map Forced Add
ARTICLE 3 claims 2 theorems 1 model
Foundation Universal Forcing Canonical Semiring Iso Iso Map Forced Add
When two different universes each build their arithmetic from scratch, a forced link between them preserves the meaning of plus.
Forced addition
Addition is the operation that answers "how many in total?" when two collections are put together. In ordinary arithmetic, 2 + 3 = 5 no matter who does the counting. The declaration iso_map_forcedAdd is a machine-checked statement that this same invariance holds even when the counting systems themselves are built differently. It proves that a canonical isomorphism, a structure-preserving correspondence between two forced arithmetics, sends the sum of two elements in one system to the sum of their images in the other.
The context is the Recognition Science framework, where each realization of a logical ledger, a discrete record of events, generates its own arithmetic through a process called universal forcing. The statement establishes that for any two such realizations, the canonical isomorphism between them respects addition. Formally, if the isomorphism maps element a to a' and b to b', then the image of forcedAdd a b equals forcedAdd a' b'. This is additivity: the isomorphism is a homomorphism for the forced addition operation.
The proof rests on a single load-bearing lemma called fold_iso_compat. Each forced arithmetic folds canonically onto a reference initial object, LogicNat, which already carries standard addition. Both the isomorphism composed with one fold, and the other fold directly, are Peano homomorphisms from the same initial structure. By initiality, they must be identical. The additivity statement then follows by transporting the equation along the fold and applying the inverse. This is pure initiality, the principle that a structure built from nothing has at most one homomorphism to any other structure of the same type.
What the statement does not claim is equally precise. It does not assert that the forced arithmetics are bundled as instances of a Mathlib typeclass called OrderedCommSemiring. That bundling is a separate, purely LogicNat-side enrichment, not needed for the forcing statement. The statement also does not claim that addition is the only operation preserved; companion statements establish the same for zero, one, multiplication, and the order relation. Together they form a certificate that the forced arithmetics are isomorphic as ordered commutative semirings, canonically, across all realizations.
THEOREM iso_map_forcedAdd · IndisputableMonolith/Foundation/UniversalForcing/CanonicalSemiringIso.lean
/-- **Additivity.** The canonical isomorphism is a homomorphism for forced
addition. -/
theorem iso_map_forcedAdd (R : LogicRealization.{0, v}) (S : LogicRealization.{0, w})
(a b : (forcedArith R).peano.carrier) :
(universalForcingPeanoEquiv R S).toEquiv (forcedAdd R a b)
= forcedAdd S ((universalForcingPeanoEquiv R S).toEquiv a)
((universalForcingPeanoEquiv R S).toEquiv b) := by
apply S.orbitEquivLogicNat.injective
simp only [forcedAdd, fold_iso_compat, Equiv.apply_symm_apply]
THEOREM fold_iso_compat · IndisputableMonolith/Foundation/UniversalForcing/CanonicalSemiringIso.lean
/-- **Fold compatibility (pure initiality).** The universal forcing isomorphism
`R ⥲ S`, followed by `S`'s fold onto `LogicNat`, equals `R`'s fold onto
`LogicNat`. Both are Peano homomorphisms out of the initial forced arithmetic of
`R`, so initiality forces them equal. -/
theorem fold_iso_compat (R : LogicRealization.{0, v}) (S : LogicRealization.{0, w})
(x : (forcedArith R).peano.carrier) :
S.orbitEquivLogicNat ((universalForcingPeanoEquiv R S).toEquiv x)
= R.orbitEquivLogicNat x := by
have h := (forcedArith R).initial.uniq logicNatPeano
(PeanoObject.Hom.comp (foldHom S) (universalForcingPeanoEquiv R S).toHom)
(foldHom R)
exact congrFun h x
MODEL forcedOrderedSemiringIsoCert · IndisputableMonolith/Foundation/UniversalForcing/CanonicalSemiringIso.lean
/-- The ordered-semiring isomorphism certificate is inhabited. -/
noncomputable def forcedOrderedSemiringIsoCert : ForcedOrderedSemiringIsoCert where
preserves_zero := fun R S => iso_map_forcedZero R S
preserves_one := fun R S => iso_map_forcedOne R S
preserves_add := fun R S => iso_map_forcedAdd R S
preserves_mul := fun R S => iso_map_forcedMul R S
preserves_le := fun R S => iso_map_forcedLe R S
What this page does not claim
The statement does not prove that the forced arithmetics are instances of the OrderedCommSemiring typeclass. The statement does not claim that addition is the only operation preserved by the isomorphism. The statement does not assert that the canonical isomorphism exists without the underlying universal forcing construction.
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/UniversalForcing/CanonicalSemiringIso.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:
- How does the forced addition relate to the addition defined on the reference LogicNat?
- What other operations does the canonical isomorphism preserve beyond addition?
- What is the role of initiality in forcing the isomorphism to be unique?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM iso_map_forcedAdd · IndisputableMonolith/Foundation/UniversalForcing/CanonicalSemiringIso.lean
/-- **Additivity.** The canonical isomorphism is a homomorphism for forced addition. -/ theorem iso_map_forcedAdd (R : LogicRealization.{0, v}) (S : LogicRealization.{0, w}) (a b : (forcedArith R).peano.carrier) : (universalForcingPeanoEquiv R S).toEquiv (forcedAdd R a b) = forcedAdd S ((universalForcingPeanoEquiv R S).toEquiv a) ((universalForcingPeanoEquiv R S).toEquiv b) := by apply S.orbitEquivLogicNat.injective simp only [forcedAdd, fold_iso_compat, Equiv.apply_symm_apply]The canonical isomorphism between two forced arithmetics sends the sum of two elements to the sum of their images. iso_map_forcedAdd · IndisputableMonolith/Foundation/UniversalForcing/CanonicalSemiringIso.leanTHEOREM fold_iso_compat · IndisputableMonolith/Foundation/UniversalForcing/CanonicalSemiringIso.lean
/-- **Fold compatibility (pure initiality).** The universal forcing isomorphism `R ⥲ S`, followed by `S`'s fold onto `LogicNat`, equals `R`'s fold onto `LogicNat`. Both are Peano homomorphisms out of the initial forced arithmetic of `R`, so initiality forces them equal. -/ theorem fold_iso_compat (R : LogicRealization.{0, v}) (S : LogicRealization.{0, w}) (x : (forcedArith R).peano.carrier) : S.orbitEquivLogicNat ((universalForcingPeanoEquiv R S).toEquiv x) = R.orbitEquivLogicNat x := by have h := (forcedArith R).initial.uniq logicNatPeano (PeanoObject.Hom.comp (foldHom S) (universalForcingPeanoEquiv R S).toHom) (foldHom R) exact congrFun h xThe proof rests on fold_iso_compat, which states that the isomorphism composed with one fold equals the other fold by initiality. fold_iso_compat · IndisputableMonolith/Foundation/UniversalForcing/CanonicalSemiringIso.leanMODEL forcedOrderedSemiringIsoCert · IndisputableMonolith/Foundation/UniversalForcing/CanonicalSemiringIso.lean
/-- The ordered-semiring isomorphism certificate is inhabited. -/ noncomputable def forcedOrderedSemiringIsoCert : ForcedOrderedSemiringIsoCert where preserves_zero := fun R S => iso_map_forcedZero R S preserves_one := fun R S => iso_map_forcedOne R S preserves_add := fun R S => iso_map_forcedAdd R S preserves_mul := fun R S => iso_map_forcedMul R S preserves_le := fun R S => iso_map_forcedLe R SThe statement does not bundle the forced arithmetics as OrderedCommSemiring typeclass instances. forcedOrderedSemiringIsoCert · IndisputableMonolith/Foundation/UniversalForcing/CanonicalSemiringIso.lean