Computations #
Asynchronous paths from the empty configuration.
A computation to c is an asynchronous path from the empty configuration.
Equations
- Computation F c = Path.Async F F.empty c
Instances For
All computations, paired with their target configuration.
Equations
- Computations F = ((c : F.Conf) × Computation F c)
Instances For
t linearises c when some path to c has a trace equivalent to t.
Equations
- isLinearisation F c t = ∃ (p : Path F F.empty c), F.TraceEquivFrom (↑F.empty) (Path.trace F p) t
Instances For
theorem
computation_is_linearisation
{L : Type u_1}
(F : ConfFamily L)
{c : F.Conf}
(comp : Computation F c)
:
∃ (t : List F.Event), isLinearisation F c t
Every computation determines a linearisation of its target configuration.
Configurations reachable by a computation.
Equations
- ReachableConf F = { c : F.Conf // Nonempty (Computation F c) }
Instances For
Every computation targets a reachable configuration.
Equations
- computation_to_reachable F p = ⟨p.fst, ⋯⟩
Instances For
The map from computations to reachable configurations is surjective.