# Hall's marriage theorem

In mathematics, Hall's marriage theorem, proved by Philip Hall (1935), is a theorem with two equivalent formulations. In each case, the theorem gives a necessary and sufficient condition for an object to exist:
* The combinatorial formulation answers whether a finite collection of sets has a transversal—that is, whether an element can be chosen from each set without repetition. Hall's condition is that for any group of sets from the collection, the total unique elements they contain is at least as large as the number of sets in the group.
* The graph theoretic formulation answers whether a finite bipartite graph has a perfect matching—that is, a way to match each vertex from one group uniquely to an adjacent vertex from the other group. Hall's condition is that any subset of vertices from one group has a neighbourhood of equal or greater size.

## Combinatorial formulation
### Statement

Let ${\mathcal {F}}$ be a finite family of sets (note that although ${\mathcal {F}}$ is not itself allowed to be infinite, the sets in it may be so, and ${\mathcal {F}}$ may contain the same set multiple times). Let $X$ be the union of all the sets in ${\mathcal {F}}$, the set of elements that belong to at least one of its sets. A transversal for ${\mathcal {F}}$ is a subset of $X$ that can be obtained by choosing a distinct element from each set in ${\mathcal {F}}$. This concept can be formalized by defining a transversal to be the image of an injective function $f:{\mathcal {F}}\to X$ such that $f(S)\in S$ for each $S\in {\mathcal {F}}$. An alternative term for transversal is system of distinct representatives.
The collection ${\mathcal {F}}$ satisfies the marriage condition when each subfamily of ${\mathcal {F}}$ contains at least as many distinct members as its number of sets. That is, for all ${\mathcal {G}}\subseteq {\mathcal {F}}$, $|{\mathcal {G}}|\leq {\Bigl |}\bigcup _{S\in {\mathcal {G}}}S{\Bigr |}.$ If a transversal exists then the marriage condition must be true: the function $f$ used to define the transversal maps ${\mathcal {G}}$ to a subset of its union, of size equal to $|{\mathcal {G}}|$, so the whole union must be at least as large. Hall's theorem states that the converse is also true:
Hall's Marriage Theorem — A family ${\mathcal {F}}$ of finite sets has a transversal if and only if ${\mathcal {F}}$ satisfies the marriage condition.

### Examples
#### Example 1

    Consider the family ${\mathcal {F}}=\{A_{1},A_{2},A_{3}\}$ with $X=\{1,2,3,4,5\}$ and ${\begin{aligned}A_{1}&=\{1,2,3\}\\A_{2}&=\{1,4,5\}\\A_{3}&=\{3,5\}.\\\end{aligned}}$ The transversal $\{1,3,5\}$ could be generated by the function that maps $A_{1}$ to $1$, $A_{2}$ to $5$, and $A_{3}$ to $3$, or alternatively by the function that maps $A_{1}$ to $3$, $A_{2}$ to $1$, and $A_{3}$ to $5$. There are other transversals, such as $\{1,2,3\}$ and $\{1,4,5\}$. Because this family has at least one transversal, the marriage condition is met. Every subfamily of ${\mathcal {F}}$ has equal size to the set of representatives it is mapped to, which is less than or equal to the size of the union of the subfamily.

#### Example 2

    Consider ${\mathcal {F}}=\{A_{1},A_{2},A_{3},A_{4}\}$ with ${\begin{aligned}A_{1}&=\{2,3,4,5\}\\A_{2}&=\{4,5\}\\A_{3}&=\{5\}\\A_{4}&=\{4\}.\\\end{aligned}}$ No valid transversal exists; the marriage condition is violated as is shown by the subfamily ${\mathcal {G}}=\{A_{2},A_{3},A_{4}\}$. Here the number of sets in the subfamily is $|{\mathcal {G}}|=3$, while the union of the three sets $A_{2}\cup A_{3}\cup A_{4}=\{4,5\}$ contains only two elements.
A lower bound on the different number of transversals that a given finite family ${\mathcal {F}}$ of size $n$ may have is obtained as follows: If each of the sets in ${\mathcal {F}}$ has cardinality $\geq r$, then the number of different transversals for ${\mathcal {F}}$ is either $r!$ if $r\leq n$, or $r(r-1)\cdots (r-n+1)$ if $r>n$.
Recall that a transversal for a family ${\mathcal {F}}$ is an ordered sequence, so two different transversals could have exactly the same elements. For instance, the collection $A_{1}=\{1,2,3\}$, $A_{2}=\{1,2,5\}$ has $(1,2)$ and $(2,1)$ as distinct transversals.

## Graph theoretic formulation

Let $G=(X,Y,E)$ be a finite bipartite graph with bipartite sets $X$ and $Y$ and edge set $E$. An $X$-perfect matching (also called an $X$-saturating matching) is a matching, a set of disjoint edges, which covers every vertex in $X$.
For a subset $W$ of $X$, let $N_{G}(W)$ denote the neighborhood of $W$ in $G$, the set of all vertices in $Y$ that are adjacent to at least one element of $W$. The marriage theorem in this formulation states that there is an $X$-perfect matching if and only if for every subset $W$ of $X$: $|W|\leq |N_{G}(W)|.$ In other words, every subset $W$ of $X$ must have sufficiently many neighbors in $Y$.

### Proof
#### Necessity

In an $X$-perfect matching $M$, every edge incident to $W$ connects to a distinct neighbor of $W$ in $Y$, so the number of these matched neighbors is at least $|W|$. The number of all neighbors of $W$ is at least as large.

#### Sufficiency

Consider the contrapositive: if there is no $X$-perfect matching then Hall's condition must be violated for at least one $W\subseteq X$. Let $M$ be a maximum matching, and let $u$ be any unmatched vertex in $X$. Consider all alternating paths (paths in $G$ that alternately use edges outside and inside $M$) starting from $u$. Let $W$ be the set of vertices in these paths that belong to $X$ (including $u$ itself) and let $Z$ be the set of vertices in these paths that belong to $Y$. Then every vertex in $Z$ is matched by $M$ to a vertex in $W$, because an alternating path to an unmatched vertex could be used to increase the size of the matching by toggling whether each of its edges belongs to $M$ or not. Therefore, the size of $W$ is at least the number $|Z|$ of these matched neighbors of $Z$, plus one for the unmatched vertex $u$. That is, $|W|\geq |Z|+1$. However, for every vertex $v\in W$, every neighbor $w$ of $v$ belongs to $Z$: an alternating path to $w$ can be found either by removing the matched edge $vw$ from the alternating path to $v$, or by adding the unmatched edge $vw$ to the alternating path to $v$. Therefore, $Z=N_{G}(W)$ and $|W|\geq |N_{G}(W)|+1$, showing that Hall's condition is violated.

### Equivalence of the combinatorial formulation and the graph-theoretic formulation

A problem in the combinatorial formulation, defined by a finite family of finite sets ${\mathcal {F}}$ with union $X$ can be translated into a bipartite graph $G=({\mathcal {F}},X,E)$ where each edge connects a set in ${\mathcal {F}}$ to an element of that set. An ${\mathcal {F}}$-perfect matching in this graph defines a system of unique representatives for ${\mathcal {F}}$. In the other direction, from any bipartite graph $G=(X,Y,E)$ one can define a finite family of sets, the family of neighborhoods of the vertices in $X$, such that any system of unique representatives for this family corresponds to an $X$-perfect matching in $G$. In this way, the combinatorial formulation for finite families of finite sets and the graph-theoretic formulation for finite graphs are equivalent.
The same equivalence extends to infinite families of finite sets and to certain infinite graphs. In this case, the condition that each set be finite corresponds to a condition that in the bipartite graph $G=(X,Y,E)$, every vertex in $X$ should have finite degree. The degrees of the vertices in $Y$ are not constrained.

## Topological proof

Hall's theorem can be proved (non-constructively) based on Sperner's lemma.$^{:Thm.4.1,4.2}$

## Applications

The theorem has many applications. For example, for a standard deck of cards, dealt into 13 piles of 4 cards each, the marriage theorem implies that it is possible to select one card from each pile so that the selected cards contain exactly one card of each rank (Ace, 2, 3, ..., Queen, King). This can be done by constructing a bipartite graph with one partition containing the 13 piles and the other partition containing the 13 ranks. The remaining proof follows from the marriage condition. More generally, any regular bipartite graph has a perfect matching.$^{:2}$
More abstractly, let $G$ be a group, and $H$ be a finite index subgroup of $G$. Then the marriage theorem can be used to show that there is a set $T$ such that $T$ is a transversal for both the set of left cosets and right cosets of $H$ in $G$.
The marriage theorem is used in the usual proofs of the fact that an $r\times n$ Latin rectangle can always be extended to an $(r+1)\times n$ Latin rectangle when $r<n$, and so, ultimately to a Latin square.

## Logical equivalences

This theorem is part of a collection of remarkably powerful theorems in combinatorics, all of which are related to each other in an informal sense in that it is more straightforward to prove one of these theorems from another of them than from first principles. These include:
* The König–Egerváry theorem (1931) (Dénes Kőnig, Jenő Egerváry)
* König's theorem
* Menger's theorem (1927)
* The max-flow min-cut theorem (Ford–Fulkerson algorithm)
* The Birkhoff–Von Neumann theorem (1946)
* Dilworth's theorem.
In particular, there are simple proofs of the implications Dilworth's theorem ⇔ Hall's theorem ⇔ König–Egerváry theorem ⇔ König's theorem.

## Infinite families
### Marshall Hall Jr. variant

By examining Philip Hall's original proof carefully, Marshall Hall Jr. (no relation to Philip Hall) was able to tweak the result in a way that permitted the proof to work for infinite ${\mathcal {F}}$. This variant extends Philip Hall's Marriage theorem.
Suppose that ${\mathcal {F}}=\{A_{i}\}_{i\in I}$, is a (possibly infinite) family of finite sets that need not be distinct, then ${\mathcal {F}}$ has a transversal if and only if ${\mathcal {F}}$ satisfies the marriage condition.

### Marriage condition does not extend

The following example, due to Marshall Hall Jr., shows that the marriage condition will not guarantee the existence of a transversal in an infinite family in which infinite sets are allowed.
Let ${\mathcal {F}}$ be the family, $A_{0}=\mathbb {N}$, $A_{i}=\{i-1\}$ for $i\geq 1$. The marriage condition holds for this infinite family, but no transversal can be constructed.

### Graph theoretic formulation of Marshall Hall's variant

The graph theoretic formulation of Marshal Hall's extension of the marriage theorem can be stated as follows: Given a bipartite graph with sides A and B, we say that a subset C of B is smaller than or equal in size to a subset D of A in the graph if there exists an injection in the graph (namely, using only edges of the graph) from C to D, and that it is strictly smaller in the graph if in addition there is no injection in the graph in the other direction. Note that omitting in the graph yields the ordinary notion of comparing cardinalities. The infinite marriage theorem states that there exists an injection from A to B in the graph, if and only if there is no subset C of A such that N(C) is strictly smaller than C in the graph.
The more general problem of selecting a (not necessarily distinct) element from each of a collection of non-empty sets (without restriction as to the number of sets or the size of the sets) is permitted in general only if the axiom of choice is accepted.

## Fractional matching variant

A fractional matching in a graph is an assignment of non-negative weights to each edge, such that the sum of weights adjacent to each vertex is at most 1. A fractional matching is X-perfect if the sum of weights adjacent to each vertex is exactly 1. The following are equivalent for a bipartite graph G = (X+Y, E):
* G admits an X-perfect matching.
* G admits an X-perfect fractional matching. The implication follows directly from the fact that X-perfect matching is a special case of an X-perfect fractional matching, in which each weight is either 1 (if the edge is in the matching) or 0 (if it is not).
* G satisfies Hall's marriage condition. The implication holds because, for each subset W of X, the sum of weights near vertices of W is |W|, so the edges adjacent to them are necessarily adjacent to at least |W| vertices of Y.

## Quantitative variant

When Hall's condition does not hold, the original theorem tells us only that a perfect matching does not exist, but does not tell what is the largest matching that does exist. To learn this information, we need the notion of deficiency of a graph. Given a bipartite graph G = (X+Y, E), the deficiency of G w.r.t. X is the maximum, over all subsets W of X, of the difference |W| - |N$_G$(W)|. The larger is the deficiency, the farther is the graph from satisfying Hall's condition.
Using Hall's marriage theorem, it can be proved that, if the deficiency of a bipartite graph G is d, then G admits a matching of size at least |X|-d.

## Generalizations

* A characterization of perfect matchings in general graphs (that are not necessarily bipartite) is provided by the Tutte theorem.
* A generalization of Hall's theorem to bipartite hypergraphs is provided by various Hall-type theorems for hypergraphs.