Solution

ID: past-exam-of-the-computer-science-course-of-the-university-of-oxford/2015/concurrency/3/f/solution

For a general ring, no. Being idle at the instant the coordinator starts is not the same as remaining idle until sampled. A downstream node that has not yet received the first-round message is still in its state and may become active.
For a concrete example, first perform , so all nodes are idle. Then take this CSP trace:
At the first displayed event the coordinator has started and all nodes are idle. Node has received true and is frozen, but node can still activate before receiving the token. It forwards false, so the entire second round carries false and nobody shuts down. After the final , all nodes are idle again. The coordinator may then perform forever without starting another survey. This is an infinite execution with no shutdown and no assumption of fairness that would exclude it.
Figure 1.
A node can activate after the survey starts but before the token reaches it
. Details.
Therefore
This does not contradict part (e): its stronger trigger, the true first-round return, never occurs in the failed survey. For the special ring, starting by already samples and freezes the only non-coordinator. If both nodes are idle at that event, this particular counterexample is impossible and the successful-survey progress argument applies. The general claim in the question must cover larger rings, where the unsampled downstream node exists.

New to topics? Read the docs here!