Leader protocols (CRN-3) #
The common shape of the threshold and remainder protocols of [AADFP06, proof of Lemma 5]. A
state is a triple (leader bit, output bit, value u ∈ V). An encounter in which at least one
agent is a leader makes the initiator the leader with value q(u, u') and the responder a
non-leader with value r(u, u'), and sets both output bits to t(q(u, u')); an encounter of
two non-leaders changes nothing. Inputs start as leaders with output bit t(u) (this
initialisation makes the protocols correct also for a single agent, see
FORMALIZATION_DIFFERENCES.md).
Generic facts proved here:
- invariants closed under steps: leaders output
tof their value (LeadOut), a leader exists (HasLeader), weighted sums of the values are conserved ifq + rconserves them (sum_step), non-leaders holdzifralways returnsz(nonLeaderVal_step); - leaders can be merged until at most one is left (
exists_reaches_atMostOne), and a potential on the non-leaders' values can be decreased until no encounter with the leader decreases it (exists_reaches_noImprove); - good configurations (one leader, with value
L, and non-leaders with values satisfyingR, whereq(L, y) = q(y, L) = Landr(L, y) = r(y, L) = yforR y) are closed under steps, and from them the leader's outputt Lcan be broadcast to every agent, which yields an output-stable configuration (Good.exists_outputStable).
The leader protocol with initial values init, merge functions q (initiator) and r
(responder) and output test t.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Invariants #
After an encounter involving the only leader, the initiator is the only leader.
If r always returns z, then NonLeaderVal z is preserved by steps.
Weighted sums of the values are conserved if F(q(u, u')) + F(r(u, u')) = F(u) + F(u').
The initial values, grouped by input symbol.
Merging the leaders #
Decreasing a potential #
An encounter of a leader (initiator) with a non-leader whose value decreases in weight decreases the potential.
With at most one leader, encounters of the leader with non-leaders can be performed until
none decreases the total weight ∑ μ of the non-leaders' values.
Good configurations and broadcasting the output #
Good configurations for the leader value L and the non-leader condition R: exactly one
leader, which holds L and outputs t L, and non-leaders whose values satisfy R.
- unique : AtMostOne c
Instances For
In a good configuration, an encounter involving the leader gives the initiator the value
L and the responder the value of the non-leader.
Good configurations are closed under steps.
In a good configuration, every encounter keeps correct outputs correct.
In a good configuration, an encounter involving the leader sets the responder's output to
t L.
From a good configuration, the leader's output t L can be broadcast to all agents.
Output-stability of leader protocols. From a good configuration the protocol reaches an
output-stable configuration with output t L.