def
definition
modularRealization
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Foundation.ModularLogicRealization on GitHub at line 67.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
-
nontrivial -
step -
has -
LogicNat -
succ -
succ_injective -
zero_ne_succ -
extracted -
LogicRealization -
cycStep -
finCost -
finCost_self -
finCost_symm -
modularInterpret -
modularInterpret_step -
modularInterpret_zero -
modulus -
modulus_pos -
one_lt_modulus -
identity -
modularRealization -
interpret -
interpret_step -
interpret_zero -
Cost -
succ -
identity
used by
formal source
64 simpa [Nat.mod_eq_of_lt (one_lt_modulus k)] using h
65
66/-- Finite cyclic Law-of-Logic realization with periodic interpretation. -/
67def modularRealization (k : ℕ) : LogicRealization where
68 Carrier := Fin (modulus k)
69 Cost := Nat
70 zeroCost := inferInstance
71 compare := finCost
72 zero := ⟨0, modulus_pos k⟩
73 step := cycStep k
74 Orbit := ArithmeticFromLogic.LogicNat
75 orbitZero := ArithmeticFromLogic.LogicNat.zero
76 orbitStep := ArithmeticFromLogic.LogicNat.succ
77 interpret := modularInterpret k
78 interpret_zero := modularInterpret_zero k
79 interpret_step := modularInterpret_step k
80 orbit_no_confusion := by
81 intro n h
82 exact ArithmeticFromLogic.LogicNat.zero_ne_succ n h
83 orbit_step_injective := ArithmeticFromLogic.LogicNat.succ_injective
84 orbit_induction := by
85 intro P h0 hs n
86 exact ArithmeticFromLogic.LogicNat.induction (motive := P) h0 hs n
87 orbitEquivLogicNat := Equiv.refl ArithmeticFromLogic.LogicNat
88 orbitEquiv_zero := rfl
89 orbitEquiv_step := by intro n; rfl
90 identity := finCost_self
91 nonContradiction := finCost_symm
92 excludedMiddle := True
93 composition := True
94 actionInvariant := True
95 nontrivial := by
96 refine ⟨⟨1, one_lt_modulus k⟩, ?_⟩
97 simp [finCost]