Documentation

EventStructures.Computation

The empty configuration is a valid configuration.

Equations
Instances For
    def Computation (es : EventStructure) (c : Conf es) :

    A computation to a configuration c is an asynchronous path starting at the empty configuration and ending at c. Equivalently, a computation records a causal execution up to trace equivalence of the underlying path.

    Equations
    Instances For

      The type of all computations, paired with their target configuration.

      Equations
      Instances For
        def isLinearisation (es : EventStructure) (c : Conf es) (t : List es.Event) :

        A list of events t is a linearisation of configuration c if it is trace-equivalent to the trace of some path from the empty configuration to c. Equivalently, t enumerates the events of c in some order compatible with causality.

        Equations
        Instances For
          theorem computation_is_linearisation (es : EventStructure) {c : Conf es} (comp : Computation es c) :
          ∃ (t : List es.Event), isLinearisation es c t

          Every computation determines a linearisation of its target configuration.

          Configurations that are reachable by a computation.

          Equations
          Instances For

            Every computation targets a reachable configuration.

            Equations
            Instances For

              The map from computations to reachable configurations is surjective.