structure
definition
EventState
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Foundation.UniversalForcing.Strict.Narrative on GitHub at line 16.
browse module
All declarations in this module, on Recognition.
explainer page
used by
formal source
13namespace Strict
14namespace Narrative
15
16structure EventState where
17 act : Nat
18 beat : Nat
19 deriving DecidableEq, Repr
20
21def eventCost (a b : EventState) : Nat :=
22 if a = b then 0 else 1
23
24@[simp] theorem eventCost_self (a : EventState) : eventCost a a = 0 := by
25 simp [eventCost]
26
27theorem eventCost_symm (a b : EventState) : eventCost a b = eventCost b a := by
28 by_cases h : a = b
29 · subst h
30 simp [eventCost]
31 · have h' : b ≠ a := by intro hb; exact h hb.symm
32 simp [eventCost, h, h']
33
34def eventCompose (a b : EventState) : EventState :=
35 { act := a.act + b.act, beat := a.beat + b.beat }
36
37def narrativeZero : EventState := ⟨0, 0⟩
38def incitingBeat : EventState := ⟨0, 1⟩
39
40/-- Strict narrative realization using beat succession as the generator. -/
41def strictNarrativeRealization : StrictLogicRealization where
42 Carrier := EventState
43 Cost := Nat
44 zeroCost := inferInstance
45 compare := eventCost
46 compose := eventCompose