pith. machine review for the scientific record. sign in
def

realizationOrbit_equiv_logicNat

definition
show as:
view math explainer →
module
IndisputableMonolith.Foundation.UniversalForcing.NaturalNumberObject
domain
Foundation
line
220 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Foundation.UniversalForcing.NaturalNumberObject on GitHub at line 220.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

depends on

formal source

 217/-- The forced arithmetic of every realization is canonically equivalent to
 218`LogicNat`. This is the Universal Forcing statement at the natural-number
 219object level: every Law-of-Logic realization carries the same NNO. -/
 220noncomputable def realizationOrbit_equiv_logicNat (R : LogicRealization.{0, 0}) :
 221    R.Orbit ≃ LogicNat :=
 222  IsNaturalNumberObject.equiv (realizationOrbit_isNNO R) logicNat_isNNO
 223
 224/-- The Lawvere universality statement: any two realizations have iteration
 225orbits that satisfy the natural-number-object property, hence are
 226canonically equivalent. -/
 227noncomputable def universal_forcing_via_NNO
 228    (R S : LogicRealization.{0, 0}) : R.Orbit ≃ S.Orbit :=
 229  IsNaturalNumberObject.equiv (realizationOrbit_isNNO R) (realizationOrbit_isNNO S)
 230
 231/-! ## The Boolean parity-collapse theorem
 232
 233The discrete Boolean realization is the sharpest test of the iteration-object
 234versus orbit-as-set distinction. The carrier `Bool` has only two elements,
 235and the strict realization's `interpret : LogicNat → Bool` collapses
 236infinitely many iteration steps onto two values. The iteration object
 237itself never collapses; it is `LogicNat`, the natural-number object.
 238
 239The theorem below makes the collapse explicit: the Boolean interpretation
 240is exactly the parity map `Nat.bodd ∘ toNat`. -/
 241
 242namespace Strict.DiscreteBoolean
 243
 244open IndisputableMonolith.Foundation.UniversalForcing.Strict
 245
 246/-- One step of the Boolean strict realization is `xor true _`, which is
 247boolean negation. -/
 248private theorem xorBool_true (b : Bool) : xorBool true b = !b := by
 249  cases b <;> rfl
 250