Reachability via a subset of processes #
This file develops a theory of reachability via a subset of processes, that is, what happens when only a subset of processes can receive messages and take steps. It culminates with two "diamond properties" of this more refined reachability relation.
References #
- [Vol04] H. Völzer, A constructive proof for FLP. Information Processing Letters 92(2), (October 2004) 83–87.
a.CanReachVia ps s1 s2 means that state s2 is reachable from state s1 via a finite
execution of algorithm a in which all messages received have destinations in ps.
Equations
- a.CanReachVia ps s1 s2 = ∃ (xs : List (Cslib.FLP.Action P M)), a.lts.MTr s1 xs s2 ∧ List.Forall (Cslib.FLP.DestIn ps) xs
Instances For
InpEqOn ps inp1 inp2 means that inputs inp1 and inp2 agree on all processes in ps.
Equations
- Cslib.FLP.InpEqOn ps inp1 inp2 = ∀ p ∈ ps, inp1 p = inp2 p
Instances For
a.CanReachVia ps s s' implies a.lts.CanReach s s' for any ps.
a.CanReachVia ps s s is true for any ps.
Extending CanReachVia on the left by one step.
A diamond property for CanReachVia. This theorem formalizes Proposition 1 of [Vol04].
If inputs inp1 and inp2 agree on all processes in ps and state s is reachable from
the initial state determined by inp1 by receiving messages with destinations in ps only,
then there exists a state s2 that agrees with s on the states of all processes and is
reachable from the initial state determined by inp2 by receiving messages with destinations
in ps only. This theorem is implicitly used in the proof of Lemma 1 of [Vol04].