# Hall-type theorems for hypergraphs

In the mathematical field of graph theory, Hall-type theorems for hypergraphs are several generalizations of Hall's marriage theorem from graphs to hypergraphs. Such theorems were proved by Ofra Kessler, Ron Aharoni, Penny Haxell, Roy Meshulam, and others.

## Preliminaries

Hall's marriage theorem provides a condition guaranteeing that a bipartite graph (X + Y, E) admits a perfect matching, or - more generally - a matching that saturates all vertices of Y. The condition involves the number of neighbors of subsets of Y. Generalizing Hall's theorem to hypergraphs requires a generalization of the concepts of bipartiteness, perfect matching, and neighbors.
1. Bipartiteness: The notion of a bipartiteness can be extended to hypergraphs in many ways (see bipartite hypergraph). Here we define a hypergraph as bipartite if it is exactly 2-colorable, i.e., its vertices can be 2-colored such that each hyperedge contains exactly one yellow vertex. In other words, V can be partitioned into two sets X and Y, such that each hyperedge contains exactly one vertex of Y. A bipartite graph is a special case in which each edge contains exactly one vertex of Y and also exactly one vertex of X; in a bipartite hypergraph, each hyperedge contains exactly one vertex of Y but may contain zero or more vertices of X. For example, the hypergraph (V, E) with V = {1,2,3,4,5,6} and E = { {1,2,3}, {1,2,4}, {1,3,4}, {5,2}, {5,3,4,6} } is bipartite with Y = {1,5} and X = {2,3,4,6}.
2. Perfect matching: A matching in a hypergraph H = (V, E) is a subset F of E, such that every two hyperedges of F are disjoint. If H is bipartite with parts X and Y, then the size of each matching is obviously at most |Y|. A matching is called Y-perfect (or Y-saturating) if its size is exactly |Y|. In other words: every vertex of Y appears in exactly one hyperedge of M. This definition reduces to the standard definition of a Y-perfect matching in a bipartite graph.
3. Neighbors: Given a bipartite hypergraph H = (X + Y, E) and a subset Y$_0$ of Y, the neighbors of Y$_0$ are the subsets of X that share hyperedges with vertices of Y$_0$. Formally:
    $N_{H}(Y_{0}):=\{X_{0}\subseteq X~~|~~\exists y_{0}\in Y_{0}:~\{y_{0}\}\cup X_{0}\in E\}.$
For example, in the hypergraph from point 1, we have: N$_H$({1}) = { {2,3}, {2,4}, {3,4} } and N$_H$({5}) = { {2}, {3,4,6} } and N$_H$({1,5}) = { {2,3}, {2,4}, {3,4}, {2}, {3,4,6} }. Note that, in a bipartite graph, each neighbor is a singleton - the neighbors are just the vertices of X that are adjacent to one or more vertices of Y$_0$. In a bipartite hypergraph, each neighbor is a set - the neighbors are the subsets of X that are "adjacent" to one or more vertices of Y$_0$.
Since N$_H$(Y$_0$) contains only subsets of X, one can define a hypergraph in which the vertex set is X and the edge set is N$_H$(Y$_0$). We call it the neighborhood-hypergraph of Y$_0$ and denote it:
    $H_{H}(Y_{0}):=(X,N_{H}(Y_{0})).$
Note that, if H is a simple bipartite graph, the neighborhood-hypergraph of every Y$_0$ contains just the neighbors of Y$_0$ in X, each of which with a self-loop.

## Insufficiency of Hall's condition

Hall's condition requires that, for each subset Y$_0$ of Y, the set of neighbors of Y$_0$ is sufficiently large. With hypergraphs this condition is insufficient. For example, consider the tripartite hypergraph with edges:
   { {1, a, A}, {2, a, B} }
Let Y = {1,2}. Every vertex in Y has a neighbor, and Y itself has two neighbors: N$_H$(Y) = { {a,A}, {a,B} }. But there is no Y-perfect matching since both edges overlap.
One could try to fix it by requiring that N$_H$(Y$_0$) contain at least |Y$_0$| disjoint edges, rather than just |Y$_0$| edges. In other words: H$_H$(Y$_0$) should contain a matching of size at least |Y$_0$|. The largest size of a matching in a hypergraph H is called its matching number and denoted by ν(H) (thus H admits a Y-perfect matching if and only if ν(H) = |Y|). However, this fix is insufficient, as shown by the following tripartite hypergraph:
   { {1, a, A}, {1, b, B}, {2, a, B}, {2, b, A} }
Let Y = {1,2}. Again every vertex in Y has a neighbor, and Y itself has four neighbors: N$_H$(Y) = { {a,A}, {a,B}, {b, A}, {b, B} }. Moreover, ν(H$_H$(Y)) = 2 since H$_H$(Y) admits a matching of size 2, e.g. { {a,A}, {b,B} } or { {a,B}, {b,A} }. However, H does not admit a Y-perfect matching, since every hyperedge that contains 1 overlaps every hyperedge that contains 2.
Thus, to guarantee a perfect matching, a stronger condition is needed. Various such conditions have been suggested.

## Aharoni's conditions: largest matching

Let H = (X + Y, E) be a bipartite hypergraph (as defined in 1. above), in which the size of every hyperedge is exactly r, for some integer r > 1. Suppose that, for every subset Y$_0$ of Y, the following inequality holds:
    $\nu (N_{H}(Y_{0}))\geq (r-1)\cdot (|Y_{0}|-1)+1$
In words: the neighborhood-hypergraph of Y$_0$ admits a matching larger than (r – 1) (|Y$_0$| – 1). Then H admits a Y-perfect matching (as defined in 2. above).
This was first conjectured by Aharoni. It was proved with Ofra Kessler for bipartite hypergraphs in which |Y| ≤ 4 and for |Y| = 5. It was later proved for all r-uniform hypergraphs.$^{:Corollary1.2}$

### In simple graphs

For a bipartite simple graph r = 2, and Aharoni's condition becomes:
    $\nu (H_{H}(Y_{0}))\geq |Y_{0}|.$
Moreover, the neighborhood-hypergraph (as defined in 3. above) contains just singletons - a singleton for every neighbor of Y$_0$. Since singletons do not intersect, the entire set of singletons is a matching. Hence, ν(H$_H$(Y$_0$)) = |N$_H$(Y$_0$)| = the number of neighbors of Y$_0$. Thus, Aharoni's condition becomes, for every subset Y$_0$ of Y:
    $|N_{H}(Y_{0})|\geq |Y_{0}|.$
This is exactly Hall's marriage condition.

### Tightness

The following example shows that the factor (r – 1) cannot be improved. Choose some integer m > 1. Let H = (X + Y, E) be the following r-uniform bipartite hypergraph:
* Y = {1, ..., m};
* E is the union of E$_1$, … , E$_m$ (where E$_i$ is the set of hyperedges containing vertex i), and:
** For each i in {1, … , m – 1}, E$_i$ contains r – 1 disjoint hyperedges of size r: $\{i,x_{i,1,1},\ldots ,x_{i,1,r-1}\},\ldots ,\{i,x_{i,r-1,1},\ldots ,x_{i,r-1,r-1}\}.$
** E$_m$ contains m – 1 hyperedges of size r: $\{m,x_{1,1,1},\ldots ,x_{1,r-1,r-1},\},\ldots ,\{m,x_{m-1,1,1},\ldots ,x_{m-1,r-1,1}\}$
Note that edge i in E$_m$ meets all edges in E$_i$.
This H does not admit a Y-perfect matching, since every hyperedge that contains m intersects all hyperedges in E$_i$ for some i < m.
However, every subset Y$_0$ of Y satisfies the following inequality
    $\nu (H_{H}(Y_{0}))\geq (r-1)\cdot (|Y_{0}|-1)$
since H$_H$(Y$_0$ \ {m}) contains at least (r – 1) ⋅ (|Y$_0$| – 1) hyperedges, and they are all disjoint.

### Fractional matchings

The largest size of a fractional matching in H is denoted by ν*(H). Clearly ν*(H) ≥ ν(H). Suppose that, for every subset Y$_0$ of Y, the following weaker inequality holds:
    $\nu ^{*}(H_{H}(Y_{0}))\geq (r-1)\cdot (|Y_{0}|-1)+1$
It was conjectured that in this case, too, H admits a Y-perfect matching. This stronger conjecture was proved for bipartite hypergraphs in which |Y| = 2.
Later it was proved that, if the above condition holds, then H admits a Y-perfect fractional matching, i.e., ν*(H) = |Y|. This is weaker than having a Y-perfect matching, which is equivalent to ν(H) = |Y|.

## Haxell's condition: smallest transversal

A transversal (also called vertex-cover or hitting-set) in a hypergraph H = (V, E) is a subset U of V such that every hyperedge in E contains at least one vertex of U. The smallest size of a transversal in H is denoted by τ(H).
Let H = (X + Y, E) be a bipartite hypergraph in which the size of every hyperedge is at most r, for some integer r > 1. Suppose that, for every subset Y$_0$ of Y, the following inequality holds:
    $\tau (H_{H}(Y_{0}))\geq (2r-3)\cdot (|Y_{0}|-1)+1$
In words: the neighborhood-hypergraph of Y$_0$ has no transversal of size (2r – 3)(Y$_0$ – 1) or less.
Then, H admits a Y-perfect matching (as defined in 2. above).$^{:Theorem3}$

### In simple graphs

For a bipartite simple graph r = 2 so 2r – 3 = 1, and Haxell's condition becomes:
    $\tau (H_{H}(Y_{0}))\geq |Y_{0}|.$
Moreover, the neighborhood-hypergraph (as defined in 3. above) contains just singletons - a singleton for every neighbor of Y$_0$. In a hypergraph of singletons, a transversal must contain all vertices. Hence, τ(H$_H$(Y$_0$)) = |N$_H$(Y$_0$)| = the number of neighbors of Y$_0$. Thus, Haxell's condition becomes, for every subset Y$_0$ of Y:
    $|N_{H}(Y_{0})|\geq |Y_{0}|.$
This is exactly Hall's marriage condition. Thus, Haxell's theorem implies Hall's marriage theorem for bipartite simple graphs.

### Tightness

The following example shows that the factor (2r – 3) cannot be improved. Let H = (X + Y, E) be an r-uniform bipartite hypergraph with:
* $Y=\{0,1\}$
* $X=\{x_{ij}:1\leq i,j\leq r-1\}$ [so |X| = (r – 1)$^2$].
* $E=E_{0}\cup E_{1},$ where:
** $E_{0}=\{\{0,x_{i1},\ldots ,x_{i(r-1)}\}|1\leq i\leq r-1\}$ [so E$_0$ contains r – 1 hyperedges].
** $E_{1}=\{\{1,x_{1j[1]},\ldots ,x_{(r-1)j[r-1]}\}|1\leq j[k]\leq r-1$ for $1\leq k\leq r-1\$ [so E$_1$ contains (r – 1)$^{r-1}$ hyperedges].
This H does not admit a Y-perfect matching, since every hyperedge that contains 0 intersects every hyperedge that contains 1.
However, every subset Y$_0$ of Y satisfies the following inequality:
    $\tau (H_{H}(Y_{0}))\geq (2r-3)\cdot (|Y_{0}|-1)$
It is only slightly weaker (by 1) than required by Haxell's theorem. To verify this, it is sufficient to check the subset Y$_0$ = Y, since it is the only subset for which the right-hand side is larger than 0. The neighborhood-hypergraph of Y is (X, E$_{00}$ ∪ E$_{11}$) where:
    $E_{00}=\{\{x_{i1},\ldots ,x_{i(r-1)}\}|1\leq i\leq r-1\}$
    $E_{11}=\{\{x_{1j[1]},\ldots ,x_{(r-1)j[r-1]}\}|1\leq j[k]\leq r-1$
       for $1\leq k\leq r-1\$
One can visualize the vertices of X as arranged on an (r – 1) × (r – 1) grid. The hyperedges of E$_{00}$ are the r – 1 rows. The hyperedges of E$_{11}$ are the (r – 1)$^{r-1}$ selections of a single element in each row and each column. To cover the hyperedges of E$_{10}$ we need r – 1 vertices - one vertex in each row. Since all columns are symmetric in the construction, we can assume that we take all the vertices in column 1 (i.e., v$_{i1}$ for each i in {1, …, r – 1}). Now, since E$_{11}$ contains all columns, we need at least r – 2 additional vertices - one vertex for each column {2, …, r}. All in all, each transversal requires at least 2r – 3 vertices.

### Algorithms

Haxell's proof is not constructive. However, Chidambaram Annamalai proved that a perfect matching can be found efficiently under a slightly stronger condition.
For every fixed choice of r ≥ 2 and ε > 0, there exists an algorithm that finds a Y-perfect matching in every r-uniform bipartite hypergraph satisfying, for every subset Y$_0$ of Y:
    $\tau (H_{H}(Y_{0}))\geq (2r-3+\epsilon )\cdot (|Y_{0}|-1)+1$
In fact, in any r-uniform hypergraph, the algorithm finds either a Y-perfect matching, or a subset Y$_0$ violating the above inequality.
The algorithm runs in time polynomial in the size of H, but exponential in r and 1⁄ε.
It is an open question whether there exists an algorithm with run-time polynomial in either r or 1⁄ε (or both).
Similar algorithms have been applied for solving problems of fair item allocation, in particular the santa-claus problem.

## Aharoni–Haxell conditions: smallest pinning sets

We say that a set K of edges pins another set F of edges if every edge in F intersects some edge in K. The width of a hypergraph H = (V, E), denoted w(H), is the smallest size of a subset of E that pins E. The matching width of a hypergraph H, denoted mw(H), is the maximum, over all matchings M in H, of the minimum size of a subset of E that pins M. Since E contains all matchings in E, the width of H is obviously at least as large as the matching-width of H.
Aharoni and Haxell proved the following condition:
   Let H = (X + Y, E) be a bipartite hypergraph. Suppose that, for every subset Y$_0$ of Y, the following inequality holds:
      $mw(N_{H}(Y_{0}))\geq |Y_{0}|$
   [in other words: N$_H$(Y$_0$) contains a matching M(Y$_0$) such that at least |Y$_0$| disjoint edges from N$_H$(Y$_0$) are required for pinning M(Y$_0$)]. Then, H admits a Y-perfect matching.$^{:Theorem1.1}$
They later extended this condition in several ways, which were later extended by Meshulam as follows:
   Let H = (X + Y, E) be a bipartite hypergraph. Suppose that, for every subset Y$_0$ of Y, at least one of the following conditions hold:
      $mw(N_{H}(Y_{0}))\geq |Y_{0}|$
      $w(N_{H}(Y_{0}))\geq 2|Y_{0}|-1$
   Then, H admits a Y-perfect matching.$^{:Theorem1.4}$

### In simple graphs

In a bipartite simple graph, the neighborhood-hypergraph contains just singletons - a singleton for every neighbor of Y$_0$. Since singletons do not intersect, the entire set of neighbors N$_H$(Y$_0$) is a matching, and its only pinning-set is the set N$_H$(Y$_0$) itself, i.e., the matching-width of N$_H$(Y$_0$) is |N$_H$(Y$_0$)|, and its width is the same:
    $w(N_{H}(Y_{0}))=mw(N_{H}(Y_{0}))=|N_{H}(Y_{0})|.$
Thus, both the above conditions are equivalent to Hall's marriage condition.

### Examples

We consider several bipartite graphs with Y = {1, 2} and X = {A, B; a, b, c}. The Aharoni–Haxell condition trivially holds for the empty set. It holds for subsets of size 1 if and only if each vertex in Y is contained in at least one edge, which is easy to check. It remains to check the subset Y itself.
* H = { {1,A,a}; {2,B,b}; {2,B,c} }. Here N$_H$(Y) = { {A,a}, {B,b}, {B,c} }. Its matching-width is at least 2, since it contains a matching of size 2, e.g. { {A,a}, {B,b} }, which cannot be pinned by any single edge from N$_H$(Y$_0$). Indeed, H admits a Y-perfect matching, e.g. { {1,A,a}; {2,B,b} }.
* H = { {1,A,a}; {1,B,b}; {2,A,b}, {2,B,a} }. Here N$_H$(Y) = { {A,a}, {B,b}, {A,b}, {B,a} }. Its matching-width is 1: it contains a matching of size 2, e.g. { {A,a}, {B,b} }, but this matching can be pinned by a single edge, e.g. {A,b}. The other matching of size 2 is { {A,b},{B,a} }, but it too can be pinned by the single edge {A,a}. While N$_H$(Y) is larger than in example 1, its matching-width is smaller - in particular, it is less than |Y|. Hence, the Aharoni–Haxell sufficient condition is not satisfied. Indeed, H does not admit a Y-perfect matching.
* H = { {1,A,a}, {1,A,b}; {1,B,a}, {1,B,b}; {2,A,a}, {2,A,b}; {2,B,a}, {2,B,b} }. Here, as in the previous example, N$_H$(Y) = { {A,a}, {B,b}, {A,b}, {B,a} }, so the Aharoni–Haxell sufficient condition is violated. The width of N$_H$(Y) is 2, since it is pinned e.g. by the set { {A,a}, {B,b} }, so Meshulam's weaker condition is violated too. However, this H does admit a Y-perfect matching, e.g. { {1,A,a}; {2,B,b} }, which shows that these conditions are not necessary.

### Set-family formulation

Consider a bipartite hypergraph H = (X + Y, E) where Y = {1, …, m}. The Hall-type theorems do not care about the set Y itself - they only care about the neighbors of elements of Y. Therefore H can be represented as a collection of families of sets {H$_1$, …, H$_m$}, where for each i in [m], H$_i$ := N$_H$({i}) = the set-family of neighbors of i. For every subset Y$_0$ of Y, the set-family N$_H$(Y$_0$) is the union of the set-families H$_i$ for i in Y$_0$. A perfect matching in H is a set-family of size m, where for each i in [m], the set-family H$_i$ is represented by a set R$_i$ in H$_i$, and the representative sets R$_i$ are pairwise-disjoint.
In this terminology, the Aharoni–Haxell theorem can be stated as follows.
Let A = {H$_1$, …, H$_m$} be a collection of families of sets. For every sub-collection B of A, consider the set-family ∪ B - the union of all the H$_i$ in B. Suppose that, for every sub-collection B of A, this ∪ B contains a matching M(B) such that at least |B| disjoint subsets from ∪ B are required for pinning M(B). Then A admits a system of disjoint representatives.

### Necessary and sufficient condition

Let H = (X + Y, E) be a bipartite hypergraph. The following are equivalent:$^{:Theorem4.1}$
* H admits a Y-perfect matching.
* There is an assignment of a matching M(Y$_0$) in N$_H$(Y$_0$) for every subset Y$_0$ of Y, such that pinning M(Y$_0$) requires at least |$_0$| disjoint edges from ∪ {M(Y$_1$): Y$_1$ is a subset of Y$_0$}.
In set-family formulation: let A = {H$_1$, …, H$_m$} be a collection of families of sets. The following are equivalent:
* A admits a system of disjoint representatives;
* There is an assignment of a matching M(B in ∪ B for every sub-collection B of A, such that, for pinning M(B), at least |B| edges from ∪ {M(C): C is a subcollection of B} are required.

### Examples

Consider example #3 above: H = { {1,A,a}, {1,A,b}; {1,B,a}, {1,B,b}; {2,A,a}, {2,A,b}; {2,B,a}, {2,B,b} }. Since it admits a Y-perfect matching, it must satisfy the necessary condition. Indeed, consider the following assignment to subsets of Y:
* M({1}) = {A,a}
* M({2}) = {B,b}
* M({1,2}) = { {A, a}, {B, b} }
In the sufficient condition pinning M({1,2}) required at least two edges from N$_H$(Y) = { {A,a}, {B,b}, {A,b}, {B,a} }; it did not hold.
But in the necessary condition, pinning M({1,2}) required at least two edges from M({1}) ∪ M({2}) ∪ M({1,2}) = { {A,a}, {B,b} }; it does hold.
Hence, the necessary+sufficient condition is satisfied.

### Proof

The proof is topological and uses Sperner's lemma. Interestingly, it implies a new topological proof for the original Hall theorem.
First, assume that no two vertices in Y have exactly the same neighbor (it is without loss of generality, since for each element y of Y, one can add a dummy vertex to all neighbors of y).
Let Y = {1, …, m}. They consider an m-vertex simplex, and prove that it admits a triangulation T with some special properties that they call economically-hierarchic triangulation. Then they label each vertex of T with a hyperedge from N$_H$(Y) in the following way:
* (a) For each i in Y, The main vertex i of the simplex is labeled with some hyperedge from the matching M({i}).
* (b) Each vertex of T on a face spanned by a subset Y$_0$ of Y, is labeled by some hyperedge from the matching M(Y$_0$).
* (c) For each two adjacent vertices of T, their labels are either identical or disjoint.
Their sufficient condition implies that such a labeling exists. Then, they color each vertex v of T with a color i such that the hyperedge assigned to v is a neighbor of i.
Conditions (a) and (b) guarantee that this coloring satisfies Sperner's boundary condition. Therefore, a fully-labeled simplex exists. In this simplex there are m hyperedges, each of which is a neighbor of a dif and only iferent element of Y, and so they must be disjoint. This is the desired Y-perfect matching.

### Extensions

The Aharoni–Haxell theorem has a deficiency version. It is used to prove Ryser's conjecture for r = 3.

## Meshulam's conditions - the topological Hall theorems
### In abstract simplicial complexes

Let V be a set of vertices. Let C be an abstract simplicial complex on V. Let V$_y$ (for y in Y) be subsets of V. A C-V-transversal is a set in C (an element of C) whose intersection with each V$_y$ contains exactly one vertex. For every subset Y$_0$ of Y, let
    $V_{Y_{0}}:=\bigcup _{y\in Y_{0}}V_{y}.$
Suppose that, for every subset Y$_0$ of Y, the homological connectivity plus 2 of the sub-complex induced by $V_{Y_{0}}$ is at least |Y$_0$|, that is:
    $\eta _{H}(C[V_{Y_{0}}])\geq |Y_{0}|.$
Then there exists a C-V-transversal. That is: there is a set in C that intersects each V$_y$ by exactly one element. This theorem has a deficiency version. If, for every subset Y$_0$ of Y:
    $\eta _{H}(C[V_{Y_{0}}])\geq |Y_{0}|-d,$
then there exists a partial C-transversal, that intersects some |Y| – d sets by 1 element, and the rest by at most 1 element. More generally, if g is a function on positive integers satisfying g(z + 1) ≤ g(z) + 1, and for every subset Y$_0$ of Y:
    $\eta _{H}(C[V_{Y_{0}}])\geq g(|Y_{0}|),$
then there is a set in C that intersects at least g(|Y|) of the V$_y$ by at one element, and the others by at most one element.

### Meshulam's game

Using the above theorem requires some lower bounds on homological connectivity. One such lower bound is given by Meshulam's game. This is a game played by two players on a graph. One player - CON - wants to prove that the graph has a high homological connectivity. The other player - NON - wants to prove otherwise. CON offers edges to NON one by one; NON can either disconnect an edge, or explode it; an explosion deletes the edge endpoints and all their neighbors. CON's score is the number of explosions when all vertices are gone, or infinity if some isolated vertices remain. The value of the game on a given graph G (the score of CON when both players play optimally) is denoted by Ψ(G). This number can be used to get a lower bound on the homological connectivity of the independence complex of G, denoted ⁠${\mathcal {I}}(G)$⁠:
    $\eta _{H}({\mathcal {I}}(G))\geq \Psi (G).$
Therefore, the above theorem implies the following. Let V be a set of vertices. Let G be a graph on V. Suppose that, for every subset Y$_0$ of Y:
    $\Psi (G[V_{Y_{0}}])\geq |Y_{0}|.$
Then there is an independent set in G, that intersects each V$_y$ by exactly one element.

### In simple bipartite graphs

Let H be a bipartite graph with parts X and Y. Let V be the set of edges of H. Let G = L(H) = the line graph of H. Then, the independence complex ⁠${\mathcal {I}}(L(H))$⁠ is equal to the matching complex of H, denoted ⁠${\mathcal {M}}(H)$⁠. It is a simplicial complex on the edges of H, whose elements are all the matchings on H. For each vertex y in Y, let V$_y$ be set of edges adjacent to y (note that V$_y$ is a subset of V). Then, for every subset Y$_0$ of Y, the induced subgraph $G[V_{Y_{0}}]$ contains a clique for every neighbor of Y$_0$ (all edges adjacent to Y$_0$ , that meet at the same vertex of X, form a clique in the line-graph). So there are |N$_H$(Y$_0$)| disjoint cliques. Therefore, when Meshulam's game is played, NON needs |N$_H$(Y$_0$)| explosions to destroy all of L(N$_H$(Y$_0$)), so Ψ(L(N$_H$(Y$_0$)) = |N$_H$(Y$_0$)|. Thus, Meshulam's condition
    $\Psi (G[V_{Y_{0}}])\geq |Y_{0}|$
is equivalent to Hall's marriage condition. Here, the sets V$_y$ are pairwise-disjoint, so a C-transversal contains a unique element from each V$_y$, which is equivalent to a Y-saturating matching.

### In matching complexes

Let H be a bipartite hypergraph, and suppose C is its matching complex ⁠${\mathcal {M}}(H)$⁠. Let H$_y$ (for y in Y) be sets of edges of H. For every subset Y$_0$ of Y, ⁠${\mathcal {M}}(H_{Y_{0}})$⁠ is the set of matchings in the sub-hypergraph:
    $\bigcup _{y\in Y_{0}}H_{y}.$
If, for every subset Y$_0$ of Y:
    $\eta _{H}({\mathcal {M}}(H_{Y_{0}}))\geq |Y_{0}|$
Then there exists a matching that intersects each set H$_y$ exactly once (it is also called a rainbow matching, since each H$_y$ can be treated as a color).
This is true, in particular, if we define H$_y$ as the set of edges of H containing the vertex y of Y. In this case, ⁠${\mathcal {M}}(H_{Y_{0}})$⁠ is equivalent to N$_H$(Y$_0$) - the multi-hypergraph of neighbors of Y$_0$ ("multi" - since each neighbor is allowed to appear several times for several different y).
The matching complex of a hypergraph is exactly the independence complex of its line graph, denoted L(H). This is a graph in which the vertices are the edges of H, and two such vertices are connected iff their corresponding edges intersect in H. Therefore, the above theorem implies:
    $\eta _{H}({\mathcal {M}}(H))\geq \Psi (L(H))$
Combining the previous inequalities leads to the following condition.
    Let H = (X + Y, E) be a bipartite hypergraph. Suppose that, for every subset Y$_0$ of Y, the following condition holds:
       $\Psi (L(N_{H}(Y_{0})))\geq |Y_{0}|,$
    where N$_H$(Y$_0$) is considered a multi-hypergraph (i.e., it may contain the same hyperedge several times, if it is a neighbor of several different elements of Y$_0$). Then, H admits a Y-perfect matching.

### Examples

We consider several bipartite hypergraphs with Y = {1, 2} and X = {A, B; a, b, c}. The Meshulam condition trivially holds for the empty set. It holds for subsets of size 1 iff the neighbor-graph of each vertex in Y is non-empty (so it requires at least one explosion to destroy), which is easy to check. It remains to check the subset Y itself. s
* H = { {1,A,a}; {2,B,b}; {2,B,c} }. Here N$_H$(Y) = { {A,a}, {B,b}, {B,c} }. The graph L(N$_H$(Y)) has three vertices: Aa, Bb, Bc. Only the last two are connected; the vertex Aa is isolated. Hence, Ψ(L(N$_H$(Y)) = ∞. Indeed, H admits a Y-perfect matching, e.g. { {1,A,a}; {2,B,b} }.
* H = { {1,A,a}; {1,B,b}; {2,A,b}, {2,B,a} }. Here L(N$_H$(Y)) has four vertices: Aa, Bb, Ab, Ba, and four edges: {Aa,Ab}, {Aa,Ba}, {Bb,Ba}, {Bb,Ab}. For any edge that CON offers, NON can explode it and destroy all vertices. Hence, Ψ(L(N$_H$(Y)) = 1. Indeed, H does not admit a Y-perfect matching.
* H = { {1,A,a}, {1,A,b}; {1,B,a}, {1,B,b}; {2,A,a}, {2,A,b}; {2,B,a}, {2,B,b} }. Here N$_H$(Y) is the same as in the previous example, so Meshulam's sufficient condition is violated. However, this H does admit a Y-perfect matching, e.g. { {1,A,a}; {2,B,b} }, which shows that this condition is not necessary.
No necessary-and-sufficient condition using Ψ is known.

## More conditions from rainbow matchings

A rainbow matching is a matching in a simple graph, in which each edge has a different "color". By treating the colors as vertices in the set Y, one can see that a rainbow matching is in fact a matching in a bipartite hypergraph. Thus, several sufficient conditions for the existence of a large rainbow matching can be translated to conditions for the existence of a large matching in a hypergraph.
The following results pertain to tripartite hypergraphs in which each of the 3 parts contains exactly n vertices, the degree of each vertex is exactly n, and the set of neighbors of every vertex is a matching (henceforth "n-tripartite-hypergraph"):
* Every n-tripartite-hypergraph has a matching of size 2n⁄3.
* Every n-tripartite-hypergraph has a matching of size n – √n.
* Every n-tripartite-hypergraph has a matching of size n – 11 log$_2$$^2$(n).
* Every n-tripartite-hypergraph has a matching of size n – O(log n/log log n).
* Every n-tripartite-hypergraph has a matching of size n – 1. (Preprint)
* H. J. Ryser conjectured that, when n is odd, every n-tripartite-hypergraph has a matching of size n.
* S. K. Stein and Brualdi conjectured that, when n is even, every n-tripartite-hypergraph has a matching of size n – 1. (it is known that a matching of size n might not exist in this case).
* A more general conjecture of Stein is that a matching of size n – 1 exists even without requiring that the set of neighbors of every vertex in Y is a matching.
The following results pertain to more general bipartite hypergraphs:
* Any tripartite hypergraph (X$_1$ + X$_2$ + Y, E) in which |Y| = 2n – 1, the degree of each vertex y in Y is n, and the neighbor-set of y is a matching, has a matching of size n. The 2n – 1 is the best possible: if |Y| = 2n – 2, then the maximum matching may be of size n-1.
* Any bipartite hypergraph (X + Y, E) in which |Y| = 3n – 2, the degree of each vertex y in Y is n, and the neighbor-set of y is a matching, has a matching of size n. It is not known whether this is the best possible. For even n, it is only known that 2n is required; for odd n, it is only known that 2n – 1 is required.

## Conforti-Cornuejols-Kapoor-Vuskovic condition: Balanced hypergraphs

A balanced hypergraph is an alternative generalization of a bipartite graph: it is a hypergraph in which every odd cycle C of H has an edge containing at least three vertices of C.
Let H = (V, E) be a balanced hypergraph. The following are equivalent:
* H admits a perfect matching (i.e., a matching in which each vertex is matched).
* For all disjoint vertex-sets V$_1$, V$_2$, if |V$_1$| > |V$_2$|, then there exists an edge e in E such that |e ∩ V$_1$| > |e ∩ V$_2$| (equivalently: if |e ∩ V$_2$| ≥ |e ∩ V$_1$| for all edges e in E, then |V$_2$| ≥ |V$_1$|).

### In simple graphs

A simple graph is bipartite iff it is balanced (it contains no odd cycles and no edges with three vertices).
Let G = (X + Y, E) be a bipartite graph. Let X$_0$ be a subset of X and Y$_0$ a subset of Y. The condition "e ∩ X$_0$ ≥ |e ∩ Y$_0$| for all edges e in E" means that X$_0$ contains all the neighbors of vertices of Y$_{0-}$ Hence, the CCKV condition becomes:
   "If a subset X$_0$ of X contains the set N$_H$(Y$_0$), then |X$_0$| ≥ |Y$_0$|".
This is equivalent to Hall's condition.