Hall's Marriage Theorem
A bipartite graph has a matching that saturates (i.e., a matching of size ) if and only if for all .
Proof
Necessity. If saturates , then for any , the matching maps injectively into , so .
Sufficiency (by induction on ). Base case : Hall's condition gives , so has a neighbor, and the single edge is the desired matching.
For , distinguish two cases.
Case 1: for all (strict inequality for proper subsets). Pick any edge with . In (remove and ), for any : . By induction, has a matching saturating , and saturates .
Case 2: There exists with . Consider the subgraph induced by . Hall's condition holds for (since for , as neighbors of -vertices in lie in ). By induction (on ), has a matching saturating .
Now consider , a bipartite graph on . For : where we used Hall's condition for in and .
By induction, has a matching saturating . Then saturates all of .
Every -regular bipartite graph () has a perfect matching. Proof: for , count edges from to : there are edges leaving and at most entering , giving . By Hall's theorem, a perfect matching exists. Iterating: a -regular bipartite graph decomposes into perfect matchings (and thus has , confirming KΓΆnig).
Hall's condition involves checking subsets, but maximum matching algorithms bypass this: the Hopcroft-Karp algorithm finds a maximum matching in , and Hall's condition fails iff . The deficiency equals .