def
definition
musicRealization
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Foundation.UniversalForcing.MusicRealization on GitHub at line 37.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
-
nontrivial -
step -
LogicNat -
succ -
succ_injective -
toNat -
zero_ne_succ -
LogicRealization -
identity -
MusicalIntervalStep -
musicCost -
musicCost_self -
musicCost_symm -
musicInterpret -
interpret -
interpret_step -
interpret_zero -
Cost -
succ -
identity
used by
formal source
34 LogicNat.toNat n
35
36/-- Musical realization as interval-step comparison. -/
37def musicRealization : LogicRealization where
38 Carrier := MusicalIntervalStep
39 Cost := Nat
40 zeroCost := inferInstance
41 compare := musicCost
42 zero := 0
43 step := Nat.succ
44 Orbit := LogicNat
45 orbitZero := LogicNat.zero
46 orbitStep := LogicNat.succ
47 interpret := musicInterpret
48 interpret_zero := by rfl
49 interpret_step := by
50 intro n
51 show LogicNat.toNat (LogicNat.succ n) = Nat.succ (LogicNat.toNat n)
52 rfl
53 orbit_no_confusion := by intro n h; exact LogicNat.zero_ne_succ n h
54 orbit_step_injective := LogicNat.succ_injective
55 orbit_induction := by
56 intro P h0 hs n
57 exact LogicNat.induction (motive := P) h0 hs n
58 orbitEquivLogicNat := Equiv.refl LogicNat
59 orbitEquiv_zero := rfl
60 orbitEquiv_step := by intro n; rfl
61 identity := musicCost_self
62 nonContradiction := musicCost_symm
63 excludedMiddle := True
64 composition := True
65 actionInvariant := True
66 nontrivial := by
67 refine ⟨1, ?_⟩