Documentation

EventStructures.Basic

structure EventStructure :
Type (u_1 + 1)

An event structure with binary conflict.

Instances For
    def EventStructure.consistent (es : EventStructure) (e₁ e₂ : es.Event) :

    Consistency relation: two events are consistent if they are not in conflict.

    Equations
    Instances For

      Consistency is reflexive.

      Consistency is symmetric.

      def EventStructure.concurrent (es : EventStructure) (e₁ e₂ : es.Event) :

      Concurrency relation: two events are concurrent if they are consistent and causally independent.

      Equations
      Instances For

        Concurrency is irreflexive.

        Concurrency is symmetric.

        Minimal conflict relation: (e₁, e₂) is a minimal conflicting pair if they conflict and there is no proper reduction of either that still produces a conflict. Formally: e₁ # e₂ and for all e₁' ≤ e₁, e₂' ≤ e₂, if e₁' # e₂' then e₁' = e₁ ∧ e₂' = e₂

        Equations
        Instances For
          theorem EventStructure.minimalConflict_conflict (es : EventStructure) {e₁ e₂ : es.Event} (h : es.minimalConflict e₁ e₂) :
          es.conflict e₁ e₂

          If (e₁, e₂) is a minimal conflict, then e₁ and e₂ conflict.

          theorem EventStructure.minimalConflict_minimal (es : EventStructure) {e₁ e₂ e₁' e₂' : es.Event} (h : es.minimalConflict e₁ e₂) (he₁ : e₁' e₁) (he₂ : e₂' e₂) (hConf : es.conflict e₁' e₂') :
          e₁' = e₁ e₂' = e₂

          If (e₁, e₂) is a minimal conflict and e₁' ≤ e₁, e₂' ≤ e₂ with e₁' ## e₂', then e₁' = e₁ and e₂' = e₂.

          The strict past of an event: all events strictly preceding it.

          Equations
          Instances For

            The future (upset) of an event: all events causally succeeding it.

            Equations
            Instances For