Statement

Suppose is a [MST](Minimum Spanning Trees) of , and suppose . Pick any subset of vertices such that there is no path from to using edges from (i.e. contains no edge crossing this cut). Let be the lightest edge that connects to .

Then: is part of some MST.

Proof

Case 1:

Then , and we assumed that is the edge set of an MST, so is part of that MST.

Case 2:

Consider . Since is the edge set of a connected tree, is the edge set of a graph that has a cycle, and that cycle contains .

Since the cycle contains (which crosses the cut between and ) and a cycle must return to where it started, it has to cross back over that same cut — so there must be another edge on this cycle that also connects to .

Consider the edge set . This is still a tree — removing breaks the cycle we just created, leaving a connected, acyclic graph on the same vertex set.

We assumed (since is the lightest edge connecting to , and is some edge connecting to ). So:

But is the edge set of an MST, so it is already minimal. Therefore must be minimal also, and since we showed , it must in fact equal . So is also the edge set of an MST.

Finally, since has no edges crossing the cut (by assumption) and crosses that cut, . So:

and the right-hand side is the edge set of an MST, so is part of some MST.


Using the Cut Property to Prove Prim’s and Kruskal’s

The cut property is what lets us prove both Prim’s and Kruskal’s correct, by induction.

Claim: After each iteration of Prim’s / Kruskal’s, the set of edges is a subset of some MST.

Base Case: Both algorithms start with empty, so vacuously, is a subset of some MST.

Prim’s

Part way through Prim’s, is a tree, and the next edge selected is the lightest edge that connects to the rest of the vertices. On step :

  • Prim’s essentially partitions the set of vertices based on whether they are in the tree — this is exactly the cut , with = vertices currently in .
  • Then it picks the lightest edge that connects the two subsets and .

This is precisely the setup of the cut property, so remains a subset of some MST at every step.

Kruskal’s

Part way through Kruskal’s, is a forest, and the next edge selected is the lightest edge that connects two trees in the forest.

  • Kruskal’s finds the lightest edge overall, then partitions the vertex set based on that edge (i.e. = the tree in the forest containing one endpoint of , = everything else).
  • Since is the lightest edge overall, it must also be the lightest edge that connects those two particular subsets and .

So the same cut property applies here too — Kruskal’s just discovers the cut after picking , instead of fixing the cut first like Prim’s does.


References / Links