Proofs: Even-Tarjan vertex connectivity algorithm
These are the human proofs of Even-Tarjan vertex connectivity algorithm, at full length.
The Even-Tarjan algorithm returns the vertex connectivity full
This proof shows: correctness.
Let be an undirected graph with vertices , . Parallel edges and loops are allowed. A loop joins a vertex to itself and parallel edges join the same two vertices, so neither changes which pairs of distinct vertices are adjacent, which - paths exist, or which sets make disconnected. So we may assume is simple. Define and as on the main page.
Lemma 1 (pairs). If is not complete, then .
Proof. If separates the non-adjacent and , then contains and and has no - path, so it is disconnected; hence . Conversely, let be disconnected with , and pick and in two different components of . They are not adjacent, and separates them, so . A non-complete graph has a non-adjacent pair , and separates them, so the sets in the definition are not empty.
Lemma 2 (LOCAL). For non-adjacent and an integer , LOCAL returns .
Proof. In the split digraph , a set of paths from to in that share no inner vertex gives arc-disjoint paths from to : the path becomes , and two such paths share no arc since they share no . Conversely, an integral flow of value with unit capacities splits into arc-disjoint paths from to , and since the only arc that leaves is , two of them never pass the same . We may drop cycles from these paths, so a path ends at its first visit to and never passes , whose only leaving arc goes back to . So the maximum flow value equals the most - paths in that share no inner vertex, which is by Menger's theorem (Diestel, Section 3.3). Each round of lines L11 and L12 adds 1 to an integral flow, and by the augmenting path theorem the loop stops without the cap exactly when the flow is maximum. So LOCAL returns if , and otherwise.
Lemma 3 (upper invariant). At every moment, .
Proof. At line L1, , because in both cases of the definition: a disconnecting set leaves at least two vertices. Line L6 only replaces by with , and both and are at least by induction and Lemma 1.
Theorem. VERTEX-CONNECTIVITY returns .
Proof. It terminates, since grows by one at each round of line L3, and .
If is complete, line L5 never holds, stays , and that is returned.
Otherwise let , and let be a set with such that is disconnected. Then , so the vertices exist and are in number, and at least one of them is not in . Let be the least index with , so . Pick a vertex in a component of that does not contain . Then , and is not adjacent to . Every with is in , so .
Suppose the algorithm returns a value other than . By Lemma 3 the value is larger, so at every moment, since never increases. In particular, at the test of line L3 with , , so the loop body runs for . Line L4 reaches , line L5 holds, and line L6 sets to at most by Lemma 2. Since separates from , , so after this step, a contradiction.