Tutorials › Graph Theory (Undergraduate) › Hall’s Theorem by Induction

Hall's Marriage Theorem · Tutorial 280 of 799

Hall’s Theorem by Induction

Learn how Hall’s condition guarantees a matching saturating the left side, using induction in the tight-subset and strict-inequality cases.

Intermediate 10 min read

What You'll Learn

  • State Hall’s condition for a finite bipartite graph and define a matching that saturates the left side.
  • Prove that a matching saturating the left side implies Hall’s condition.
  • Use a proper nonempty tight subset to split the graph into two smaller matching problems.
  • Prove that deleting a chosen left vertex and one of its neighbors preserves Hall’s condition when all proper subsets are strict.
  • Apply both induction cases to explicitly specified graphs.
  • Recognize why the theorem does not require every right-side vertex to be matched.

Hall’s Theorem and Its Induction Structure

Hall’s theorem turns a condition on every group of left-side vertices into a guarantee that all left-side vertices can be paired with distinct neighbors. Its induction proof hinges on a useful distinction: sometimes a proper group has exactly enough neighbors, allowing the problem to split cleanly; otherwise every proper group has extra room, so one pair can be chosen and removed.

Throughout, \(G=(X\cup Y,E)\) is a finite simple bipartite graph with parts \(X\) and \(Y\). For \(S\subseteq X\), its neighborhood is \(N(S)=\{y\in Y: xy\in E\text{ for some }x\in S\}\). A matching is a set of edges no two of which share an endpoint. It saturates \(X\) if every vertex in \(X\) is incident to one of its edges; vertices in \(Y\) need not all be matched.

Definition: The graph satisfies Hall’s condition on \(X\) if \(|N(S)|\ge |S|\) for every subset \(S\subseteq X\), including the empty set.
Theorem (Hall): A finite bipartite graph \(G=(X\cup Y,E)\) has a matching that saturates \(X\) if and only if \(|N(S)|\ge |S|\) for every \(S\subseteq X\).

Proof. First suppose a matching saturates \(X\). For any \(S\subseteq X\), the matching pairs each vertex of \(S\) with a neighbor in \(N(S)\). Those neighbors are distinct because the edges form a matching. Thus \(|N(S)|\ge |S|\). This also holds for \(S=\varnothing\), since both cardinalities are zero.

For the converse, we prove by induction on \(n=|X|\) that Hall’s condition guarantees a matching saturating \(X\). If \(n=0\), the empty set of edges is a matching saturating \(X\). If \(n=1\), write \(X=\{x\}\). Hall’s condition for \(\{x\}\) gives \(|N(\{x\})|\ge1\), so some edge \(xy\) exists; that single edge saturates \(X\).

Now let \(n\ge2\), and assume the claim holds for every bipartite graph whose left side has fewer than \(n\) vertices. There are two cases.

Case 1: a proper nonempty tight subset exists. Suppose \(S\) is a nonempty proper subset of \(X\) with \(|N(S)|=|S|\). Consider first the bipartite graph with left side \(S\), right side \(N(S)\), and all edges of \(G\) between them. For every \(A\subseteq S\), its neighborhood in this graph is \(N(A)\), since \(N(A)\subseteq N(S)\). Hall’s condition therefore holds on \(S\). As \(|S|<n\), induction gives a matching saturating \(S\).

Next consider the graph with left side \(X\setminus S\), right side \(Y\setminus N(S)\), and all edges of \(G\) between these sides. For \(T\subseteq X\setminus S\), its neighborhood in this graph is \(N(T)\setminus N(S)\). The sets \(N(S)\) and \(N(T)\setminus N(S)\) are disjoint, and their union is \(N(S\cup T)\). Hall’s condition in \(G\) gives

$$ |N(S)|+|N(T)\setminus N(S)| =|N(S\cup T)| \ge |S\cup T| =|S|+|T|. $$

Since \(|N(S)|=|S|\), subtracting \(|S|\) yields \(|N(T)\setminus N(S)|\ge|T|\). This holds for every such \(T\), including \(T=\varnothing\). Hall’s condition holds on the second smaller graph, so induction gives a matching saturating \(X\setminus S\). The two matchings use disjoint left sides and disjoint right sides: the first uses right vertices in \(N(S)\), and the second uses right vertices in \(Y\setminus N(S)\). Their union is therefore a matching saturating \(X\).

Case 2: no proper nonempty tight subset exists. For every nonempty proper \(T\subset X\), Hall’s condition holds and equality does not, so the integer cardinalities satisfy \(|N(T)|\ge |T|+1\). Choose any \(x\in X\). Hall’s condition for \(\{x\}\) gives a neighbor \(y\in Y\). Delete \(x\) and \(y\), keeping the edges between the remaining vertices. If \(T\subseteq X\setminus\{x\}\) is empty, its neighborhood has size zero. If \(T\) is nonempty, it is a proper subset of \(X\), so \(|N(T)|\ge |T|+1\). Removing \(y\) can remove at most one vertex from \(N(T)\), and hence the neighborhood remaining in \(Y\setminus\{y\}\) has size at least \(|T|\). The smaller graph satisfies Hall’s condition. By induction it has a matching saturating \(X\setminus\{x\}\). Adding the edge \(xy\) gives a matching saturating \(X\), because \(x\) and \(y\) were deleted from the smaller graph. Both cases complete the induction and the proof. \(\square\)

Using a Tight Subset to Split the Problem

A tight subset is one for which the number of available neighbors equals the number of left-side vertices. In the proof, the tight subset and its neighborhood form one smaller problem. The remaining left-side vertices must be matched outside that neighborhood, and Hall’s condition guarantees enough neighbors there too. The disjoint right-side regions are what allow the two smaller matchings to be combined.

Worked Example: Splitting at a Tight Pair

Let \(G=(X\cup Y,E)\), where \(X=\{a,b,c,d\}\), \(Y=\{1,2,3,4\}\), and \(E=\{a1,a2,b1,b2,c2,c3,d3,d4\}\). We verify Hall’s condition, identify a tight subset, and build a matching saturating \(X\).

The neighborhoods are \(N(a)=N(b)=\{1,2\}\), \(N(c)=\{2,3\}\), and \(N(d)=\{3,4\}\). The empty subset has zero neighbors. Each singleton has two neighbors. For pairs, the neighborhood sizes are \(|N(\{a,b\})|=2\), \(|N(\{a,c\})|=3\), \(|N(\{a,d\})|=4\), \(|N(\{b,c\})|=3\), \(|N(\{b,d\})|=4\), and \(|N(\{c,d\})|=3\). For triples, \(|N(\{a,b,c\})|=3\), while each of \(\{a,b,d\}\), \(\{a,c,d\}\), and \(\{b,c,d\}\) has four neighbors. Finally, \(|N(X)|=4\). Every subset has at least as many neighbors as vertices.

Take \(S=\{a,b\}\). Its neighborhood is \(N(S)=\{1,2\}\), so \(|N(S)|=|S|=2\). In the first smaller graph, match \(a\) to \(1\) and \(b\) to \(2\). The remaining left side is \(\{c,d\}\), and the available right side is \(\{3,4\}\). Its edges include \(c3\) and \(d3,d4\), so match \(c\) to \(3\) and \(d\) to \(4\).

Check: The four chosen edges are \(a1,b2,c3,d4\). Their endpoints are all distinct, and each of \(a,b,c,d\) appears once, so they form a matching saturating \(X\).

When Every Proper Subset Has Extra Neighbors

If there is no proper nonempty tight subset, every such subset has at least one more neighbor than its size. The proof uses that extra neighbor-count as a one-vertex allowance: after choosing an edge \(xy\), deleting \(y\) can reduce any remaining neighborhood by at most one. The empty subset causes no difficulty, and the induction is applied only after the graph has fewer left-side vertices.

Worked Example: Deleting a Chosen Pair

Let \(G=(X\cup Y,E)\), where \(X=\{a,b,c\}\), \(Y=\{1,2,3,4\}\), and \(E=\{a1,a2,b2,b3,c3,c4\}\). The neighborhoods are \(N(a)=\{1,2\}\), \(N(b)=\{2,3\}\), and \(N(c)=\{3,4\}\).

Hall’s condition can be checked for every subset: the empty set has zero neighbors; the three singletons each have two; \(\{a,b\}\) and \(\{b,c\}\) each have three; \(\{a,c\}\) has four; and \(X\) has four. In particular, every nonempty proper subset has at least one extra neighbor: the singleton sizes are \(2\ge1+1\), the pair sizes are at least \(3=2+1\).

Choose \(x=a\) and \(y=2\), an edge endpoint available to \(a\). Delete \(a\) and \(2\). The remaining neighborhoods are \(N'(b)=\{3\}\) and \(N'(c)=\{3,4\}\), where \(N'\) denotes neighborhoods after deletion. The empty subset has zero neighbors, the singleton \(\{b\}\) has one, the singleton \(\{c\}\) has two, and \(\{b,c\}\) has two. Thus the remaining graph satisfies Hall’s condition. Match \(b\) to \(3\) and \(c\) to \(4\), then add \(a2\).

Check: The resulting edges are \(a2,b3,c4\). They have distinct left endpoints \(a,b,c\) and distinct right endpoints \(2,3,4\), so they form a matching saturating \(X\).

Unequal Part Sizes and the Scope of the Conclusion

Hall’s condition is imposed on subsets of \(X\), because the goal is to saturate \(X\). It does not require \(|X|=|Y|\), and it does not promise that every vertex of \(Y\) is matched. For instance, a graph can satisfy Hall’s condition on a smaller left side while leaving some right-side vertices unused.

Worked Example: An Unused Right-Side Vertex

Let \(G=(X\cup Y,E)\), where \(X=\{u,v\}\), \(Y=\{1,2,3\}\), and \(E=\{u1,v2\}\). The neighborhoods are \(N(\varnothing)=\varnothing\), \(N(\{u\})=\{1\}\), \(N(\{v\})=\{2\}\), and \(N(\{u,v\})=\{1,2\}\). Their sizes are respectively \(0,1,1,2\), so Hall’s condition holds for all four subsets of \(X\).

The edges \(u1\) and \(v2\) form a matching saturating \(X\). Vertex \(3\in Y\) is unused. This does not violate the conclusion: saturation is required on the left side only.

Check: The matching has two edges, one incident to each of the two vertices in \(X\), and neither edge uses right vertex \(3\).

Common Pitfalls and Why the Proof Works

A frequent error in the strict-inequality case is to say that deleting a right-side vertex cannot hurt Hall’s condition. It can: a neighborhood may lose that vertex. The valid argument is that each nonempty remaining left subset was a proper subset of the original \(X\), so it had at least one extra neighbor before deletion. Losing at most one still leaves enough.

For a concrete calculation, use the strict-case graph above and choose \(a2\). Before deletion, \(N(\{b\})=\{2,3\}\), of size \(2\). After deleting \(2\), the neighborhood is \(\{3\}\), of size \(1\). The incorrect claim that its size is unchanged would give \(2\); the correct count is \(2-1=1=|\{b\}|\), which is exactly enough for Hall’s condition.

A second error is to use \(N(T)\) itself as the right-side neighborhood in the residual graph of the tight-subset case. The vertices in \(N(S)\) are not available there. The correct residual neighborhood is \(N(T)\setminus N(S)\), and its size is controlled by applying Hall’s condition to \(S\cup T\) and using \(|N(S)|=|S|\).

The two cases cover all possibilities for \(n\ge2\): either a proper nonempty subset is tight, or none is. The base cases ensure that induction does not rely on choosing a vertex or a neighbor when none can be guaranteed. This proof is useful because it explains not only that Hall’s condition suffices, but why tight subsets permit a split while strict inequalities permit a deletion.

Check Your Understanding

Use the definitions and induction argument above to answer these questions.

  1. In the tight-subset case, why is the right side of the second smaller graph \(Y\setminus N(S)\), rather than all of \(Y\setminus S\)?
  2. For \(T\subseteq X\setminus S\), derive the inequality \(|N(T)\setminus N(S)|\ge|T|\) from Hall’s condition and \(|N(S)|=|S|\).
  3. In the strict case, why is every nonempty \(T\subseteq X\setminus\{x\}\) a proper subset of \(X\)?
  4. Explain why deleting one right-side vertex reduces \(|N(T)|\) by at most one.
  5. Can Hall’s theorem guarantee that every vertex of \(Y\) is matched when \(|Y|>|X|\)? Explain what it guarantees instead.