 
Summary: Clearly, fi 0 :p j
¸ fi. It can easily be shown that p j distinguishes between fi and fi 0 , and therefore,
fi 6= fi 0 . We now show that fi 0 is unique.
If B k 6= fp j g (Case (1)), then clearly, there is another processor p i 2 B k . If B k = fp j g
(Case (2)), then there is another processor p i 2 B k+1 : B k+1 is not empty and does not include
p j . Moreover, if p j 2 B r , for some r ? k, then B r 0 = fp j g for every r 0 – r (otherwise, p j would
be last seen in the rth block of fi).
In both cases, for every block execution fi 00 , which is neither fi nor fi 0 , p i distinguishes
between fi and fi 00 , which proves the uniqueness of fi 0 .
14
A Additional Proofs
A direct proof of Lemma 2.1 appears in [3]; we prove an slight extension of the lemma, which
applies to every execution of a normal algorithm (see Section 2), in which processors halt
(decide or fail) only after read steps.
Lemma A.1 If a processor p j is unseen in an execution ff then there is no execution ff 0 6j ff
such that ff
:p j
¸ ff 0 .
Sketch of proof: If p j is unseen in ff, there is no step by another processor after p j takes its
