Neo-Davidsonian Event Semantics — basic API #
API on top of Events/Defs.lean's foundational types: sort predicates,
EventSort ↔ Aktionsart Dynamicity bridge, concrete examples on ℤ-time.
Files that only need to talk about events should import Defs.lean
directly to avoid pulling in Features.Aktionsart.
Main definitions #
Event.isAction/Event.isState— Bool sort predicatesEventSort.toDynamicity/dynamicityToEventSort— Aktionsart bridgevendlerClass_sort_agrees— VendlerClass dynamicity ↔ EventSortexampleRun/exampleKnow— concreteEvent ℤinstances
Sort predicates #
Is this event an action (dynamic event)?
Equations
- e.isAction = (e.sort = Semantics.Events.EventSort.action)
Instances For
Is this event a state (stative event)?
Equations
- e.isState = (e.sort = Semantics.Events.EventSort.state)
Instances For
Equations
Equations
Every event is either an action or a state (exhaustivity).
No event is both an action and a state (exclusivity).
Dynamicity Bridge (EventSort ↔ Aktionsart) #
Map EventSort to Dynamicity (the aspectual feature).
Equations
Instances For
Map Dynamicity back to EventSort.
Equations
Instances For
Roundtrip: toDynamicity ∘ dynamicityToEventSort = id.
Roundtrip: dynamicityToEventSort ∘ toDynamicity = id.
VendlerClass dynamicity agrees with EventSort classification. States map to .state sort; all others map to .action sort.
Concrete examples (ℤ-time events) #
Example: a running event from time 1 to 5.
Equations
- Semantics.Events.exampleRun = { runtime := { start := 1, finish := 5, valid := Semantics.Events.exampleRun._proof_2 }, sort := Semantics.Events.EventSort.action }
Instances For
Example: a knowing state from time 0 to 10.
Equations
- Semantics.Events.exampleKnow = { runtime := { start := 0, finish := 10, valid := Semantics.Events.exampleKnow._proof_2 }, sort := Semantics.Events.EventSort.state }
Instances For
The run event is not a state.
The know event is not an action.
The know event spans 0 to 10.