After the large trees have marked switches in the output blocks that are not to be erased, the rest of the input switches that are awake must be informed. First, every working input switch (awake or asleep) queries its upper output neighbors to determine if they are marked. If any of them are, then the input switch colors itself. Then the following coloring step is repeated times. If any of an input's neighbors in the input block are colored, then the switch colors itself. (The same algorithm is then applied to the lower output block.) The following lemma shows that after steps, each input switch will know if the upper output block has been erased.
Proof: If any switch in an upper output block of size is marked, then at least of them are marked, which for is more than half of the switches in the block. By Lemma 3.4, each input switch in a block of size M that is awake can reach at least other working switches via paths of length at most . These switches have at least neighbors in the upper output block, which for is more than half of the switches in the block. If more than half of the switches in the upper output block are marked, and more than half of the switches are neighbors, then at least one neighbor is marked.
The last step before fault propagation is to declare any switch that is asleep to be faulty. The following lemma shows that the blocks that are not erased contain at most a fraction of faulty and asleep switches.
Proof: If an output block of size has more than faulty or asleep switches, then every large tree in the corresponding input block has at most neighbors in the output block that are awake, and none of those neighbors will be marked.
The algorithm for propagating faults from the outputs to the inputs in time is the same as the propagation algorithm from the Leighton-Maggs algorithm. It consists of stages, numbered 1 through . At stage i, each switch on level counts the number of faulty neighbors it has on level . If more than half of its upper or lower outputs lead to faulty switches that have not been erased, then the switch declares itself to be faulty. Otherwise it does nothing. We will choose , so that each unerased block has at most an fraction of faulty switches. As a consequence, we can apply Lemmas 3.1 and 3.2 to bound the number of faults that propagate to the inputs.