Documentation

LeanPool.EventStructures.Computation

Computations #

A computation to a configuration is an asynchronous path from the empty configuration to it. This module defines computations, the type of reachable configurations, and linearisations, and relates computations to the configurations they reach.

The empty configuration is a valid configuration.

Equations
Instances For

    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

        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 EventStructures.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.