1-tolerant pseudo-consensus #
This file develops the theory of pseudo-consensus algorithms that can tolerate up to 1 fault. It formalizes section 3 of [Vol04] except Theorem 1.
a.CanDecideWithout s p b means that the boolean value b is decided on in a state that
is reachable from s without the participation of p. In the notation of [Vol04], this
is equivalent to b ∈ val(p,s).
Equations
- a.CanDecideWithout s p b = ∃ (s' : Cslib.FLP.State P M S), a.CanReachVia {p}ᶜ s s' ∧ s'.Decided b
Instances For
a.Uniform s b means that for every process p, a.CanDecideWithout s p b but
not a.CanDecideWithout s p !b.
Equations
- a.Uniform s b = ∀ (p : P), a.CanDecideWithout s p b ∧ ¬a.CanDecideWithout s p !b
Instances For
a.NonUniform s means that for each boolean value b, there is a process p
such that a.CanDecideWithout s p b.
Equations
- a.NonUniform s = ∀ (b : Bool), ∃ (p : P), a.CanDecideWithout s p b
Instances For
Draw a consequence of a.PseudoConsensus 1.
Assuming a.PseudoConsensus 1, for any reachable state of a and for any process p,
there is a boolean value b such that a.CanDecideWithout s p b. This theorem formalizes
Proposition 2(a) of [Vol04].
A state cannot be both uniform and non-uniform.
Assuming a.PseudoConsensus 1, any reachable state of a is either uniform or non-uniform.
Assuming a.PseudoConsensus 1, if a reachable state of a has decided on a boolean value b
and a.CanDecideWithout s p b' for any process p, then b = b'.
Assuming a.PseudoConsensus 1, if a reachable state of a has decided on a boolean value b,
then s is uniform for b. This theorem formalizes Proposition 2(b) of [Vol04].
For any message m, if state s' is reached from state s by receiving m, then
a.CanDecideWithout s m.dest b implies a.CanDecideWithout s' m.dest b for any b.
This theorem formalizes Proposition 3(b) of [Vol04].
For any message m, if state s' is reached from state s by receiving m, then
a.CanDecideWithout s' p b implies a.CanDecideWithout s p b for any b and any p ≠ m.dest.
This theorem formalizes Proposition 3(a) of [Vol04].
Assuming a.PseudoConsensus 1, if any reachable state s of a is uniform for b and
state s' is reached from s by receiving a message m, then a.CanDecideWithout s' p b.
This theorem formalizes Proposition 3(c) of [Vol04].
Assuming a.PseudoConsensus 1, if any reachable state s of a that is non-uniform,
then for any process p, there exists a state s' reachable from s such that
a.CanDecideWithout s' p b for all b. This theorem formalizes Lemma 2 of [Vol04].
Given a numbering pn of processes and n : ℕ, inpN pn n assigns true to the processes
numbered 0, ..., (n - 1) and false to the rest.
Instances For
Assuming 0 < n ≤ card P, the inputs inpN pn (n - 1) amd inpN pn n agree on all processes
except the one that is numbered (n - 1).
Assuming a.PseudoConsensus 1, the initial state determined by the all-false input
is uniform for false.
Assuming a.PseudoConsensus 1, the initial state determined by the all-true input
is uniform for true.
Assuming a.PseudoConsensus 1 and there are at least 2 processes, there must exist an input
that gives rise to a non-uniform initial state. This theorem formalizes Lemma 1 of [Vol04].