Hall's Marriage Theorem

Graduate Depth 61 in the knowledge graph I know this Set as goal
Unlocks 2 downstream topics
graph-theory matching bipartite

Core Idea

Hall's Marriage Theorem characterizes when a perfect matching exists in a bipartite graph: a perfect matching from set A to set B exists if and only if for every subset S of A, |N(S)| ≥ |S| (neighborhood has at least as many vertices). This elegant criterion translates matching existence into a set-theoretic condition.

How It's Best Learned

Prove the forward direction (perfect matching ⟹ Hall's condition) directly, then apply Hall's condition to concrete examples like assigning students to dorm rooms.

Common Misconceptions

The condition must hold for ALL subsets S, not just single vertices or pairs. Checking only single vertices is insufficient.

Explainer

From your study of bipartite matching, you know that a perfect matching pairs every vertex on one side of a bipartite graph with a distinct vertex on the other side. Hall's Marriage Theorem gives a precise, checkable condition for when such a matching exists — a striking example of a theorem that is both elegant and immediately practical.

Picture the setup as a matching problem: on the left are n suitors, on the right are n potential matches, and edges encode compatibility. A perfect matching marries every suitor to a compatible match. When does this fail? Exactly when some group of suitors collectively has too few compatible options — there is a bottleneck. If four suitors are only compatible with three matches on the right, no matching can accommodate all four. Hall's condition formalizes exactly this: for every subset S of the left side, the neighborhood N(S) — all vertices on the right adjacent to at least one vertex in S — must satisfy |N(S)| ≥ |S|. Every group must have enough options.

The theorem says this condition is not just necessary but sufficient: if Hall's condition holds for every subset S, a perfect matching is guaranteed to exist. The proof of necessity is immediate — a perfect matching injects S into N(S), so |N(S)| ≥ |S|. The proof of sufficiency (that Hall's condition guarantees a matching) is the deeper direction, typically proved by strong induction on |A|. The argument shows you can always extend a partial matching when the condition holds, using the condition to locate an augmenting path whenever the current matching is incomplete.

A critical trap is checking Hall's condition only for individual vertices or small subsets and concluding a perfect matching exists. The condition must hold for all 2^|A| subsets. In practice, when Hall's condition fails, identifying the violated subset S — called a Hall violator or Hall set — immediately locates the bottleneck and explains exactly why no perfect matching can exist. This diagnostic power makes the theorem as useful for proving non-existence as for guaranteeing existence. Hall's theorem underpins König's theorem, the deficiency version of Hall's theorem for partial matchings, and many algorithms in combinatorial optimization, including network flow duality.

Practice Questions 5 questions

Prerequisite Chain

Counting to 10Counting to 20Understanding ZeroThe Number ZeroCounting to FiveOne-to-One CorrespondenceCombining Small Groups Within 5Addition Within 10Addition Within 20Two-Digit Addition Without RegroupingTwo-Digit Addition with RegroupingAddition Within 100Repeated Addition as MultiplicationMultiplication Facts Within 100Division as Equal SharingDivision as Grouping (Measurement Division)Division: Grouping (Repeated Subtraction) ModelDivision: Fair Sharing ModelDivision as Equal SharingDivision as GroupingBasic Division FactsDivision Facts Within 100Two-Digit by One-Digit DivisionDivision with RemaindersRemainders and Quotients in DivisionDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueIntegers and the Number LineOpposites and Additive InversesAbsolute ValueAdding IntegersSubtracting IntegersMultiplying IntegersDividing IntegersUnit RatesProportionsPercent ConceptConverting Between Fractions, Decimals, and PercentsOperations with Rational NumbersTwo-Step EquationsSolving Multi-Step EquationsEquations with Variables on Both SidesLiteral EquationsSlope-Intercept FormPoint-Slope FormWriting Linear EquationsParallel and Perpendicular Line SlopesGraphing Linear EquationsSystems of Equations — Graphing MethodSystems of Equations — Elimination MethodSystems of Three VariablesMatrices IntroductionGraph Representation: Matrices and ListsGraph Paths, Cycles, and ConnectivityBipartite Graphs and MatchingsMatchings in Bipartite GraphsHall's Marriage Theorem

Longest path: 62 steps · 270 total prerequisite topics

Prerequisites (1)

Leads To (2)