Documentation

Linglib.Theories.Semantics.Events.Basic

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 #

Sort predicates #

def Semantics.Events.Event.isAction {Time : Type u_1} [LinearOrder Time] (e : Event Time) :

Is this event an action (dynamic event)?

Equations
Instances For
    def Semantics.Events.Event.isState {Time : Type u_1} [LinearOrder Time] (e : Event Time) :

    Is this event a state (stative event)?

    Equations
    Instances For
      @[implicit_reducible]
      instance Semantics.Events.instDecidablePredEventIsState {Time : Type u_1} [LinearOrder Time] :
      DecidablePred Event.isState
      Equations

      Every event is either an action or a state (exhaustivity).

      No event is both an action and a state (exclusivity).

      theorem Semantics.Events.isAction_iff_not_isState {Time : Type u_1} [LinearOrder Time] (e : Event Time) :
      e.isAction ¬e.isState

      isAction and isState are complementary.

      theorem Semantics.Events.isState_iff_not_isAction {Time : Type u_1} [LinearOrder Time] (e : Event Time) :
      e.isState ¬e.isAction

      isState and isAction are complementary.

      Dynamicity Bridge (EventSort ↔ Aktionsart) #

      Roundtrip: toDynamicity ∘ dynamicityToEventSort = id.

      Roundtrip: dynamicityToEventSort ∘ toDynamicity = id.

      Concrete examples (ℤ-time events) #

      Example: a running event from time 1 to 5.

      Equations
      Instances For

        Example: a knowing state from time 0 to 10.

        Equations
        Instances For

          The run event is not a state.

          The know event is not an action.

          The run event starts at 1.

          The run event ends at 5.

          The know event spans 0 to 10.