A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Hall's Marriage Theorem

Graduate Depth 77 in the knowledge graph ☐ I know this ☆ Set as goal
2topics build on this
390prerequisites beneath it
See this on the map →
Matchings in Bipartite GraphsMatchings in Bipartite Graphs→→König's Theorem and Matching-Cover DualityKönig's Theorem and Min-Max Relations
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

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Introduction to Exponents → Order of Operations → Integer Order of Operations → Variable Expressions → The Distributive Property → Variables and Expressions Review → Introduction to Polynomials → Adding and Subtracting Polynomials → Multiplying Polynomials → Factorial → Permutations → Combinations → Counting Principles: Addition and Multiplication Rules → Introduction to Graph Theory → Propositional Logic Foundations → Logical Equivalences → Set Operations: Union, Intersection, and Complement → Proof by Cases → Proving by Cases and Exhaustion → Vacuous Truth and Trivial Cases → Proof by Cases (Proof by Exhaustion) → Mathematical Induction → Graph Paths, Cycles, and Connectivity → Bipartite Graphs and Matchings → Matchings in Bipartite Graphs → Hall's Marriage Theorem

Longest path: 78 steps · 390 total prerequisite topics

Prerequisites (2)

Leads To (2)