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

strictBooleanRealization

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

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Foundation.UniversalForcing.Strict.DiscreteBoolean on GitHub at line 36.

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

used by

formal source

  33  xor p q
  34
  35/-- Strict discrete Boolean realization. -/
  36def strictBooleanRealization : StrictLogicRealization where
  37  Carrier := Bool
  38  Cost := Nat
  39  zeroCost := inferInstance
  40  compare := boolCost
  41  compose := xorBool
  42  one := false
  43  generator := true
  44  identity_law := boolCost_self
  45  non_contradiction_law := boolCost_symm
  46  excluded_middle_law := True
  47  composition_law := True
  48  invariance_law := True
  49  nontrivial_law := by
  50    simp [boolCost]
  51
  52/-- Strict Boolean forced arithmetic is canonically `LogicNat`. -/
  53def strictBoolean_arith_equiv_logicNat :
  54    (StrictLogicRealization.arith strictBooleanRealization).peano.carrier
  55      ≃ ArithmeticFromLogic.LogicNat :=
  56  (StrictLogicRealization.toLightweight strictBooleanRealization).orbitEquivLogicNat
  57
  58/-- First strict cross-realization invariance theorem:
  59positive ratios and Boolean propositions force the same arithmetic. -/
  60noncomputable def strictPositiveRatio_arith_equiv_strictBoolean
  61    (C : ComparisonOperator) (h : SatisfiesLawsOfLogic C) :
  62    (StrictLogicRealization.arith (PositiveRatio.strictPositiveRatioRealization C h)).peano.carrier
  63      ≃ (StrictLogicRealization.arith strictBooleanRealization).peano.carrier :=
  64  ArithmeticOf.equivOfInitial
  65    (StrictLogicRealization.arith (PositiveRatio.strictPositiveRatioRealization C h))
  66    (StrictLogicRealization.arith strictBooleanRealization)