Definition · Cut, and its capacityAn s-t cut is a partition of the vertices into a set S containing the source and its complement containing the sink. Its capacity is the sum of c(a) over arcs a whose tail is in S and whose head is not. Arcs in the other direction are not counted.
Theorem · Weak dualityFor any flow f and any s-t cut S, the value of f is at most the capacity of S.
The value of f equals the net flow across the cut: summing conservation over every vertex of S cancels every arc with both ends inside, and leaves the total on arcs out of S minus the total on arcs into it.
The first sum is at most the capacity of S, because each arc's flow is at most its capacity. The second is at least 0, because flows are non-negative. So the value is at most the capacity.
□
Theorem · Max-flow min-cutThe maximum value of a flow equals the minimum capacity of an s-t cut. Moreover, when the augmenting-path method stops, the set of vertices reachable from the source in the residual network is a cut of exactly that capacity.
Let f be the flow when no augmenting path remains, and let S be the set reachable from the source in the residual network. The sink is not in S, so S is a cut.
Take an arc from u in S to v outside. If it were not full, its forward residual arc would have taken the search from u to v, so v would be in S. Hence every such arc is full. Take an arc from v outside to u in S. If it carried anything, its backward residual arc would run from u to v and again put v in S. Hence every such arc carries nothing.
So the net flow across the cut is the total capacity out of S minus zero, which is the capacity of S; and the net flow across any cut is the value of f. By weak duality no flow exceeds this cut and no cut is below this flow, so both are optimal.
□
Example · Six vertices, three augmentations, one certificateThe lab opens on 1>2 16, 1>3 13, 2>3 10, 3>2 4, 2>4 12, 3>5 14, 4>3 9, 5>4 7, 4>6 20, 5>6 4 with source 1 and sink 6. The shortest-path rule reaches 23 in three augmentations. The reachable set afterwards is {1, 2, 3, 5}, and the arcs leaving it are 2>4 at 12, 5>4 at 7 and 5>6 at 4 — capacity 23, and all three are full. Separately, all 16 sets containing 1 and not 6 are enumerated; the smallest capacity among them is 23, attained by exactly one set, and it is the one the algorithm returned.
Three numbers reached by three different routes: the flow's value, the capacity of the cut read off the failed search, and the smallest capacity among every cut there is, found without any flow at all. The theorem says they are one number, and the panel computes them separately and compares.
Saturated is not the same as being in a cut
A full arc is not automatically part of a minimum cut, and this is the misconception the lab's second preset exists for. On 1>2 1, 2>3 1, 3>4 5, 1>4 1 the maximum flow is 2, and three arcs end up full: 1>2, 2>3 and 1>4. The cut is only {1>2, 1>4}, the two arcs out of the reachable set {1}. Deleting 2>3 leaves the sink perfectly reachable; deleting the two cut arcs does not.
The reason is that 2>3 is full because of what happens downstream of it, not because it is a bottleneck between the two sides. Being full is a local fact about one arc; being in a cut is a statement about a partition. The lab prints both the saturated set and the cut set so the difference is visible rather than argued.
The minimum cut is not unique either
On a chain of three unit arcs, 1>2 1, 2>3 1, 3>4 1, there are 4 sets containing the source and not the sink, and 3 of them have capacity 1. The algorithm returns one of them — the reachable set, which is {1} — and the enumeration confirms that it is among the smallest. “The minimum cut” names a value and picks out a set only when the value is attained once, which on the opening network it is.
And the asymmetry of the definition is worth one concrete number. On 1>2 5, 2>3 5, 3>2 9, 3>4 5, 2>4 1 the maximum flow is 5. The set {1, 2, 3} leaves 5 and 1, so its capacity is 6, with nothing coming back. The set {1, 2} also has capacity 6 — and 9 units of capacity pointing back into it, from 3>2, which count for nothing. A definition that counted them would make that cut 15 and would break the theorem.
Measured against proved. The enumeration is exhaustive and it is also small: 16 cuts on six vertices, because only the four vertices that are neither source nor sink can be placed freely, and it is refused above the size it states. So the equality is read off a complete list on a network you can type and proved by the reachable-set argument everywhere else. This is the one lesson on the course where the measurement and the proof answer exactly the same question, which is what makes it the strongest result here.