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 GraphsKö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 ZeroThe Number ZeroCounting to FiveCounting to 10Counting to 20Counting a Set of Objects Up to 20Cardinality: The Last Number CountedMatching Numerals to QuantitiesSubitizing Small QuantitiesAddition Within 10Number Bonds to 10Addition Within 20Doubles and Near DoublesDoubles Facts Within 10Near Doubles Facts Within 20Mental Math Strategies for AdditionMental Math: Adding and Subtracting TensAddition Within 100Repeated Addition as MultiplicationMultiplication as Equal GroupsMultiplication: ArraysBasic Multiplication Facts (0s, 1s, 2s, 5s, 10s)Multiplication 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 100Multiplication and Division Fact FamiliesRelationship Between Multiplication and DivisionDivision Facts as Inverse of MultiplicationRemainders and Quotients in DivisionDivision Word ProblemsMulti-Step Word ProblemsSolving Multi-Step Word ProblemsMultiplication Word ProblemsDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueIntegers and the Number LineComparing and Ordering IntegersAbsolute ValueAdding IntegersSubtracting IntegersMultiplying IntegersIntroduction to ExponentsOrder of OperationsInteger Order of OperationsVariable ExpressionsThe Distributive PropertyVariables and Expressions ReviewIntroduction to PolynomialsAdding and Subtracting PolynomialsMultiplying PolynomialsFactorialPermutationsCombinationsCounting Principles: Addition and Multiplication RulesIntroduction to Graph TheoryPropositional Logic FoundationsLogical EquivalencesSet Operations: Union, Intersection, and ComplementProof by CasesProving by Cases and ExhaustionVacuous Truth and Trivial CasesProof by Cases (Proof by Exhaustion)Mathematical InductionGraph Paths, Cycles, and ConnectivityBipartite Graphs and MatchingsMatchings in Bipartite GraphsHall's Marriage Theorem

Longest path: 78 steps · 390 total prerequisite topics

Prerequisites (2)

Leads To (2)