In this section, we will prove that no matter how an adversary selects f switches to be faulty, there are always at least inputs and outputs through which any permutation on those inputs and outputs can be routed in steps. In fact, the greedy algorithm described in Section 2 works once we have removed an appropriate set of switches which include at most inputs and outputs.
We first describe which outputs to remove. Examine each splitter in the multibutterfly and check if more than an fraction of the input switches are faulty, where and . If so, then ``erase'' the splitter from the network as well as all descendant switches and outputs. The following lemma bounds the number of erased outputs.
Proof: The erasure of an M-input splitter causes the removal of M multibutterfly outputs, and accounts for at least faults. Hence, at most multibutterfly outputs are removed by this process.
We next describe which inputs to remove. Working from level backwards, examine each switch to see if at least half of its upper output edges lead to faulty switches that have not been erased, or if at least half of its lower output edges lead to faulty switches that have not been erased. If so, then declare the switch to be faulty (but do not erase it). In the following lemmas, we will prove that at most additional switches are declared to be faulty at each level of this process. Hence, at most multibutterfly inputs will be faulty (declared or otherwise).
Proof: The proof is by induction on the level, starting at level and working backwards. The base case at level is trivial since there are no propagated faults on level . Now consider an arbitrary M-input splitter on level i. Let denote the set of faults propagated from the splitter's upper outputs and let denote those propagated from the lower outputs. If the upper outputs were erased, then . Otherwise, the number of faults placed by the adversary in the upper outputs is at most . Since each propagated input fault is connected to at most working upper outputs, we can conclude that . By induction, and . For and , we have a contradiction. A similar argument shows that .
Proof: The proof is again by induction on the level. Consider some level l and assume that it has more than propagated faults. By Lemma 3.2, we know that these faults are divided among the splitters linking level l to l+1 so that we can apply the expansion property to the faults within each splitter. Hence there must be more than faults on level l+1. This is a contradiction however, since level l+1 can have at most total faults by induction. Hence, level l can have at most propagated faults.
We now erase all the remaining faulty switches. This leaves a network with inputs and outputs. Moreover, every input in every splitter is linked to functioning upper outputs (if the descendant multibutterfly outputs exist) and functioning lower outputs (if the corresponding multibutterfly outputs exist). Hence every splitter has an expansion property. Thus, we can apply Theorem 2.1 with replaced by to prove that the greedy algorithm still routes any permutation on the remaining inputs and outputs in steps. This is summarized as Theorem 3.4 below. (Note that we can achieve expansion for .)
Proof: The results follows from Theorem 2.1, Lemmas 3.1 and 3.3, and the fact that .