Theorem

A bipartite graph , with , has a perfect matching for every subset , .

Proof

:

proofed via contrapositive. Say there is a subset , , then there cannot be a perfect matching for this subset. Q.E.D.

:

consider the figure above. The key idea is: If we can prove that the minimum cut is at least , then the maximum flow is at least , too, according to min-cut max-flow theorem, and hence this flow corresponding to a perfect-matching.

Consider a cut , every edge connecting has capacity of , and other edges have capacity of . Subset is in , is its neighbors, we don’t consider those neighbors that are not in , since its edge capacity is , the proof is complete. The cut capacity is at least , and by the assumption of Hall’s Theorem, we know , thus the cut capacity , Q.E.D.

Reference