A multipartite HajnalSzemerédi theorem
Abstract.
The celebrated HajnalSzemerédi theorem gives the precise minimum degree threshold that forces a graph to contain a perfect packing. Fischer’s conjecture states that the analogous result holds for all multipartite graphs except for those formed by a single construction. Recently, we deduced an approximate version of this conjecture from new results on perfect matchings in hypergraphs. In this paper, we apply a stability analysis to the extremal cases of this argument, thus showing that the exact conjecture holds for any sufficiently large graph.
1. Introduction
A fundamental result of Extremal Graph Theory is the HajnalSzemerédi theorem, which states that if divides then any graph on vertices with minimum degree contains a perfect packing, i.e. a spanning collection of vertexdisjoint cliques. This paper considers a conjecture of Fischer [4] on a multipartite analogue of this theorem. Suppose are disjoint sets of vertices each, and is a partite graph on vertex classes (that is, is a graph on the vertex set such that no edge of has both endvertices in the same ). We define the partite minimum degree of , denoted , to be the largest such that every vertex has at least neighbours in each part other than its own, i.e.
where denotes the neighbourhood of . Fischer conjectured that if then has a perfect packing. This conjecture is straightforward for , as it is not hard to see that any maximal matching must be perfect in this case, but for odd the conjecture does not hold, as can be seen from constructions provided by Catlin [1] (these counterexamples are presented in Construction 1.2 as ). For , Magyar and Martin [9] proved that, for large , Catlin’s construction is in fact the only counterexample to this conjecture. More precisely, they showed that if is sufficiently large, is a partite graph with vertex classes each of size and , then either contains a perfect packing, or is odd and divisible by , and is isomorphic to the graph defined in Construction 1.2.
The implicit conjecture behind this result (stated explicitly by Kühn and Osthus [7]) is that the only counterexamples to Fischer’s original conjecture are those constructed by Catlin, that is, the graphs defined in Construction 1.2 when is odd and divisible by . We refer to this as the modified Fischer conjecture. If is even then cannot be both odd and divisible by , so the modified Fischer conjecture is the same as the original conjecture in this case. Martin and Szemerédi [10] proved that (the modified) Fischer’s conjecture holds for . Another partial result was obtained by Csaba and Mydlarz [2], who gave a function with as such that the conjecture holds for large if one strengthens the degree assumption to . Recently, an approximate version of the conjecture assuming the degree condition was proved independently and simultaneously by Keevash and Mycroft [6], and by Lo and Markström [8]. The proof in [6] was a quick application of the geometric theory of hypergraph matchings developed in the same paper; this will be formally introduced in the next section. By a careful analysis of the extremal cases of this result, we will obtain the following theorem, the case of which shows that (the modified) Fischer’s conjecture holds for any sufficiently large graph. Note that the graph in the statement is defined in Construction 1.2.
Theorem 1.1.
For any there exists such that for any with the following statement holds. Let be an partite graph whose vertex classes each have size such that . Then contains a perfect packing, unless is odd, , and .
We now give the generalised version of the construction of Catlin [1] which shows Fischer’s original conjecture to be false.
Construction 1.2.
Suppose is odd and divides . Let be a vertex set partitioned into parts of size . Partition each , into subparts , of size . Define a graph , where for each with and , if then any vertex in is adjacent to all vertices in with , and if or then any vertex in is adjacent to all vertices in with .
Figure 1 shows Construction 1.2 for the case . For this is the exact graph of the construction; for larger we ‘blow up’ the graph above, replacing each vertex by a set of size , and each edge by a complete bipartite graph between the corresponding sets. In general, it is helpful to picture the construction as an by grid, with columns corresponding to parts , and rows , corresponding to subparts of the same superscript. Vertices have neighbours in other rows and columns to their own, except in rows and , where vertices have neighbours in other columns in their own row and other rows besides rows and . Thus . We claim that there is no perfect packing. For any has at most one vertex in any with , so at most vertices in . Also , and there are copies of in a perfect packing. Thus each must have vertices in , and so vertices in , which must either both lie in or both lie in . However, is odd, so cannot be perfectly covered by pairs. Thus contains no perfect packing.
This paper is organised as follows. In the next section we introduce ideas and results from [6] on perfect matchings in graphs. Section 3 gives an outline of the proof of Theorem 1.1. In Sections 4 to 7 we prove several preliminary lemmas, before combining these lemmas in Section 8 to prove Theorem 1.1.
Notation. The following notation is used throughout the paper: ; if is a set then is the set of subsets of of size ; means that for every there exists some such that the subsequent statement holds for any (such statements with more variables are defined similarly); if is a vertex in a graph then is the neighbourhood of .
2. Perfect matchings in hypergraphs
In this section we describe the parts of the geometric theory of perfect matchings in hypergraphs from [6] that we will use in the proof of Theorem 1.1. We start with some definitions. A hypergraph consists of a vertex set and an edge set , where each edge is a subset of . We say that is a graph if every edge has size . A matching in is a set of vertexdisjoint edges in . We call perfect if it covers all of . We identify a hypergraph with its edge set, writing for , and for . A system is a hypergraph in which every edge of has size at most and . We refer to the edges of size in as edges of , and write to denote the graph on formed by these edges. A complex is a system whose edge set is closed under inclusion, i.e. if and then . For any nonempty graph , we may generate a complex whose edges are any such that for some edge .
Let be a set of vertices, and let partition into parts of size . Then we say that a hypergraph with vertex set is partite if for every and . We say that is partite if it is partite for some partition of into parts.
Let be a partite system on . For each we define the partite minimum degree as the largest such that any edge has at least extensions to a edge in any part not intersected by , i.e.
The partite degree sequence is . Note that we suppress the dependence on in our notation: this will be clear from the context. Note also that this is not the standard notion of degree used in graphs, in which the degree of a set is the number of edges containing it. Our minimum degree assumptions will always be of the form pointwise for some vector , i.e. for . It is helpful to interpret this ‘dynamically’ as follows: when constructing an edge of by greedily choosing one vertex at a time, there are at least choices for the st vertex (this is the reason for the requirement that , which we need for the first choice in the process).
The following key definition relates our theorems on hypergraphs to graphs. Fix and a partition of a vertex set into parts of size . Let be a partite graph on . Then the clique complex of is the complex whose edges of size are precisely the copies of in for . Note that must be partite. Furthermore, if and , then the vertices of any copy of in have at least common neighbours in each which they do not intersect. That is, if satisfies , then the clique complex satisfies
(1) 
Note also that any perfect matching in the graph corresponds to a perfect packing in . So if we could prove that any partite complex on which satisfies must have a perfect matching in the graph , then we would have already proved Theorem 1.1! Along these lines, Theorem 2.4 in [6] shows that any such must have a matching in which covers all but a small proportion of the vertices of . (Here we assume ). However, two different families of constructions show that this condition does not guarantee a perfect matching in ; we refer to these as space barriers and divisibility barriers. We will describe these families in some detail, since the results of [6] show that these are essentially the only complexes on which satisfy (1) but do not have a perfect matching in . Firstly, space barriers are characterised by a bound on the size of the intersection of every edge with some fixed set . If is too large, then cannot contain a perfect matching. The following construction gives the precise formulation.
Construction 2.1.
(Space barriers) Suppose partitions a set into parts of size . Fix and a set containing vertices in each part . Then we denote by the complex in which (for ) consists of all partite sets of size that contain at most vertices of . Observe that for and for , so (1) is satisfied. However, any matching in has size at most and so leaves at least vertices uncovered.
Having described the general form of space barriers, we now turn our attention to divisibility barriers. These are characterised by every edge satisfying an arithmetic condition with respect to some partition of . To be more precise, we need the following definition. Fix any partition of a vertex set into parts . For any partite set (that is, has at most one vertex in each part of ), the index set of with respect to is . For general sets , we have the similar notion of the index vector of with respect to ; this is the vector in . So records how many vertices of are in each part of . Observe that if is partite then is the characteristic vector of the index set . When is clear from the context, we write simply and for and respectively, and refer to simply as the index of . We will consider the partition to define the order of its parts so that is welldefined.
Construction 2.2.
(Divisibility barriers) Suppose partitions a set into parts, and is a lattice in (i.e. an additive subgroup) with . Fix any , and let be the graph on whose edges are all tuples with . For any matching in with vertex set we have . Since we assumed that it follows that does not have a perfect matching.
For the simplest example of a divisibility barrier take and . So precisely when is even. Then the construction described has odd, and the edges of are all tuples such that is even. If and , then any set of vertices of is contained in around edges of , but contains no perfect matching.
We now consider the multipartite setting. Let partition a vertex set into parts of size , and let be a partition of into parts which refines . Then we say that a lattice is complete with respect to if contains every difference of basis vectors for which and are contained in the same part of , otherwise we say that is incomplete with respect to . The idea behind this definition is that if is incomplete with respect to , then it is possible that , in which case we would have a divisibility barrier to a perfect matching, whilst if is complete with respect to then this is not possible.
There is a natural notion of minimality for an incomplete lattice with respect to . We say that is transferralfree if does not contain any difference of basis vectors for which are contained in the same part of . For suppose does contain some such difference and form a partition from by merging parts and of . Let be the lattice formed by this merging (that is, by replacing the th and th coordinates with a single coordinate equal to their sum). Then is also incomplete with respect to , so we have a smaller divisibility barrier.
Let be an partite complex whose vertex classes each have size . The next theorem, Theorem 2.9 from [6], states that if satisfies (1) and is not ‘close’ to either a space barrier or a divisibility barrier, then contains a perfect matching. Moreover, we can find a perfect matching in which has roughly the same number of edges of each index. More precisely, for a perfect matching in and a set let be the number of edges with index . We say that is balanced if is constant over all , that is, if there are equally many edges of each index. Similarly, we say that is balanced if for any . Finally, we formalise the notion of closeness to a space or divisibility barrier as follows. Let and be graphs on a common vertex set of size . We say is contained in if all but at most edges of are edges of . Also, given a partition of into parts, we define the robust edge lattice to be the lattice generated by all vectors such that there are at least edges with .
Theorem 2.3.
Suppose that , and . Let partition a set into parts each of size . Suppose that is a partite complex with
Then has at least one of the following properties.
 1 (Matching):

contains a balanced perfect matching.
 2 (Space barrier):

is contained in for some and with vertices in each , .
 3 (Divisibility barrier):

There is some partition of into parts of size at least such that refines and is incomplete with respect to .
3. Outline of the proof
In this section we outline the proof of Theorem 1.1. For ease of explanation we restrict to the case when is an partite graph whose vertex classes each have size and . Our strategy consists of the following three steps:

Impose a row structure on .

Find balanced perfect cliquepackings in each row.

Glue together the row cliquepackings to form a packing of .
For step (i) we partition into blocks , so that each vertex class is partitioned into blocks . This partition is best thought of as an grid, with rows and columns the vertex classes . We insist that all the blocks in a given row have equal size , where . We call a partition of which satisfies these conditions an rowdecomposition of . We also require that has density close to between any two blocks which do not lie in the same row or column (we refer to the smallest such density as the minimum diagonal density). Figure 2 illustrates this structure. We begin with the trivial 1rowdecomposition of with a single row (so the blocks are the vertex classes ). If it is possible to split this row into two rows to obtain a rowdecomposition with minimum diagonal density at least (where will be small), then we say that is splittable. If so, we partition in this manner, and then examine in turn whether either of the two rows obtained is splittable (for some larger value of ). By repeating this process, we obtain a rowdecomposition of with high minimum diagonal density in which no row is splittable; this argument is formalised in Lemma 4.1.
For step (ii) we require a balanced perfect packing in each row . We first use the results of Section 2 to obtain a nearbalanced perfect packing in . Fix and take to be the clique complex of . So we regard the row as an partite vertex set whose parts are the blocks , and the edges of are the cliques in for . The assumption implies that
Then Theorem 2.3 (with playing the role of ) implies that contains a nearbalanced perfect matching, unless is close to a space or divisibility barrier. In Section 4 we consider a space barrier, showing in Lemma 4.2 that since is not splittable, cannot be close to a space barrier. We then consider a divisibility barrier in Section 5. For , Lemma 5.3 shows that since is not splittable, also cannot be close to a divisibility barrier. However, the analogous statement for is false, for the following reason.
We say that is ‘paircomplete’ if it has a structure close to that which appears in rows and of Construction 1.2. That is, there is a partition of into ‘halves’ and , such that each vertex class is partitioned into two equal parts, and both and are almost complete partite graphs. Such a row is not splittable if is odd, but is close to a divisibility barrier. However, Lemma 5.2 shows that this is essentially the only such example, that is, that if and is neither splittable nor paircomplete then is not close to a divisibility barrier. So unless and is paircomplete, Theorem 2.3 implies that contains a nearbalanced perfect packing. In Section 6 we then show that we can actually obtain a balanced perfect matching in . Indeed, in Lemma 6.2 we first delete some ‘configurations’ from ; these are subgraphs of that can be expressed as two disjoint copies of in in two different ways (with different index sets). After these deletions we proceed as just described to find a nearbalanced perfect packing in . Then by carefully choosing which pair of disjoint edges to add to the matching from each ‘configuration’, we obtain a balanced perfect packing in , as required. This leaves only the case where and is paircomplete; in this case Lemma 6.4 gives a balanced perfect packing in , provided that each half has even size.
For step (iii), we construct auxiliary hypergraphs, perfect matchings in which describe how to glue together the perfect packings in the rows into a perfect packing of . Recall that the rowdecomposition of was chosen to have large minimum diagonal density, so almost every vertex of any block has few nonneighbours in any block in a different row and column. Assume for now that this rowdecomposition of has the stronger condition of large minimum diagonal degree, i.e. that we can delete ‘almost’ from the previous statement. For each row , we partition its perfect packing into sets , one for each injective function . For each we then form an auxiliary partite graph , where for each the th vertex class of is the set (so a copy of in is a vertex of ). Edges in are those tuples of vertices for which the corresponding copies of together form a copy of in . We defer the details of the partition to the final section of this paper; the crucial point is that the large minimum diagonal degree of ensures that each has sufficiently large vertex degree to guarantee a perfect matching. Taking the copies of in corresponding to the union of these matchings gives a perfect packing in , completing the proof.
The above sketch glosses over the use of the precise minimum degree condition in Theorem 1.1. Indeed, to replace our minimum diagonal density condition with a minimum diagonal degree condition, we must remove all ‘bad’ vertices, namely those which have many nonneighbours in some block in a different row and column. To achieve this, before step (ii) we delete some vertexdisjoint copies of from which cover all bad vertices. We must ensure that the number of vertices deleted from row is a constant multiple of for each , so that we will be able to join together the packings of the undeleted vertices of each to form a packing of . We also need to ensure that each half has even size in paircomplete rows. This is accomplished in Section 7, which is the most lengthy and technical part of the paper. After this, it is fairly quick to complete the proof as outlined above in Section 8.
4. Row decompositions and space barriers
In this section we formalise our description of rowdecompositions and the iterative process of splitting rows described in Section 3. We then show that the clique complex of any row obtained at the end of this process is not close to a space barrier. Note that many definitions and results of this section (and later sections) require that the size of each vertex class should be a multiple of , which is not assumed in the statement of Theorem 1.1. However, our first step in the proof of Theorem 1.1 will be to remove vertices so that this condition is satisfied, allowing these definitions and results to be used.
4.1. Rowdecompositions.
Fix , and let be an partite graph on vertex classes each of size . Suppose and , are positive integers with . Write . An rowdecomposition of (of type ), consists of subsets with for each and such that each is partitioned by the sets with . We refer to the sets as the blocks, and the sets for as the rows. We call the parts for the columns, so has rows and columns. Given subsets of different vertex classes of , let denote the bipartite subgraph of induced by . We write and define the density of between and as . We usually write and , as is clear from the context. The minimum diagonal density of is defined to be the minimum of over all and . If has only one row then for convenience we define the minimum diagonal density of to be . Note that all this terminology depends on the choice of rowdecomposition of , but this will be clear from the context.
For any with we may obtain an rowdecomposition of by partitioning the row of . Indeed, choose positive integers and with . For each partition into sets and with and . Take , and for each , and for each let , and for each . Then the blocks form an rowdecomposition of of type .
Bearing in mind the proof strategy sketched above, we are happy to split rows provided that we keep the minimum diagonal density close to . Thus we make the following definition. Let be an partite graph on vertex classes each of size . We say is splittable if for some we may choose sets , with , such that for any with we have . It is helpful to think of as being a rowdecomposition with just one row; then is splittable if it is possible to partition this row into two rows as described above so that the minimum diagonal density is at least . Note that this definition depends on , however this will always be clear from the context. Note also that can never be splittable if . The next proposition shows that we can iteratively split until we reach a rowdecomposition which has high minimum diagonal density and does not have any splittable row.
Proposition 4.1.
Suppose that and . Let be an partite graph on vertex classes each of size . Then for some there exists an rowdecomposition of with minimum diagonal density at least such that each row of is not splittable.
Proof. Initially we take the trivial rowdecomposition of with one row whose blocks are the vertex classes of . We now repeat the following step. Given an rowdecomposition of , if every row is not splittable, then terminate. Alternatively, if is splittable for some , according to some sets , , then partition each block into two blocks and to obtain an rowdecomposition of .
Since can only be splittable if , this process must terminate with . Then we have an rowdecomposition of all of whose rows are not splittable, so it remains only to show that has minimum diagonal density at least . If then this is true by definition, so we may assume . Consider any rows and columns . Since and do not lie in the same row of , at some point in the process we must have partitioned blocks and into , and , with and respectively. Since was splittable for some , we have . Then, since and , we have , as required.
4.2. Avoiding space barriers
Let be an partite graph whose vertex classes have size with , and let be the clique complex of . In this section we show that if is not splittable then there is no space barrier to a perfect matching in . We shall use this result in combination with the results of the next section to find a perfect clique packing in each row. We also prove that if then contains many copies of ; this result will play an important role in the proof of Lemma 7.2.
Lemma 4.2.
Suppose that and . Let be an partite graph on vertex classes each of size with . Suppose that is not splittable. Then

for any and sets , of size there are at least copies of in with more than vertices in , where , and

if then there are at least copies of in .
Proof. For (i), since is not splittable, we may suppose that . Let be the set of vertices in with fewer than neighbours in . Write . Then , so . We now greedily form a copy of in by choosing a vertex for each in turn (in increasing order). We do this so that and for any . There are suitable choices for . For each we have chosen vertices prior to choosing , so there are at least suitable choices for . Finally, since has at least nonneighbours in , and at most nonneighbours in in total, it has fewer than nonneighbours in . This means that there are at least suitable choices for . Together we conclude that there are at least copies of in . Each such copy can be extended to a copy of in with more than vertices in by choosing for each in turn, so that each chosen is a neighbour of every with . For each there are at least suitable choices for , so we obtain at least such copies of .
For (ii), introduce new constants with , and suppose for a contradiction that there are fewer than copies of in . Say that a vertex is bad if it lies in at least copies of in , and let be the set of all bad vertices. Then , so . We now show that for any , any vertex has at most neighbours in for any . Without loss of generality we consider the case , i.e. . Suppose for a contradiction that for some , say . Then we may greedily form a copy of in containing by choosing with for each so that each is a neighbour of . We have at least choices for each with , and at least choices for . Thus there are at least copies of in containing , a contradiction to .
Now we fix some and use the neighbourhood of to impose structure on the rest of the graph. We choose a set of size which contains or is contained in for each . If for some with , then as in part (i) we can find at least copies of in . At least of these are contained in , and so form copies of with , another contradiction. So we may suppose that for any with . We now partition into sets as follows. Let consist of all vertices with for every . Let consist of all vertices with for every . Let consist of all remaining vertices of . Next we bound the sizes of each of these sets. By definition of we have