def
definition
ordered_arithmetic_invariant
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Foundation.OrderedLogicRealization on GitHub at line 63.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
formal source
60 simp [natCost]
61
62/-- Ordered arithmetic is invariant with every realization. -/
63noncomputable def ordered_arithmetic_invariant (R : LogicRealization.{0, 0}) :
64 (UniversalForcing.arithmeticOf natOrderedRealization).peano.carrier
65 ≃ (UniversalForcing.arithmeticOf R).peano.carrier :=
66 ArithmeticOf.equivOfInitial
67 (UniversalForcing.arithmeticOf natOrderedRealization)
68 (UniversalForcing.arithmeticOf R)
69
70/-- The ordered realization interprets arithmetic faithfully. -/
71theorem ordered_faithful :
72 LogicRealization.FaithfulArithmeticInterpretation natOrderedRealization where
73 injective := by
74 intro a b h
75 exact (ArithmeticFromLogic.LogicNat.eq_iff_toNat_eq).mpr h
76 zero_step_noncollapse := by
77 intro n h
78 have hnat := congrArg id h
79 simp [natOrderedRealization] at hnat
80 exact Nat.succ_ne_zero _ hnat.symm
81
82/-- Order on the carrier matches the recovered Peano order. -/
83theorem ordered_interpret_le_iff (a b : ArithmeticFromLogic.LogicNat) :
84 ArithmeticFromLogic.LogicNat.toNat a ≤ ArithmeticFromLogic.LogicNat.toNat b ↔ a ≤ b := by
85 exact (ArithmeticFromLogic.LogicNat.toNat_le a b).symm
86
87end OrderedLogicRealization
88end Foundation
89end IndisputableMonolith