Page 1

arXiv:1201.1882v1 [math.CO] 9 Jan 2012

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM

PETER KEEVASH AND RICHARD MYCROFT

Abstract. The celebrated Hajnal-Szemer´ edi theorem gives the precise minimum degree

threshold that forces a graph to contain a perfect Kk-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 Hajnal-Szemer´ edi theorem, which

states that if k divides n then any graph G on n vertices with minimum degree δ(G) ≥

(k − 1)n/k contains a perfect Kk-packing, i.e. a spanning collection of vertex-disjoint k-

cliques. This paper considers a conjecture of Fischer [2] on a multipartite analogue of this

theorem. Suppose V1,...,Vkare disjoint sets of n vertices each, and G is a k-partite graph

on vertex classes V1,...,Vk(that is, G is a graph on the vertex set V1∪ ··· ∪ Vksuch that

no edge of G has both endvertices in the same Vj). We define the partite minimum degree

of G, denoted δ∗(G), to be the largest m such that every vertex has at least m neighbours

in each part other than its own, i.e.

δ∗(G) := min

i∈[k]min

v∈Vi

min

j∈[k]\{i}|N(v) ∩ Vj|,

where N(v) denotes the neighbourhood of v. Fischer conjectured that if δ∗(G) ≥ (k−1)n/k

then G has a perfect Kk-packing. This conjecture is straightforward for k = 2, as it is not

hard to see that any maximal matching must be perfect. However, Magyar and Martin [8]

constructed a counterexample for k = 3, and furthermore showed that their construction

gives the only counterexample for large n. More precisely, they showed that if n is sufficiently

large, G is a 3-partite graph with vertex classes each of size n and δ∗(G) ≥ 2n/3, then either G

contains a perfect K3-packing, or n is odd and divisible by 3, and G is isomorphic to the

graph Γn,3,3defined in Construction 1.2.

The implicit conjecture behind this result (stated explicitly by K¨ uhn and Osthus [6]) is

that the only counterexamples to Fischer’s original conjecture are the constructions given by

the graphs Γn,k,kdefined in Construction 1.2 when n is odd and divisible by k. We refer to

this as the modified Fischer conjecture. If k is even then n cannot be both odd and divisible

by k, so the modified Fischer conjecture is the same as the original conjecture in this case.

Martin and Szemer´ edi [9] proved that (the modified) Fischer’s conjecture holds for k = 4.

Another partial result was obtained by Csaba and Mydlarz [1], who gave a function f(k)

with f(k) → 0 as k → ∞ such that the conjecture holds for large n if one strengthens the

degree assumption to δ∗(G) ≥ (k − 1)n/k + f(k)n. Recently, an approximate version of the

conjecture assuming the degree condition δ∗(G) ≥ (k−1)n/k+o(n) was proved independently

and simultaneously by Keevash and Mycroft [5], and by Lo and Markstr¨ om [7]. The proof

in [5] was a quick application of the geometric theory of hypergraph matchings developed in

Date: January 10, 2012.

Research supported in part by ERC grant 239696 and EPSRC grant EP/G056730/1.

1

Page 2

2 PETER KEEVASH AND RICHARD MYCROFT

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 r = k of

which shows that (the modified) Fischer’s conjecture holds for any sufficiently large graph.

Note that the graph Γn,r,kin the statement is defined in Construction 1.2.

Theorem 1.1. For any r ≥ k there exists n0 such that for any n ≥ n0 with k | rn the

following statement holds. Let G be a r-partite graph whose vertex classes each have size n

such that δ∗(G) ≥ (k − 1)n/k. Then G contains a perfect Kk-packing, unless rn/k is odd,

k | n, and G∼= Γn,r,k.

We now give the generalised version of the construction of Magyar and Martin [8] showing

Fischer’s original conjecture to be false.

Construction 1.2. Suppose rn/k is odd and k divides n. Let V be a vertex set partitioned

into parts V1,...,Vr of size n. Partition each Vi, i ∈ [r] into subparts Vj

n/k. Define a graph Γn,r,k, where for each i,i′∈ [r] with i ?= i′and j ∈ [k], if j ≥ 3 then

any vertex in Vj

then any vertex in Vj

i, j ∈ [k] of size

iis adjacent to all vertices in Vj′

iis adjacent to all vertices in Vj′

i′ with j′∈ [k] \ {j}, and if j = 1 or j = 2

i′ with j′∈ [k] \ {3 − j}.

V1

V2

V3

?

V1

?

V2

?

V3

Figure 1. Construction 1.2 for the case k = r = 3.

Figure 1 shows Construction 1.2 for the case k = r = 3. To avoid complicating the

diagram, edges between V1and V3are not shown: these are analogous to those between V1

and V2and between V2and V3. For n = k this is the exact graph of the construction; for

larger n we ‘blow up’ the graph above, replacing each vertex by a set of size n/k, and each

edge by a complete bipartite graph between the corresponding sets. In general, it is helpful

to picture the construction as an r by k grid, with columns corresponding to parts Vi, i ∈ [r]

and rows Vj=?

vertices have neighbours in other columns in their own row and other rows besides rows V1

and V2. Thus δ∗(G) = (k − 1)n/k. We claim that there is no perfect Kk-packing. For any

Kkhas at most one vertex in any Vjwith j ≥ 3, so at most k −2 vertices in?

Kkmust have k − 2 vertices in?

i∈[r]Vj

i, j ∈ [k] corresponding to subparts of the same superscript. Vertices

have neighbours in other rows and columns to their own, except in rows V1and V2, where

j≥3Vj. Also

????

j≥3Vj??? = (k − 2)rn/k, and there are rn/k copies of Kkin a perfect packing. Thus each

j≥3Vj, and so 2 vertices in V1∪ V2, which must either

Page 3

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM3

both lie in V1or both lie in V2. However, |V1| = rn/k is odd, so V1cannot be perfectly

covered by pairs. Thus G contains no perfect Kk-packing.

This paper is organised as follows. In the next section we introduce ideas and results

from [5] on perfect matchings in k-graphs. Section 3 gives an outline of the proof of The-

orem 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: [k] = {1,...,k}; if X

is a set then

?X

statements with more variables are defined similarly). If x is a vertex in a graph then N(x)

is the neighbourhood of x.

k

?

is the set of subsets of X of size k; x ≪ y means that for every y > 0

there exists some x0> 0 such that the subsequent statement holds for any x < x0(such

2. Perfect matchings in hypergraphs

In this section we describe the parts of the geometric theory of perfect matchings in

hypergraphs from [5] that we will use in the proof of Theorem 1.1. We start with some

definitions. A hypergraph G consists of a vertex set V and an edge set E, where each edge

e ∈ E is a subset of V . We say that G is a k-graph if every edge has size k. A matching M in

G is a set of vertex-disjoint edges in G. We call M perfect if it covers all of V . We identify

a hypergraph H with its edge set, writing e ∈ H for e ∈ E(H), and |H| for |E(H)|. A

k-system is a hypergraph J in which every edge of J has size at most k and ∅ ∈ J. We refer

to the edges of size r in J as r-edges of J, and write Jrto denote the r-graph on V (J) formed

by these edges. A k-complex J is a k-system whose edge set is closed under inclusion, i.e. if

e ∈ J and e′⊆ e then e′∈ J. For any non-empty k-graph G, we may generate a k-complex

G≤whose edges are any e ⊆ V (G) such that e ⊆ e′for some edge e′∈ G.

Let V be a set of vertices, and let P partition V into parts V1,...,Vrof size n. Then we

say that a hypergraph G with vertex set V is P-partite if |e ∩ Vi| ≤ 1 for every i ∈ [r] and

e ∈ G. We say that G is r-partite if it is P-partite for some partition P of V into r parts.

Let J be a P-partite k-system on V . For each 0 ≤ j ≤ k − 1 we define the partite

minimum j-degree δ∗

j(J) as the largest m such that any j-edge e has at least m extensions

to a (j + 1)-edge in any part not intersected by e, i.e.

δ∗

j(J) := min

e∈Jj

min

i:e∩Vi=∅|{v ∈ Vi: e ∪ {v} ∈ J}|.

The partite degree sequence is δ∗(J) = (δ∗

dependence on P in our notation: this will be clear from the context. Note also that this

is not the standard notion of degree used in k-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

δ(J) ≥ a pointwise for some vector a = (a0,...,ak−1), i.e. δi(J) ≥ aifor 0 ≤ i ≤ k − 1.

It is helpful to interpret this ‘dynamically’ as follows: when constructing an edge of Jkby

greedily choosing one vertex at a time, there are at least aichoices for the (i + 1)st vertex

(this is the reason for the requirement that ∅ ∈ J, which we need for the first choice in the

process).

The following key definition relates our theorems on hypergraphs to graphs. Fix r ≥ k

and a partition P of a vertex set V into r parts V1,...,Vrof size n. Let G be an P-partite

graph on V . Then the clique k-complex J(G) of G is the k-complex whose edges of size

i are precisely the copies of Ki in G for 0 ≤ i ≤ k. Note that J(G) must be P-partite.

0(J),...,δ∗

k−1(J)). Note that we suppress the

Page 4

4 PETER KEEVASH AND RICHARD MYCROFT

Furthermore, if δ∗(G) ≥ (k − 1)n/k − αn and 0 ≤ i ≤ k − 1, then the vertices of any copy

of Kiin G have at least n − in/k − iαn common neighbours in each Vjwhich they do not

intersect. That is, if G satisfies δ∗(G) ≥ (k − 1)n/k − αn, then the clique k-complex J(G)

satisfies

?

Note also that any perfect matching in the k-graph J(G)k corresponds to a perfect Kk-

packing in G. So if we could prove that any P-partite k-complex J on V which satisfies (1)

must have a perfect matching in the k-graph Jk, then we would have already proved Theo-

rem 1.1! Along these lines, Theorem 2.4 in [5] shows that any such J must have a match-

ing in Jk which covers all but a small proportion of the vertices of J. (Here we assume

1/n ≪ α ≪ 1/r,1/k). However, two different families of constructions show that this con-

dition does not guarantee a perfect matching in Jk; we refer to these as space barriers and

divisibility barriers. We will describe these families in some detail, since the results of [5]

show that these are essentially the only k-complexes J on V which satisfy (1) but do not

have a perfect matching in Jk. Firstly, space barriers are characterised by a bound on the

size of the intersection of every edge with some fixed set S ⊆ V (J). If S is too large, then Jk

cannot contain a perfect matching. The following construction gives the precise formulation.

(1)δ∗(J(G)) ≥

n,

?k − 1

k

− α

?

n,

?k − 2

k

− 2α

?

n,...,

?1

k− (k − 1)α

?

n

?

.

Construction 2.1. (Space barriers) Suppose P partitions a set V into r parts V1,...,Vrof

size n. Fix j ∈ [k−1] and a set S ⊆ V containing s = ⌊(j/k + α)n⌋ vertices in each part Vj.

Then we denote by J = Jr(S,j) the k-complex in which Ji(for 0 ≤ i ≤ k) consists of all

P-partite sets e ⊆ V of size i that contain at most j vertices of S. Observe that δ∗

for 0 ≤ i ≤ j − 1 and δ∗

matching in Jkhas size at most

?|V \S|

Having described the general form of space barriers, we now turn our attention to di-

visibility barriers. These are characterised by every edge satisfying an arithmetic condition

with respect to some partition Q of V . To be more precise, we need the following definition.

Fix any partition Q of a vertex set V into d parts V1,...,Vd. For any Q-partite set S ⊆ V

(that is, S has at most one vertex in each part of Q), the index set of S with respect to Q

is iQ(S) := {i ∈ [d] : |S ∩ Vi| = 1}. For general sets S ⊆ V , we have the similar notion of

the index vector of S with respect to Q; this is the vector iQ(S) := (|S ∩ V1|,...,|S ∩ Vd|)

in Zd. So iQ(S) records how many vertices of S are in each part of Q. Observe that if S is

Q-partite then i(S) is the characteristic vector of the index set i(S). When Q is clear from

the context, we write simply i(S) and i(S) for iQ(S) and iQ(S) respectively, and refer to

i(S) simply as the index of S. We will consider the partition Q to define the order of its

parts so that iQ(S) is well-defined.

i(J) = n

i(J) = n − s for j ≤ i ≤ k − 1, so (1) is satisfied. However, any

k−j

and so leaves at least r(αn−k) vertices uncovered.

?

Construction 2.2. (Divisibility barriers) Suppose Q partitions a set V into d parts, and L

is a lattice in Zd(i.e. an additive subgroup) with i(V ) / ∈ L. Fix any k ≥ 2, and let G be the

k-graph on V whose edges are all k-tuples e with i(e) ∈ L. For any matching M in G with

vertex set S =?

For the simplest example of a divisibility barrier take d = 2 and L = ?(−2,2),(0,1)?. So

(x,y) ∈ L precisely when x is even. Then the construction described has |V1| odd, and the

e∈Me we have i(S) =?

e∈Mi(e) ∈ L. Since we assumed that i(V ) / ∈ L it

follows that G does not have a perfect matching.

Page 5

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM5

edges of G are all k-tuples e ⊆ V such that |e ∩ V1| is even. If |V | = n and |V1| ∼ n/2,

then any set of k −1 vertices of G is contained in around n/2 edges of G, but G contains no

perfect matching.

We now consider the multipartite setting. Let P partition a vertex set V into parts

V1,...,Vrof size n, and let Q be a partition of V into d parts U1,...,Udwhich refines P.

Then we say that a lattice L ⊆ Zdis complete with respect to P if L contains every difference

of basis vectors ui−ujfor which Uiand Ujare contained in the same part Vℓof P, otherwise

we say that L is incomplete with respect to P. The idea behind this definition is that if L

is incomplete with respect to P, then it is possible that iQ(V ) / ∈ L, in which case we would

have a divisibility barrier to a perfect matching, whilst if L is complete with respect to P

then this is not possible. There is a natural notion of minimality for an incomplete lattice

L with respect to P: we say that Q is minimal if L does not contain any difference of basis

vectors ui−ujfor which Ui,Ujare contained in the same part Vℓof P. For suppose L does

contains some such difference ui− ujand form a partition Q′from Q by merging parts Ui

and Uj of Q. Let L′⊆ Zd−1be the lattice formed by this merging (that is, by replacing

the ith and jth coordinates with a single coordinate equal to their sum). Then L′is also

incomplete with respect to P, so we have a smaller divisibility barrier.

Let J be an r-partite k-complex whose vertex classes V1,...,Vreach have size n. The next

theorem, Theorem 2.9 from [5], states that if J satisfies (1) and Jkis not ‘close’ to either a

space barrier or a divisibility barrier, then Jkcontains a perfect matching. Moreover, we can

find a perfect matching in Jkwhich has roughly the same number of edges of each index.

More precisely, for a perfect matching M in Jkand a set A ∈?[r]

all A ∈?[r]

notion of closeness to a space or divisibility barrier as follows. Let G and H be k-graphs on

a common vertex set V of size n. We say G is β-contained in H if all but at most βnkedges

of G are edges of H. Also, given a partition P of V into d parts, we define the µ-robust edge

lattice Lµ

least µnkedges e ∈ G with iP(e) = v.

Theorem 2.3. Suppose that 1/n ≪ γ ≪ α ≪ µ,β ≪ 1/r, r ≥ k and k | rn. Let P′partition

a set V into parts V1,...,Vreach of size n. Suppose that J is a P′-partite k-complex with

δ∗(J) ≥

k

k

?let NA(M) be the number

of edges e ∈ M with index i(e) = A. We say that M is balanced if NA(M) is constant over

k

?, that is, if there are equally many edges of each index. Similarly, we say that

M is γ-balanced if NA(M) = (1 ± γ)NB(M) for any A,B ∈?[r]

k

?. Finally, we formalise the

P(G) ⊆ Zdto be the lattice generated by all vectors v ∈ Zdsuch that there are at

?

n,

?k − 1

− α

?

n,

?k − 2

k

− α

?

n,...,

?1

k− α

?

n

?

.

Then J has at least one of the following properties.

1 (Matching): Jkcontains a γ-balanced perfect matching.

2 (Space barrier): Jkis β-contained in Jr(S,j)k for some j ∈ [k − 1] and S ⊆ V

with ⌊jn/k⌋ vertices in each Vi, i ∈ [r].

3 (Divisibility barrier): There is some partition P of V (J) into d ≤ kr parts of size

at least δ∗

to P′.

Note that the fact that the perfect matching in Jkis γ-balanced in the first property is

not stated in the statement of the theorem in [5]. However, examining the short derivation

of this theorem from Theorem 7.11 in [5] shows this to be the case.

k−1(J) − µn such that P refines P′and Lµ

P(Jk) is incomplete with respect

Page 6

6PETER KEEVASH AND RICHARD MYCROFT

3. Outline of the proof

V1

V2

V3

V4

?

X2

?

X1

X1

1

X1

2

X1

3

X1

4

X2

1

X2

2

X2

3

X2

4

p1= 2

p2= 1

Figure 2. A row-decomposition of a 4-partite graph G into 2 rows.

In this section we outline the proof of Theorem 1.1. For ease of explanation we restrict to

the case when G is an r-partite graph whose vertex classes each have size kn and δ∗(G) ≥

(k − 1)n. Our strategy consists of the following three steps:

(i) Impose a row structure on G.

(ii) Find balanced perfect clique-packings in each row.

(iii) Glue together the row clique-packings to form a Kk-packing of G.

For step (i) we partition V (G) into blocks Xi

into s blocks X1

j. This partition is best thought of as a s × r grid, with rows

Xi:=?

which satisfies these conditions an s-row-decomposition of G. We also require that G has

density close to 1 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 1-row-decomposition of G with a single row (so the

blocks are the vertex classes Vj). If it is possible to split this row into two rows to obtain

a row-decomposition with minimum diagonal density at least 1 − d (where d will be small),

then we say that G is d-splittable. If so, we partition G in this manner, and then examine in

turn whether either of the two rows obtained is splittable (for some larger value of d). By

repeating this process, we obtain a row-decomposition of G 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 Kpi-packing in each row Xi. We first use the

results of Section 2 to obtain a near-balanced perfect Kpi-packing in G[Xi]. Fix i and take

J to be the clique pi-complex of G[Xi]. So we regard the row Xias an r-partite vertex set

whose parts are the blocks Xi

j ≤ pi. The assumption δ∗(G) ≥ (k − 1)n implies that

δ∗(J) ≥ (pin,(pi− 1)n,(pi− 2)n,...,n).

Then Theorem 2.3 (with piplaying the role of k) implies that Jpicontains a near-balanced

perfect matching, unless Jpiis close to a space or divisibility barrier. In Section 4 we consider

j, so that each vertex class Vjis partitioned

j,...,Xs

jand columns the vertex classes Vj=?

j∈[r]Xi

i∈[s]Xi

j. We insist that all the blocks

i∈[s]pi= k. We call a partition of V (G) in a given row Xihave equal size pin, where?

1,...,Xi

r, and the edges of Jj are the j-cliques in G[Xi] for

Page 7

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM7

a space barrier, showing in Lemma 4.2 that since G[Xi] is not d-splittable, Jpicannot be

close to a space barrier. We then consider a divisibility barrier in Section 5. For pi≥ 3,

Lemma 5.3 shows that since G[Xi] is not d-splittable, Jpialso cannot be close to a divisibility

barrier. However, the analogous statement for pi= 2 is false, for the following reason.

We say that G[Xi] is ‘pair-complete’ if it has a structure close to that which appears in

rows V1and V2of Construction 1.2. That is, there is a partition of Xiinto ‘halves’ S

and Xi\ S, such that each vertex class Vj is partitioned into two equal parts, and both

G[S] and G[Xi\ S] are almost complete r-partite graphs. Such a row is not d-splittable if

r is odd, but J2is close to a divisibility barrier. However, Lemma 5.2 shows that this is

essentially the only such example, that is, that if pi= 2 and G[Xi] is neither d-splittable

nor pair-complete then J2is not close to a divisibility barrier. So unless pi= 2 and G[Xi] is

pair-complete, Theorem 2.3 implies that Jpicontains a near-balanced perfect Kpi-packing.

In Section 6 we then show that we can actually obtain a balanced perfect matching in Jpi.

Indeed, in Lemma 6.2 we first delete some ‘configurations’ from G[Xi]; these are subgraphs

of G[Xi] that can be expressed as two disjoint copies of Kpiin G[Xi] in two different ways

(with different index sets). After these deletions we proceed as just described to find a near-

balanced perfect Kpi-packing in G[Xi]. Then by carefully choosing which pair of disjoint

edges to add to the matching from each ‘configuration’, we obtain a balanced perfect Kpi-

packing in G[Xi], as required. This leaves only the case where pi= 2 and G[Xi] is pair-

complete; in this case Lemma 6.4 gives a balanced perfect K2-packing in G[Xi], 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 Kpi-packings in the rows into a perfect Kk-packing of

G. Recall that the row-decomposition of G was chosen to have large minimum diagonal

density, so almost every vertex of any block Xi

in a different row and column. Assume for now that this row-decomposition of G has the

stronger condition of large minimum diagonal degree, i.e. that we can delete ‘almost’ from

the previous statement. For each row i, we partition its perfect Kpi-packing into sets Eσ,i,

one for each injective function σ : [k] → [r]. For each σ we then form an auxiliary s-partite

s-graph Hσ, where for each i ∈ [s] the i-th vertex class of Hσ is the set Eσ,i (so a copy

of Kpiin G[Xi] is a vertex of Hσ). Edges in Hσ are those s-tuples of vertices for which

the corresponding copies of Kpitogether form a copy of Kkin G. 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 G ensures that each Hσhas sufficiently large vertex degree to guarantee

a perfect matching. Taking the copies of Kk in G corresponding to the union of these

matchings gives a perfect Kk-packing in G, completing the proof.

The above sketch glosses over the use of the precise minimum degree condition in The-

orem 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

non-neighbours in some block in a different row and column. To achieve this, before step

(ii) we delete some vertex-disjoint copies of Kkfrom G which cover all bad vertices. We

must ensure that the number of vertices deleted from row Xiis a constant multiple of pifor

each i, so that we will be able to join together the Kpi-packings of the undeleted vertices

of each Xito form a Kk-packing of G. We also need to ensure that each half has even size

in pair-complete rows. This is accomplished in Section 7, which is the most lengthy and

jhas few non-neighbours in any block Xi′

j′

Page 8

8PETER KEEVASH AND RICHARD MYCROFT

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 row-decompositions and the iterative process

of splitting rows described in Section 3. We then show that the clique p-complex of any row

obtained at the end of this process is not close to a space barrier.

4.1. Row-decompositions. Fix r ≥ 2, and let G be an r-partite graph on vertex classes

V1,...,Vreach of size kn. Suppose s ∈ [k] and pi, i ∈ [s] are positive integers with?

consists of subsets Xi

j| = pin for each i ∈ [s] and j ∈ [r] such that each Vjis

partitioned by the sets Xi

Xi:= Xi

j ∈ [r] the columns, so G has s rows and r columns. Given subsets A,B of different vertex

classes of G, let G[A,B] denote the bipartite subgraph of G induced by A ∪ B. We write

eG(A,B) = |G[A,B]| and define the density of G between A and B as dG(A,B) =eG(A,B)

We usually write e(A,B) = eG(A,B) and d(A,B) = dG(A,B), as G is clear from the context.

The minimum diagonal density of G is defined to be the minimum of d(Xi

i ?= i′and j ?= j′. If G has only one row then for convenience we define the minimum

diagonal density of G to be 1. Note that all this terminology depends on the choice of

row-decomposition of G, but this will be clear from the context.

For any i ∈ [s] with pi≥ 2 we may obtain an (s+1)-row-decomposition of G by partitioning

the row Xiof G. Indeed, choose positive integers y and z with y + z = pi. For each j ∈ [r]

partition Xi

p′

for each ℓ ∈ [s] \ {i}. Then the blocksˆ Xℓ

p′= (p′

ℓ: ℓ ∈ [s + 1]).

Bearing in mind the proof strategy sketched above, we are happy to split rows provided

that we keep the minimum diagonal density close to 1. Thus we make the following definition.

Let G be an r-partite graph on vertex classes V1,...,Vr each of size pn. We say G is d-

splittable if for some p′∈ [p − 1] we may choose sets Si⊆ Vi, i ∈ [r] with |Si| = p′n, such

that for any i,i′∈ [r] with i ?= i′we have d(Si,Vi′ \ Si′) ≥ 1 − d. It is helpful to think of

G as being a row-decomposition with just one row; then G is d-splittable if it is possible to

partition this row into two rows as described above so that the minimum diagonal density

is at least 1 − d. Note that this definition depends on p, however this will always be clear

from the context. Note also that G can never be d-splittable if p = 1. The next proposition

shows that we can iteratively split G until we reach a row-decomposition which has high

minimum diagonal density and does not have any splittable row.

i∈[s]pi=

k. Write p = (pi: i ∈ [s]). An s-row-decomposition X = (Xi

j⊆ Vjwith |Xi

jwith i ∈ [s]. We refer to the sets Xi

1∪ ··· ∪ Xi

j)i∈[s],j∈[r]of G (of type p),

jas the blocks, and the sets

j∪ ··· ∪ Xs

rfor i ∈ [s] as the rows. We call the parts Xj:= Vj= X1

jfor

|A||B|.

j,Xi′

j′) over all

jinto sets Yi

jand Zi

jwith |Yi

j| = yn and |Zi

j| = zn. Take p′

j:= Yi

i:= y, p′

:= Zi

s+1:= z and

jandˆ Xℓ

ℓ:= pℓfor each ℓ ∈ [s] \ {i}, and for each j ∈ [r] letˆ Xi

j,ˆ Xs+1

j

j:= Xℓ

j

jform an (s + 1)-row-decomposition of G of type

Proposition 4.1. Suppose that 1/n ≪ d0 ≪ ··· ≪ dk ≪ 1/r and r ≥ 2. Let G be a

r-partite graph on vertex classes V1,...,Vr each of size kn. Then for some s ∈ [k] there

exists an s-row-decomposition X of G with minimum diagonal density at least 1 − k2ds−1

such that each row G[Xi] of G is not ds-splittable.

Page 9

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM9

Proof. Initially we take the trivial 1-row-decomposition of G with one row whose blocks

are the vertex classes V1,...,Vrof G. We now repeat the following step. Given an s-row-

decomposition of G, if every row G[Xi] is not ds-splittable, then terminate. Alternatively, if

G[Xi] is ds-splittable for some i ∈ [s], according to some sets Sj⊆ Xi

each block Xi

j\ Sjto obtain an (s + 1)-row-decomposition of G.

Since G[Xi] can only be ds-splittable if pi≥ 2, this process must terminate with s ≤ k.

Then we have an s-row-decomposition of G all of whose rows are not ds-splittable, so it

remains only to show that G has minimum diagonal density at least 1 − ds−1. If s = 1

then this is true by definition, so we may assume s ≥ 2. Consider any rows i ?= i′and

columns j ?= j′. Since Xi

process we must have partitioned blocks Yℓ

Xi

we have d(Sj,Yℓ

d(Xi

j, j ∈ [r], then partition

jinto two blocks Sjand Xi

jand Xi′

j′ do not lie in the same row of G, at some point in the

jand Yℓ

j′ \ Sj′ respectively. Since G[Yℓ] was dt-splittable for some t ≤ s − 1,

j′ \ Sj′) ≥ 1 − ds−1. Then, since |Xi

j′) ≥ 1 − k2ds−1, as required.

j′ into Sj, Yℓ

j\ Sjand Sj′, Yℓ

j′ \ Sj′ with

j⊆ Sjand Xi′

j′ ⊆ Yℓ

j| ≥ |Sj|/k and |Xi′

j′| ≥ |Yℓ

j′|/k, we have

j,Xi′

?

4.2. Avoiding space barriers. Let G be an r-partite graph whose vertex classes have

size pn with δ∗(G) ≥ (p − 1)n − αn, and let J = J(G) be the clique p-complex of G. In

this section we show that if G is not d-splittable then there is no space barrier to a perfect

matching in Jp. 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 p < r then G contains

many copies of Kp+1; this result will play an important role in the proof of Lemma 7.2.

Lemma 4.2. Suppose that 1/n ≪ α ≪ β ≪ d ≪ 1/r and 2 ≤ p ≤ r. Let G be an r-partite

graph on vertex classes V1,...,Vreach of size pn with δ∗(G) ≥ (p − 1)n − αn. Suppose that

G is not d-splittable. Then

(i) for any p′∈ [p − 1] and sets Si⊆ Vi, i ∈ [r] of size p′n there are at least βnpcopies of

Kpin G with more than p′vertices in G[S], where S =?

Proof. For (i), since G is not d-splittable, we may suppose that d(S1,Vp′+1\Sp′+1) < 1−d.

Let A be the set of vertices in S1with fewer than (1−d/2)(p−p′)n neighbours in Vp′+1\Sp′+1.

Write |A| = ap′n. Then (1−d/2)(1 −a) < d(S1,Vp′+1\Sp′+1) < 1−d, so a > d/2. We now

greedily form a copy of Kp′+1in G[S] by choosing a vertex vi∈ Sifor each i ∈ [p′+1] in turn

(in increasing order). We do this so that v1∈ A and vi∈ N(vj) for any j < i. There are

|A| ≥ dn/2 suitable choices for v1. For each i ∈ {2,...,p′} we have chosen i−1 vertices prior

to choosing vi, so there are at least |Si|−(i−1)(pn−δ∗(G)) ≥ p′n−(p′−1)(n+αn) ≥ (1−pα)n

suitable choices for vi. Finally, since v1∈ A has at least (p−p′)nd/2 ≥ nd/2 non-neighbours

in Vp′+1\ Sp′+1, and at most |Vp′+1| − δ∗(G) ≤ n + αn non-neighbours in Vp′+1in total,

it has fewer than (1 − d/2 + α)n ≤ (1 − d/3)n non-neighbours in Sp′+1. This means that

there are at least |Sp′+1| − (1 − d/3)n − (p′− 1)(pn − δ∗(G)) ≥ dn/4 suitable choices for

vp′+1. Together we conclude that there are at least (dn/4)(dn/2)((1 − pα)n)p′−1≥ 2βnp′+1

copies of Kp′+1in G[S]. Each such copy can be extended to a copy of Kpin G with more

than p′vertices in S by choosing vi∈ Vifor each p′+ 2 ≤ i ≤ p in turn, so that each vi

chosen is a neighbour of every vj with j ≤ i. For each p′+ 2 ≤ i ≤ p there are at least

pn − (i − 1)(pn − δ∗(G)) ≥ pn − (p − 1)(n + αn) ≥ (1 − pα)n suitable choices for vi, so we

obtain at least 2βnp′+1((1 − pα)n)p−p′−1≥ βnpsuch copies of Kp.

i∈[r]Si, and

(ii) if p < r then there are at least βnp+1copies of Kp+1in G.

Page 10

10PETER KEEVASH AND RICHARD MYCROFT

For (ii), introduce new constants with β ≪ γ ≪ β′≪ d1≪ d2≪ d, and suppose for

a contradiction that there are fewer than βnp+1copies of Kp+1 in G. Say that a vertex

x ∈ V (G) is bad if it lies in at least√βnpcopies of Kp+1 in G, and let X be the set

of all bad vertices. Then√βnp|X| ≤ rβnp+1, so |X| ≤ r√βn. We now show that for

any i ∈ [r], any vertex v ∈ Vi\ X has at most (p − 1)n + γn neighbours in Vj for any

j ?= i. Without loss of generality we consider the case i = 1, i.e. v ∈ V1\ X. Suppose

for a contradiction that |N(v) ∩ Vj| > (p − 1)n + γn for some j, say j = p + 1. Then

we may greedily form a copy of Kp+1 in G containing v by choosing x2,...,xp+1 with

xi ∈ Vi for each i so that each xi is a neighbour of v,x2,...,xi−1.

pn−(i−1)(pn−δ∗(G)) ≥ (p−i+1)n−(i−1)αn ≥ n/2 choices for each xiwith i ∈ {2,...,p},

and at least |N(v) ∩ Vp+1| − (p − 1)(pn − δ∗(G)) ≥ (p − 1)n + γn − (p − 1)(n + αn) ≥ γn/2

choices for xp+1. Thus there are at least γnp/2p≥√βnpcopies of Kp+1in G containing v,

a contradiction to v / ∈ X.

Now we fix some v ∈ V1\ X and use the neighbourhood of v to impose structure on the

rest of the graph. We choose a set Sj⊆ Vjof size (p−1)n which contains or is contained in

N(v)∩Vjfor each j ≥ 2. If d(Si,Vj\Sj) < 1−d1for some i,j ≥ 2 with i ?= j, then as in part

(i) we can find at least 2β′npcopies of Kpin?

d(Si,Vj\ Sj) ≥ 1 − d1for any i,j ≥ 2 with i ?= j. We now partition V1into sets A,B,C as

follows. Let A consist of all vertices u ∈ V1with |N(u)∩(Vj\Sj)| ≤ d2n for every 2 ≤ j ≤ r.

Let B consist of all vertices u ∈ V1with |N(u) ∩ (Vj\ Sj)| ≥ (1 − d2)n for every 2 ≤ j ≤ r.

Let C = V1\(A∪B) consist of all remaining vertices of V1. Next we bound the sizes of each

of these sets. By definition of A we have e(A,V2\S2) ≤ d2n|A|, so some vertex in V2\S2has

at most d2|A| neighbours in A. So pn−|A|+d2|A| ≥ δ∗(G) ≥ (p−1)n−αn, from which we

obtain |A| ≤ (1+2d2)n. Next note that by definition of B we have e(B,V2\S2) ≥ (1−d2)n|B|.

So at least n/2 vertices of V2\S2have at least (1−2d2)|B| neighbours in B. At least one of

these vertices is not bad, so by our earlier observation has at most (p−1)n+γn neighbours

in V1. Then (1 − 2d2)|B| ≤ (p − 1)n + γn, so |B| ≤ (1 + 3d2)(p − 1)n.

To bound |C| we show that C ⊆ X. Consider any vertex w ∈ C. Without loss of

generality |N(w)∩(Vp+1\Sp+1)| > d2n and |N(w)∩(Vp\Sp)| < (1−d2)n. Choose greedily

a vertex xj∈ Sjfor each 2 ≤ j ≤ p so that xjis a neighbour of w,x1,...,xj−1and satisfies

|N(xj) ∩ (Vp+1\ Sp+1)| ≥ (1 −√d1)n. To see that this is possible for each 2 ≤ j ≤ p,

note that since d(Sj,Vp+1\ Sp+1) ≥ 1 − d1, at most (p − 1)√d1n vertices xj∈ Sjfail the

latter condition. Note also that at most (p − 1)n − |Sj\ N(w)| −?

For j < p this gives at least n/2 suitable choices for xj. On the other hand, for j = p we

have |N(w) ∩ (Vp\ Sp)| < (1 − d2)n, which implies that |Sj\ N(w)| ≤ n − d2n + αn, so we

have at least d2n/2 suitable choices for xj. So we may form at least d2(n/2)p−1copies of Kp

containing w in this manner. By construction, each xjin any such copy has at most√d1n

non-neighbours in Vp+1\ Sp+1. Since w has at least d2n neighbours in Vp+1\ Sp+1, we find

a total of at least (d2n − p√d1n)d2(n/2)p−1≥√βnpcopies of Kp+1in G containing w, so

w ∈ X. We deduce that C ⊆ X, so |C| ≤ |X| ≤ r√βn.

We therefore have |B| ≥ pn−|A|−|C| ≥ (p−1)n−3d2n, so |B| = (1±3d2)(p−1)n. Let S1

be a set of size (p−1)n which either contains or is contained in B. Then for any 2 ≤ j ≤ r we

have e(S1,Vj\Sj) ≥ min{|B|,|S1|}(1−d2)n ≥ (1−4d2)(p−1)n2, so d(S1,Vj\Sj) ≥ 1−4d2.

Also, at most 4d2(p − 1)n vertices of V1\ S1lie in B ∪ C, so for any 2 ≤ j ≤ r we have

We have at least

i≥2Si. At least β′npof these are contained

in N(v), and so form copies of Kp+1with v, another contradiction. So we may suppose that

2≤i<j|Sj\ N(i)| ≤

(p − 1)n − |Sj\ N(w)| − (j − 2)(n + αn) vertices xj∈ Sjfail the neighbourhood condition.

Page 11

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM11

e(V1\S1,Vj\Sj) ≤ d2n2+4d2(p−1)n2≤ 4pd2n2. But e(V1\S1,Vj) ≥ δ∗(G)n ≥ (p−1−α)n2,

so we obtain e(V1\S1,Sj) ≥ (p−1−α)n2−4pd2n2, and so d(V1\S1,Sj) ≥ 1−9d2. Recall

also that d(Si,Vj\ Sj) ≥ 1 − d1for any i,j ≥ 2 with i ?= j. Since d1,d2≪ d we conclude

that G is d-splittable with respect to the sets Sjfor j ∈ [r]. This is a contradiction, so (ii)

holds.

?

5. Avoiding divisibility barriers.

Let G be an r-partite graph with vertex classes of size pn such that δ∗(G) ≥ (p−1)n−αn,

and let J = J(G) be the clique p-complex of G. In the previous section we saw that if G

is not d-splittable (for small d), then there is no space barrier to a perfect matching in Jp.

In this section we instead consider divisibility barriers. Indeed, we shall see in the second

subsection that if p ≥ 3 and G is not d-splittable, then Jpcannot be close to a divisibility

barrier. However, for p = 2 there is another possibility, namely that G has the structure of

V1∪ V2in Construction 1.2. There we described both V1and V2as rows, but with the

terminology of the previous section they should be considered as a single row. We consider

this case in the first subsection. Note that here we have Jp= J2= G.

5.1. Pair-complete rows. Let G be an r-partite graph with vertex classes V1,...,Vreach

of size 2n. We say that G is d-pair-complete (with respect to S =?

and d(Si,Vj\ Sj) ≤ d for any i,j ∈ [r] with i ?= j. That is, G consists of two halves S

and V \ S, where each half is an almost-complete r-partite graph, and there are few edges

between halves. We will show that if G is close to a divisibility barrier, then G is either

d-splittable or d-pair-complete. For this we need the following proposition.

j∈[r]Sj) if there exist

sets Sj⊆ Vj, j ∈ [r] each of size n such that d(Si,Sj) ≥ 1 − d, d(Vi\ Si,Vj\ Sj) ≥ 1 − d

Proposition 5.1. Let r ≥ 2 and H be an r-partite graph whose parts V1,...,Vreach have

size 2. Suppose that δ∗(H) ≥ 1, and for any A ⊆ V such that |A ∩ Vj| = 1 for every j ∈ [r]

there is

(i) an edge ab with a,b ∈ A or a,b / ∈ A, and

(ii) an edge ab with a ∈ A and b / ∈ A.

Then for some Vj= {x,y} we have χ({x}) − χ({y}) ∈ ?{χ(e) : e ∈ H}?.

Proof. It is sufficient to find a path of even length between the two vertices of some vertex

class Vj. For suppose e1,...,e2mare the edges of such a path, starting at x and ending at

y, for some Vj= {x,y}. Then χ({x}) − χ({y}) =?

any vertex v ∈ Vimust have precisely one neighbour in Vj. Indeed, v must have at least one

neighbour in Vjsince δ∗(H) ≥ 1, but cannot have two since then we obtain a path of length

two between these two neighbours in Vj. So for any i ?= j the graph H[Vi,Vj] consists of two

disjoint edges. Write V1= {x1,y1}, and for each 2 ≤ i ≤ r let xi∈ Vibe adjacent to xi−1

and yi∈ Vibe adjacent to yi−1. There are then two possibilities for H[Vr,V1].

The first case is that xris adjacent to x1and yrto y1. By property (ii) of A = {x1,...,xr},

there must be some edge xiyj. Fix such an i and j, and consider the paths x1...xiyj...y1

and x1...xiyj...yry1between x1and y1. They have lengths i + j − 1 and i + r − j + 1,

which must both be odd, so i+j and r are both even. This argument shows that i′+j′must

be even for any edge xi′yj′. So by property (i) of A = {xi′ : i′even} ∪ {yi′ : i′odd} there

j∈[m](χ(e2j−1) − χ(e2j)), as required.

Suppose for a contradiction that there is no such path. Then for any i,j ∈ [r] with i ?= j,

Page 12

12PETER KEEVASH AND RICHARD MYCROFT

must be an edge xi′xj′ or yi′yj′ such that i′+ j′is even. Without loss of generality we may

assume the former, and that j′?= i. If i′= i then xj′xiyjyj+1...yj′ is a path whose length

is congruent to j′− j + 2 ≡ j′+ i′− j − i + 2 ≡ 0 modulo 2, giving a contradiction. On the

other hand, if i′?= i then let P be a path from xj′ to xinot containing xi′ (this must exist

since xi,xi′ and xj′ all lie on the cycle x1x2...xrx1). Then xi′xj′Pxiyjyj+1...yi′ is a path

whose length is congruent to i − j′+ i′− j + 2 ≡ 0 modulo 2, again giving a contradiction.

The second case is that xris adjacent to y1and yrto x1. Then x1...xry1must have odd

length, so r is odd. By property (i) of A = {xi: i even} ∪ {yi: i odd} we must have either

an edge xiyjwith i+j odd, or an edge xixjwith i+j even, or an edge yiyjwith i+j even.

In the first case x1...xiyj...y1is a path of even length i + j − 1. On the other hand, for

the second case we may assume that i < j, whereupon x1...xixj...xry1is a path of even

length r −j +i+1, and the third case is similar. Thus we have a contradiction in all cases,

so the required path exists.

?

Now we can deduce the required structure for divisibility barriers in G when p = 2.

Lemma 5.2. Suppose that 1/n ≪ µ,α ≪ d ≪ 1/r and r ≥ 2. Let P′partition a set V into

parts V1,...,Vreach of size 2n. Suppose G is a P′-partite graph with δ∗(G) ≥ n − αn, and

that there exists a partition P refining P′into parts each of size at least n − µn such that

Lµ

P(G) is incomplete with respect to P′. Then G is d-splittable or d-pair-complete.

Proof. We can assume that Lµ

contain any difference of basis vectors ui−uj, for some i ?= j that index subparts of the same

part of P′. Thus for any i,j ∈ [r] with i ?= j, distinct parts A, B of P contained in Vi, and

part C of P contained in Vj, we cannot have both e(A,C) ≥ µ(2rn)2and e(B,C) ≥ µ(2rn)2.

Since all parts of P have size at least n−µn, each part of P′is partitioned into at most two

parts of P. We can assume that P is a strict refinement of P′, so without loss of generality

P partitions V1 into two parts V1

Vj that is not partitioned into two parts by P. For otherwise, letting A = V1

and C = Vj, we have e(A,C) ≥ |A|δ∗(G) ≥ µ(2rn)2and e(B,C) ≥ |B|δ∗(G) ≥ µ(2rn)2,

which contradicts minimality, as described above. Thus each Vjis partitioned into two parts

V1

jby P. Form an auxiliary graph H on 2r vertices, where for each i ∈ {1,2}

and j ∈ [r] we have a vertex xi

edge xi

P has size at least n − µn, we have δ∗(H) ≥ 1. Also, minimality of Lµ

χ({x1

Applying Proposition 5.1, there exists some A ⊆ V (H) with |A ∩ {x1

j ∈ [r] such that either

(i) H contains no edges ab with a,b ∈ A or a,b / ∈ A, or

(ii) H contains no edges ab with a ∈ A and b / ∈ A.

For each j ∈ [r] let S′

a set of size n that contains or is contained by S′

e(Sj,Vj′) ≥ nδ∗(G) ≥ (1 − α)n2, and similarly e(Vj\ Sj,Vj′) ≥ (1 − α)n2. In case (i), for

any j ?= j′we have e(S′

and so G[Sj,Vj′ \ Sj′] has density at least 1 − d. Since j and j′were arbitrary, we may

conclude that G is d-splittable. On the other hand, in case (ii), for any j ?= j′we have

P(G) is minimal. Recall that this means that Lµ

P(G) does not

1and V2

1. Next we note that there cannot be any part

1, B = V2

1

jand V2

jof H corresponding to the part Vi

j,Vi′

jof P, and we have an

jxi′

j′ if and only if e(Vi

j′) ≥ µ(2rn)2. Since δ∗(G) ≥ n − αn and each part of

P(G) means that

j}) − χ({x2

j}) / ∈ ?{χ(e) : e ∈ H}? for all j ∈ [r].

j,x2

j}| = 1 for each

j= V1

jif x1

j∈ A, and V2

jotherwise. For j ∈ [r], let Sj ⊆ Vj be

j. Note that for any j ?= j′, we have

j,S′

j′) ≤ µ(2rn)2. This implies e(Sj,Vj′ \ Sj′) ≥ (1 − α − 8r2µ)n2,

Page 13

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM13

e(S′

has density at least 1 − d. Similarly, G[Vj\ Sj,Vj′ \ Sj′] has density at least 1 − d, and

G[Sj,Vj′ \ Sj′] has density at most d for any j ?= j′, so G is d-pair-complete.

j,Vj′ \ S′

j′) ≤ µ(2rn)2. This implies e(Sj,Sj′) ≥ (1 − α − 8r2µ)n2, and so G[Sj,Sj′]

?

5.2. Avoiding divisibility barriers for p > 2. We next show that for p > 2, if G is not

d-splittable then Jpis not close to a divisibility barrier.

Lemma 5.3. Suppose that 1/n ≪ µ,α ≪ d ≪ 1/r and 3 ≤ p ≤ r. Let P′partition a

set V into vertex classes V1,...,Vr each of size pn. Suppose G is a P′-partite graph with

δ∗(G) ≥ (p − 1)n − αn and let J = J(G) be the clique p-complex of G. Suppose P is a

partition refining P′into parts each of size at least n − µn such that Lµ

with respect to P′. Then G is d-splittable.

Proof. We introduce new constants with µ,α ≪ µ′≪ c ≪ γ ≪ γ′≪ γ′′≪ d. We can

assume that P is a strict refinement of P′, so without loss of generality P partitions V1into

parts Vi

1, i ∈ [m] with 2 ≤ m ≤ p. As in the proof of Lemma 5.2, we can also assume

that Lµ

P(Jp) is minimal, in that it does not contain any difference of basis vectors ui− uj,

for some i ?= j that index subparts of the same part of P′. Thus for any p vertex classes

Vi1,...,Vip, distinct parts Ui1, U′

it cannot be that?p

typical behaviour of neighbourhoods and certain pairwise intersections of neighbourhoods.

Note that the bound in (c) is close to the lower bound on δ∗(G), so it says that G is mostly

approximately regular from the point of view of V1.

P(Jp) is incomplete

i1of P contained in Vi1, and parts Uij⊆ Vijfor 2 ≤ j ≤ p,

j=1Uijand U′

of Jp(i.e. copies of Kp). We use this to deduce the following properties, which control the

1∪?p

j=2Uijboth have at least µ|V (G)|p= µ(rpn)pedges

Claim 5.4.

(a) There are at most µ′n2pairs (x,y) such that x ∈ Vi

N(y)| ≥ (p − 2)n + µ′n for some i ∈ [m] and j ∈ [r].

(b) There are at most µ′n3triples (x,y,z) with x ∈ Vi

some i ∈ [m] and j ∈ [r] such that xz,yz ∈ G and |Vj∩N(x)∩N(z)| ≥ (p−2)n+µ′n.

(c) For any 2 ≤ j ≤ r there are at most 2µ′n vertices x ∈ V1such that |N(x) ∩ Vj| ≥

(p − 1)n + 2µ′n.

For (a), suppose for a contradiction that there are more than µ′n2such pairs. Without

loss of generality there are at least µ′n2/rp2pairs (x,y) with x ∈ V1

|Vp∩ N(x) ∩ N(y)| ≥ (p − 2)n + µ′n. For each such pair, we consider greedily choosing

wj∈ Vj, 2 ≤ j ≤ p such that xw2...wpand yw2...wpare copies of Kp. The number of

choices for wjis Nj≥ |Vj∩ N(x) ∩ N(y)| −?j−1

2)(pn − δ∗(G)) ≥ µ′n − (p − 2)αn ≥ µ′n/2. Considering all such pairs (x,y), we obtain at

least (µ′)2np+1/2p−1rp2such (p+1)-tuples (x,y,w2,...,wp). There are at most pr+1possible

indices for such a (p+1)-tuple, so we may choose µ(rpn)p+1such (p+1)-tuples which all have

the same index; let (x,y,w2,...,wp) be a representative of this collection. Then there must

be at least µ(rpn)pedges of Jpwith index i({x,w2,...,wp}), and at least µ(rpn)pedges of

Jpwith index i({y,w2,...,wp}). But this contradicts minimality of Lµ

argument applies for (b). Indeed, suppose for a contradiction that there are more than µ′n3

such triples. Say there are at least µ′n3/r2p2triples (x,y,z) with x ∈ V1

such that xz,yz ∈ G and |Vp∩N(x)∩N(z)| ≥ (p−2)n+µ′n. For each such triple we consider

1, y ∈ V1\ Vi

1and |Vj∩ N(x) ∩

1, y ∈ V1\ Vi

1and z ∈ V \ V1for

1and y ∈ V2

1such that

i=2|Vj\ N(wi)|. For 2 ≤ j ≤ p − 1, we have

Nj≥ pn − (p − 1)(pn − δ∗(G)) ≥ (1 − (p − 1)α)n > n/2. Also, Np≥ (p − 2)n + µ′n − (p −

P(Jp). A very similar

1, y ∈ V2

1, z ∈ V2

Page 14

14 PETER KEEVASH AND RICHARD MYCROFT

greedily choosing wj∈ Vj, 3 ≤ j ≤ p such that xzw3...wpand yzw3...wpare copies of Kp.

The number of choices for wjis Nj≥ |Vj∩N(x)∩N(z)|−?j−1

there are at least 2µ′n such vertices x. For each such x, and each choice of y ∈ V1in a different

part of P to x, we have |Vj∩ N(x) ∩ N(y)| ≥ |N(x) ∩ Vj| − (pn − δ∗(G)) ≥ (p − 2)n + µ′n.

There are at least n − µn choices of y for each x, so this contradicts (a). Thus we have

proved Claim 5.4.

Now for each i ∈ [m] and 2 ≤ j ≤ r let Xi

most |Vi

intuition is that Xi

jshould approximate the jth part of the ith row. We show the following

properties that agree with this intuition: the size of Xi

diagonal densities are close to 1.

i=3|Vj\N(wi)|−|Vj\N(y)|. Thus

the same calculation as in (a) gives a contradiction. For (c), suppose for a contradiction that

jconsist of all vertices of Vj which have at

1. Bearing in mind the row structure we are aiming for, the

1| − γn neighbours in Vi

jis roughly correct, and the intended

Claim 5.5.

(d) For any i ∈ [m] and 2 ≤ j ≤ r we have |Xi

(e) For any i,i′∈ [m] with i ?= i′and any 2 ≤ j ≤ r we have d(Vi

(f) For any 2 ≤ j ≤ r at most γn vertices v ∈ Vjlie in more than one of the sets Xi

Thus |Xi

?

For (d), note that e(Vi

Also,

e(Vi

≥ pn(|Vi

Therefore |Xi

contradiction that (e) is false, say that d(V1

with fewer than (1−c/2)|V1

d(V1

2) < 1 − c, so a ≥ c/2. Thus |A| ≥ cn/4 by (d). Each vertex in A has fewer than

|V1

X2

xy,xz / ∈ G. At least µ′n2pairs (x,y) therefore lie in at least 2µ′n such triples. For each of

these pairs we have |V2∩N(x)∩N(y)| ≥ pn−2(pn−δ∗(G))+2µ′n ≥ (p−2)n+µ′n. However,

this contradicts (a), so (e) holds. For (f), suppose for a contradiction that A := Xi

has size at least γn/p2, for some i,i′∈ [m] with i ?= i′. By definition, each vertex of A

has at most |Vi

1 − γ2/p4, contradicting (e). So |A| < γn/p2, and summing over all possible values of i

and i′we obtain the first statement of (f). This implies that?

i ∈ [m]. Also, (d) gives

Finally, suppose for a contradiction that (g) is false, say d(X1

loss of generality we have |V2

than (1 − d/4)|X1

j| ≥ |Vi

1| − γ′n > n/2.

1,Xi′

j) ≥ 1 − c.

j.

j| ≤ |Vi

j.

1| + pγ′n for any i ∈ [m], and all but 2pγ′n vertices of Vj lie in

i∈[m]Xi

(g) For any i,i′∈ [m] with i ?= i′and any 2 ≤ j < j′≤ r we have d(Xi

1,Vj) ≤ ((p−1)n+2µ′n)|Vi

j,Xi′

j′) ≥ 1 − d/2.

1| by (c).

1|+2µ′pn2≤ (p−1+5pµ′)n|Vi

1,Vj) ≥ |Xi

j|(|Vi

1| − (pn − δ∗(G))) + (pn − |Xi

1| − γn) − |Xi

1|n − pγn2, which gives (d). Next suppose for a

1,X2

1| neighbours in V1

j|)(|Vi

1| − γn)

j|(1 + α − γ)n.

j|(1 + α − γ)n ≥ (1 − 5pµ′)|Vi

2) < 1−c. Let A be the set of vertices in X2

1. Write |A| = a|X2

2

2|. Then (1−a)(1−c/2) ≤

1,X2

1|−cn/4 neighbours in V1

2. This gives at least (cn/4)2γn triples (x,y,z) with x ∈ V1

1, and also fewer than |V2

1|−γn neighbours in V2

1, y ∈ V2

1by definition of

1, and z ∈ X2

2such that

2∩ Xi′

2

1| − γn neighbours in |Vi

1|, so d(A,Vi

1) ≤ 1 − γ/p. But then d(Xi′

2,Vi

1) ≤

i∈[m]|Xi

j| ≤ |Vi

j| ≤ pn + mγn, so

1|+pγ′n for any

?

i∈[m](|Xi

j|−|Vi

1|) ≤ mγn. In combination with (d) this implies |Xi

????

2| neighbours in X1

i∈[m]Xi

j

??? ≥?

2. (We re-use A to avoid excessive notation.) Write

i∈[m](|Vi

1| − γ′n) − mγn ≥ pn − 2pγ′n, so (f) holds.

2,X2

1| ≤ pn/2. Let A be the set of vertices in X2

3) < 1 − d/2. Without

3with fewer

Page 15

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM 15

|A| = a|X2

by (d). Each vertex in A has fewer than |X1

|V2

triples (x,z,w) with x ∈ V2

by (e) we have d(V2

property that xz ∈ G. Let P be the set of pairs (x,z) with xz ∈ G, x ∈ V2

at least 2µ′n triples of T. Then |T|−c(pn)3≤ |P|pn+(pn)22µ′n, so |P| ≥ 3µ′n2, say. Since

|V2

vertices y such that y ∈ V1\ V2

p ≥ 3, so we had to deal with the case p = 2 separately in the previous subsection. There

are therefore more than µ′n3triples (x,y,z) with x ∈ V2

that xz,yz ∈ G and (x,z) ∈ P. However, for any (x,z) ∈ P we have |V3∩ N(x) ∩ N(z)| ≥

pn− 2(pn − δ∗(G)) +2µ′n ≥ (p − 2)n + µ′n, which contradicts (b). Thus (g) holds, proving

Claim 5.5.

3|. Then (1 − a)(1 − d/4) ≤ d(X1

2,X3

2|−dn/8 neighbours in X1

3. This gives a set T of at least (dn/8)2γn

2and w ∈ X2

2) ≥ 1 − c, all but at most c(pn)3triples in T have the additional

2) < 1 − d/2, so a ≥ d/4. Thus |A| ≥ dn/8

2, and also fewer than

1by definition of X2

1, z ∈ X1

1| − γn neighbours in V2

3such that xw,zw / ∈ G. Furthermore, since

1,X1

1, z ∈ X1

2that lie in

1| ≤ pn/2 and p ≥ 3, for each (x,z) ∈ P there are more than pn/2 − (pn − δ∗(G)) > n/3

1and yz ∈ G. Note that this is a key use of the assumption

1, y ∈ V1\ V2

1and z ∈ X1

2such

To complete the proof, we also need to show that the size of each part of V1is close to an

integer multiple of n. Since each part of V1has size at least n−µn, this will be true if V1has

a part of size close to (p−1)n. So for the final claim we assume that V1does not have such

a large part; in this case we extend (c) by showing that the bipartite graph induced by any

pair of vertex classes is mostly approximately regular. We then show that most vertices in

V1have sparse non-neighbourhoods, before finally deducing the required statement on the

sizes of the parts of V1.

Claim 5.6. Suppose V1does not have a part of size at least (p − 1)n − γn. Then

(h) For any j,j′∈ [r] there are at most cn vertices z ∈ Vj such that |N(z) ∩ Vj′| ≥

(p − 1)n + 2µ′n.

(j) For a set V′

and d(Vj\ N(x),Vj′ \ N(x)) ≤ γ for any 2 ≤ j,j′≤ r with j ?= j′.

(k) For each i there is an integer pisuch that |Vi

For (h), note that by our assumption on the part sizes of V1, any such z lies in at least

γ2n2/2 triples (x,y,z) such that xz,yz ∈ G and x and y lie in different parts of V1. Any such

triple is counted by (b), as |Vj′ ∩N(x)∩N(z)| ≥ |N(z)∩Vj′|−(pn−δ∗(G)) ≥ (p−2)n+µ′n,

so there can be at most cn such vertices z, as claimed. For (j) we introduce the following

notation: Nj(x) := N(x) ∩ Vj is the set of neighbours of x in Vj, and Nc

N(x) is the set of non-neighbours of x in Vj. Fix some j and j′, and suppose x ∈ V1is

such that d(Nc

d(Nj(x),Nc

by (h) we have e(Vj,Nc

v∈Nc

Also, e(Nc

1of all but at most γn vertices x ∈ V1we have |Vj\ N(x)| = n ± 2µ′n

1| = pin ± γ′′n.

j(x) := Vj\

j(x),Nc

j′(x)) as follows. Write e(Nj(x),Nc

j′(x)) =?

j′(x)) ≥ γ and |Nj(x)|,|Nj′(x)| ≤ (p − 1)n + 2µ′n. We can estimate

j′(x)) = e(Vj,Nc

j′(x)|N(v) ∩ Vj| ≤ ((p − 1)n + 2µ′n)|Nc

j′(x)) ≥ γ|Nc

e(Nj(x),Nc

j′(x))−e(Nc

j(x),Nc

j′(x)). Then

j′(x)| + cn · pn.

j(x),Nc

j(x)||Nc

j′(x)) ≤ (p − 1 + 2µ′− (1 − 2µ′)γ)n|Nc

j′(x)| ≥ γ(n − 2µ′n)|Nc

j′(x)| by choice of x. This gives

j′(x)| + cpn2.

j′(x)| ≥ n − 2µ′n by choice of x, we deduce

Since |Nj(x)| ≥ δ∗(G) ≥ (p − 1)n − αn, and |Nc

that d(Nj(x),Nc

(1 − γ/4)|Nc

d(Nj(x),Nc

j′(x)) ≤ 1 − γ/2. Let A be the set of vertices in Nj(x) with fewer than

j′(x)| neighbours in Nc

j′(x)) ≤ 1 − γ/2, so a ≥ γ/4, and |A| ≥ γn/4. For any z ∈ A we have |V′

j′(x). Write |A| = a|Nj(x)|. Then (1 − a)(1 − γ/4) ≤

j′ ∩

Page 16

16 PETER KEEVASH AND RICHARD MYCROFT

(N(x) ∪ N(z))| = |V′

j′| − |Nc

j′(x) ∩ Nc

j′(z)| ≥γ

4|Nc

j′(x)|, so

|Vj′ ∩ N(x) ∩ N(z)| ≥ |Nj′(x)| + |Nj′(z)| − |Vj′ ∩ (N(x) ∪ N(z))|

≥ 2δ∗(G) −

?

pn −γ

4· |Nc

j′(x)|

?

≥ (p − 2)n + µ′n.

Furthermore, since V1 does not have a part of size at least (p − 1)n − γn, there must

be at least γn/2 neighbours y of z which lie in a different part of V1 to x. There are

at least γn/4 choices for z ∈ A, so x lies in at least γ2n2/8 triples (x,y,z) counted in

(b). Thus there at most

and |Nj(x)|,|Nj′(x)| ≤ (p − 1)n + 2µ′n. Since by (c) at most 4µ′n vertices do not satisfy

the latter condition, summing over all j,j′∈ [r] gives (j). (Every vertex x ∈ V1satisfies

|Nj(x)| ≥ δ∗(x) ≥ (p − 1)n − αn.)

For (k), consider any x,y ∈ V′

We will show that either |Ixy

3√γn. Let B = Nc

e(Nc

√γ|B|. Then (1−√γ)|B| ≤ |B\N(z)| ≤ |V3\N(z)| ≤ n+αn. This gives |B| ≤ (1+2√γ)n,

so |Ixy

Ixy

23

Next we define a relation ∼ on V′

relation, since if |Ixy

Nc

Let C1

1be the equivalence classes of ∼, and arbitrarily choose a representative xiof

each equivalence class Ci

1.

Since each xi lies in V′

any two such sets intersect in at most 3√γn vertices, since the representatives xieach lie in

different equivalence classes. We cannot have t > p, as then (p+1)(n−2µ′n)−?p+1

any vertex in Ci

e(Ci

4γn|Ci

δ∗(G) ≥ (p − 1)n − αn, which implies |Ci

Ci

Now we show that any equivalence class Ci′

Vi

|Nc

such an i, and suppose for a contradiction that |C1

observed above that any v ∈ C1

least n/2p − 4γn ≥ n/3p vertices of Xi

|Vi′

at most pγn vertices of C1

1, and thus that all but at most pγn vertices of any

equivalence class lie in the same part of V1. So for any i,i′we have either |Vi

or |Vi

partition V′

1| ≤ γn by (j). This completes the proof of Claim 5.6.

µ′n3

γ2n2/8< γn/2r2such vertices x ∈ V1with d(Nc

j(x),Nc

j′(x)) ≥ γ

1as defined in (j), and let Ixy

2| ≤ 3√γn or |Ixy

3(y). By definition of V′

3(y)) ≤ 3γn|B| ≤√γ|Ixy

3| = |V3\N(x)|+|V3\N(y)|−|B| ≥ (1−3√γ)n. Now the same argument interchanging

and Ixy

shows that |Ixy

1by x ∼ y if |Ixy

2(z)| ≥ (1−3√γ)n−((n+αn)−(1−3√γ)n) > 3√γn, so |Ixy

1,...,Ct

j

= Nc

j(x)∩Nc

j(y) for j = 2,3.

2| ≥ (1 − 3√γ)n. For suppose that Ixy

1we have e(Ixy

2||B|, so there is a vertex z ∈ Ixy

2

>

3(x) ∪ Nc

2,B) ≤ e(Nc

2

2(x),Nc

3(x)) +

2(y),Nc

with |N(z) ∩ B| ≤

2| ≥ (1 − 3√γ)n, as required.

2| ≥ (1 − 3√γ)n and |Iyz

2| ≥ (1 − 3√γ)n. This is an equivalence

2| ≥ |Ixy

2| ≥ (1 − 3√γ)n, then |Ixz

2| − |Nc

2(y) \

2| ≥ (1−3√γ)n as just shown.

1, the sets Nc

2(xi) each have size n ± 2µ′n by (j). Furthermore,

2

?3√γn ≤

2(xi). So

????p+1

i=1Nc

2(xi)

??? ≤ |V2| ≤ pn is a contradiction, so we must have t ≤ p. Next, observe that

1|/(n − 2µ′n) ≤ 5γ|Ci

1| ≤ n + 6γn. Since the t ≤ p equivalence classes

1partition V′

1must be essentially contained in some part

1of V1; by symmetry it suffices to show that this is true of C1

2(x1)| ≥ n − 2µ′n, by (f) we must have |Nc

1has at most (n + 2µ′n) − (1 − 3γ)n ≤ 4γn neighbours in Nc

2(xi)) ≤ 4γn|Ci

1| neighbours in Ci

1,Nc

1|. By averaging, some vertex v ∈ Nc

2(xi) therefore has at most

1|) + 5γ|Ci

1. So (pn − |Ci

1| ≥ |N(v) ∩ V1| ≥

1, we deduce that t = p and |Ci

1| = n ± γ′n for any i ∈ [t].

1. So observe that since

2| ≥ n/2p for some i ∈ [m]. Fix

1∩ Vi′

2(x1), so there are at

2which are not neighbours of v. Then e(Vi′

1|n/3p < (1 − c)|Vi′

1lie in Vi

2(x1) ∩ Xi

1| ≥ γn for some i′?= i. We

1has at most 4γn neighbours in Nc

1,Xi

2) ≤

1||Xi

2| − |C1

1∩ Vi′

1||Xi

2|, contradicting (e). We conclude that all but

1∩ Ci′

1| ≤ pγn

1,...,Ct

1∩ Ci′

1| = |Ci′

1and |V1\ V′

1| ± pγn = n ± 2γ′n; (k) follows immediately since the classes C1

1

Page 17

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM17

To complete the proof of Lemma 5.3, note that there exist integers p1,...,pmsuch that

|Vi

since each part of P has size at least n − µn, we may assume that V1has two parts V1

V2

1with respective sizes (p−1)n±γn and n±γn. On the other hand, if V1has no such part

then the required integers piexist by (k). We partition V1into sets Ui

i ∈ [m] such that each Ui

least pin−γ′′n ≥ |Vi

each 2 ≤ j ≤ r we may partition Vjinto sets Ui

Ui

that d(Ui

any j ?= j′, so G is d-splittable.

1| = pin±γ′′n for each i ∈ [m]. Indeed, if V1has a part of size at least (p−1)n−γn, then

1and

1with |Ui

1. Then Ui

1| = pin for

1contains at

1either contains or is contained in some Vi

1|−2γ′′n vertices of Vi

1for any i ∈ [m]. Furthermore, by (d) and (f), for

jwith |Ui

j| − 2pγ′n ≥ pin − 2γ′′n vertices from Xi

j′) ≥ 1−d whenever i ?= i′and j ?= j′. In particular, d(U1

j| = pin for i ∈ [m] such that each

j. By (e) and (g) we deduce

j,Vj′ \U1

jcontains at least |Xi

j,Ui′

j′) ≥ 1−d for

?

Combining Lemmas 5.2 and 5.3, if G is neither d-splittable nor d-pair-complete (if p = 2)

then there is no divisibility barrier to a perfect matching in Jp. We saw in Lemma 4.2 that

there is also no space barrier to a perfect matching in Jp. So Theorem 2.3 implies that G

contains a near-balanced perfect matching. The following corollary formalises this argument.

Corollary 5.7. Suppose that 1/n ≪ γ ≪ α ≪ d ≪ 1/r and 2 ≤ p ≤ r. Let G be an r-partite

graph on vertex classes V1,...,Vreach of size pn with δ∗(G) ≥ (p − 1)n − αn. Suppose also

that G is neither d-splittable nor d-pair-complete. Let J = J(G) be the clique p-complex of

G. Then Jpcontains a γ-balanced perfect matching.

Proof. Introduce new constants with 1/n ≪ γ ≪ α ≪ µ,β ≪ d ≪ 1/r. As described in

Section 2, the condition δ∗(G) ≥ (p − 1)n − αn implies

δ∗(J) ≥ (pn,(p − 1)n − αn,(p − 1)n − 2αn,...,n − (p − 1)αn).

Suppose that Jphas no γ-balanced perfect matching. Then by Theorem 2.3 (with pn in

place of n and p in place of k) we deduce that there is either a space barrier or divisibility

barrier. Consider first a space barrier. This means that there exist p′∈ [p − 1] and S ⊆ V

with |S ∩ Vi| = p′n for each i ∈ [r] so that Jpis β-contained in Jr(S,p′)p, that is, all but

at most β(rpn)pedges of Jphave at most p′vertices in S. However, since G is d-splittable,

Lemma 4.2(i) (with 2β(rp)pin place of β) implies that more than β(rp)pnpcopies of Kp

in G have more than p′vertices in G[S]. Since each copy of Kpin G is an edge of Jp, there

cannot be a space barrier.

Now suppose that there is a divisibility barrier. This means that there is some partition

P of V (J) into parts of size at least δ∗

partition P′of V (G) into V1,...,Vr and Lµ

p ≥ 3 then Lemma 5.3 (with 2pµ in place of µ) implies that G is d-splittable, contradicting

our assumption. Similarly, if p = 2 then Lemma 5.2 (with 4µ in place of µ) implies that G

is d-splittable or d-pair-complete, again contradicting our assumption. We conclude that Jp

must contain a γ-balanced perfect matching.

p−1(J) − µpn ≥ n − 2pµn such that P refines the

P(Jp) is incomplete with respect to P′. But if

?

6. Finding packings within rows

Recall from the proof outline given in Section 3 that step (ii) in proving Theorem 1.1 is to

find a balanced perfect Kpi-packing in each row G[Xi]. In this section we demonstrate how

this may be achieved. We need to consider two cases. The first case is where G[Xi] is neither

Page 18

18PETER KEEVASH AND RICHARD MYCROFT

d-splittable nor d-pair-complete. Then Corollary 5.7 gives a γ-balanced perfect Kpi-packing

in G[Xi]. In Lemma 6.2 we show how such a matching can be ‘corrected’ to a balanced

perfect Kpi-packing in this case if pi≥ 3, and also if pi= 2 provided that G[Xi] contains

many 4-cycles of a given type. If pi = 2 and G[Xi] does not contain such 4-cycles then

it may not be possible to find a balanced perfect matching in G[Xi]. Proposition 6.5 will

allow us to handle this case by deleting further copies of Kkfrom G so that the remainder of

row i does contain a balanced perfect matching. The second case is where G[Xi] is d-pair-

complete. Then we prove Lemma 6.4, which shows that G[Xi] contains a perfect matching

provided a parity condition is satisfied. Both here and later we use the fact that, if we add

or remove a small number of vertices to or from each block Xi

neither d-splittable nor d-pair-complete, then the new row obtained is neither d′-splittable

nor d′-pair-complete for d′≪ d. This is established by the following proposition.

Proposition 6.1. Suppose that 1/n,1/n′≪ ζ ≪ d′≪ d ≪ 1/r and r ≥ p ≥ 1. Let G be

an r-partite graph on vertex classes V1,...,Vr, and for each j ∈ [r] let Xj,X′

that |Xj| = pn, |X′

then the following statements hold.

(i) If G[X] is not d-splittable then G[X′] is not d′-splittable.

(ii) If p = 2 and G[X] is not d-pair-complete then G[X′] is not d′-pair-complete.

Proof. Note that n′= (1 ± ζ)n. For (i), suppose for a contradiction that G[X′] is d′-

splittable.Then by definition we may choose p′∈ [p − 1] and subsets S′

|S′

each j ∈ [r] we choose Sj⊆ Xjsuch that |Sj| = p′n and Sjeither contains or is contained

in S′

for any j′?= j we have

e(Sj,Xj′ \ Sj′) ≥ e(S′

≥ (1 − d′)p′(p − p′)n′2− 4ζp2n2≥ (1 − d)p′(p − p′)n2.

Then G[X] is d-splittable with respect to the sets Sj, a contradiction, so this proves (i).

For (ii), suppose for a contradiction that G[X′] is d′-pair-complete. Then by definition we

may choose subsets S′

e(X′

choose Sjfor j ∈ [r] as in (i). Similar calculations as in (i) show that e(Sj,Sj′) ≥ (1 − d)n2

and e(Xj\ Sj,Xj′ \ Sj′) ≥ (1 − d)n2for any j′?= j. We deduce that

e(Sj,Xj′ \ Sj′) ≤ e(S′

≤ d′n′2+ 16ζn2≤ dn2.

Then G[X] is d-pair-complete with respect to the sets Sj, another contradiction, so this

proves (ii).

jof a row Xiof G which is

j⊆ Vjbe such

j∈[r]X′

j| = pn′and |Xj△X′

j| ≤ ζpn. Let X =?

j∈[r]Xj and X′=?

j;

j⊆ X′

jwith

j| = p′n′for j ∈ [r] such that e(S′

j,X′

j′ \ S′

j′) ≥ (1 − d′)p′(p − p′)n′2for any j′?= j. For

j∩ Xj. Note that |S′

j△Sj| ≤ 2ζpn and |(X′

j\ S′

j)△(Xj\ Sj)| ≤ 2ζpn. We deduce that

j,X′

j′ \ S′

j′) − |S′

j\ Sj|pn − |(X′

j′ \ S′

j′) \ (Xj′ \ Sj′)|pn

j⊆ X′

jwith |S′

j| = n′for j ∈ [r] such that e(S′

j,X′

j,S′

j′) ≥ (1 − d′)n′2,

j\S′

j,X′

j′\S′

j′) ≥ (1−d′)n′2and e(S′

j′\S′

j′) ≤ d′n′2for any j′?= j. We take p′= 1 and

j,X′

j′ \ S′

j′) + |Sj\ S′

j| · 2n + |(Xj′ \ Sj′) \ (X′

j′ \ S′

j′)| · 2n

?

We can now prove the main lemma of this section, which allows us to find balanced perfect

clique packings in graphs which are not d-splittable or d-pair-complete.

Lemma 6.2. Suppose that 1/n ≪ α,ν ≪ d ≪ 1/r, 2 ≤ p ≤ r and r! | n. Let G be a

r-partite graph on vertex classes V1,...,Vreach of size pn, and let J be the clique p-complex

of G. Suppose that G contains a spanning subgraph G∗such that G∗is not d-splittable and

Page 19

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM19

δ∗(G∗) ≥ (p − 1)n − αn. If p ≥ 3, then Jpcontains a balanced perfect matching. If instead

p = 2 then Jpcontains a balanced perfect matching if

(i) G∗is not d-pair-complete, and

(ii) either r < 4 or for any distinct i1,i2,i3 in [r] \ {1} there are at least νn44-cycles

x1xi1xi2xi3in G with x1∈ V1and xij∈ Vijfor j ∈ [3].

Proof. Introduce new constants ε,γ and d′with 1/n ≪ ε ≪ γ ≪ α,ν ≪ d′≪ d ≪ 1/r.

Let I :=?[r]

any vertex of J lies in precisely one edge of M, for any i ∈ [r] we must have

(2)

?

Let N := rn/?r

Theorem 2.3 to find a perfect matching which is near-balanced, but first we need to put

aside some configurations that can be used to correct the small differences in the number

of edges of each index. This will be unnecessary if p = r or p = r − 1, as then any perfect

matching in Jpmust be balanced. Indeed, for p = r this is trivial, whilst for p = r − 1 we

note that by (2), for any i ∈ [r], the number of edges of any perfect matching which do not

contain a vertex of Viis rn − pn = n. So for the purpose of finding configurations we may

suppose that p ≤ r − 2 (this is why we only require (ii) for r ≥ 4).

Fix a set S ⊆ [r] with |S| = p − 2 and an ordered quadruple T = (a,a′,b,b′) of distinct

members of [r] \ S. An (S,T)-configuration consists of two vertex-disjoint copies K and

K′of Kp−1, where K has index S ∪ {b} and K′has index S ∪ {b′}, and vertices v ∈ Va

and v′∈ Va′ such that v and v′are both adjacent to every vertex of K ∪ K′. Given such

an (S,T)-configuration, we can select two vertex-disjoint copies of Kp in G (that is, two

disjoint edges of Jp) in two different ways. One way is to take K ∪ {v} of index S ∪ {a,b}

and K′∪{v′} of index S ∪{a′,b′}; we call this the unflipped state. The other way is to take

K ∪{v′} of index S ∪ {a′,b} and K′∪ {v} of index S ∪ {a,b′}; we call this the flipped state.

Let W be the set of all pairs (S,T) as above. The first step in our proof is to find a collection

C of pairwise vertex-disjoint configurations in G which contains pγn (S,T)-configurations in

G for each (S,T) ∈ W.

Suppose first that p ≥ 3. To choose an (S,T)-configuration in this case we first fix c ∈ S

and find vertices v ∈ Vaand v′∈ Va′ with |N(v)∩N(v′)∩Vc| > (p−2+1/2p)n. To see that

this is possible, let T be the set of ordered triples (v,v′,w) with v ∈ Va, v′∈ Va′, w ∈ Vc

and vw,v′w ∈ G. For each w there are at least δ∗(G) ≥ δ∗(G∗) choices for each of v and

v′, so |T | ≥ pn((p − 1)n − αn)2. Let P be the set of ordered pairs (v,v′) that belong to at

least (p − 2 + 1/2p)n triples of T , i.e. have |N(v) ∩ N(v′) ∩ Vc| > (p − 2 + 1/2p)n. Then

|T | ≤ |P|pn + (pn)2(p − 2 + 1/2p)n, so |P| ≥ ((p − 1)n − αn)2− (p − 2 + 1/2p)pn2> n2/3.

Given such a pair (v,v′), we choose the remaining vertices of the configuration greedily,

ending with the two vertices in Vc. For each vertex not in Vc, the number of choices is at

least pn−(p−1)(n−δ∗(G)) > n/2. For the two vertices in Vc, the number of choices for each

is at least |N(v) ∩ N(v′) ∩ Vc| − (p − 2)(n − δ∗(G)) > n/3p. Now we choose the collection C

greedily. At each step, the configurations chosen so far cover at most 2p ·|W|·pγn vertices.

Since there are at least n2/3 choices for the pair (v,v′) and at least n/3p choices for any

p

?, so I is the family of possible indices of edges of Jp. For any perfect matching

M in Jpand any index A ∈ I, let NM(A) be the number of edges in M with index A. Since

A∈I : i∈A

NM(A) = pn.

p

?

= pn/?r−1

p−1

?, and observe that N is an integer. Our goal is to find a

perfect matching M in Jpwith NM(A) = N for every A ∈ I. To do this, we will apply

Page 20

20PETER KEEVASH AND RICHARD MYCROFT

other vertex we are always able to choose an (S,T)-configuration which is vertex-disjoint

from any configuration chosen so far, as required.

Now consider instead the case p = 2, for which Jp= G. Recall that we can assume r ≥ 4.

Now an (S,T)-configuration consists of a 4-cycle xyzw with x ∈ Va,y ∈ Vb,z ∈ Va′ and

w ∈ Vb′, where T = (a,a′,b,b′) (we have S = ∅). Note that the unflipped state of such a

configuration has edges xy and zw, and the flipped state has edges xw and yz. If a = 1

then by assumption there are least νn4such 4-cycles in G. For a ?= 1 we instead choose fake

configurations; for S = ∅ and T = (a,a′,b,b′) a fake (S,T)-configuration consists simply of

vertices xyzw with x ∈ Va,y ∈ Vb,z ∈ Va′ and w ∈ Vb′ such that xy and zw are edges. A fake

configuration should be thought of as a configuration which cannot be flipped. There are at

least (2nδ∗(G))2≥ n4fake configurations for each T, so similarly to before we may choose

C greedily to consist of genuine (S,T)-configurations if a = 1, and fake (S,T)-configurations

otherwise. Indeed, at any step the configurations chosen so far cover at most 8|W|γn vertices,

so for any (S,T) ∈ W at most 8|W|γn · (2n)3< νn4(S,T)-configurations share a vertex

with a previously-chosen configuration.

Let V′=?

in total, equally many of which lie in each vertex class, so for any i ∈ [r] we have |V′

where n′:= n − 2p2|W|γn/r. Let G′= G∗[V′] and let J′be the clique p-complex of G′.

Then δ∗(G′) ≥ δ∗(G∗) − αn ≥ (p − 1)n′− 2αn. Furthermore, by Lemma 6.1 G′is not d′-

splittable, and if p = 2 then G′is not d′-pair-complete. So by Corollary 5.7 J′

an ε-balanced perfect matching. Extend this matching to a perfect matching M0in Jpby

adding the configurations in C, all in their unflipped state. This adds equally many edges of

each index, so M0is ε-balanced, and so NM0(A) = (1 ± ε)N for any index A ∈ I.

It remains only to flip some configurations to correct these small imbalances in the number

of edges of each index. To accomplish this, we shall proceed through the index sets A ∈ I in

order. For each A we will flip some configurations to obtain a perfect matching with precisely

N edges of each index set A′considered in this order up to and including A. At the end

of this process we will obtain a perfect matching with precisely N edges of every index set.

Let A1⊆ I consist of all members of I of the form [p − 1] ∪ {i} for some p + 2 ≤ i ≤ r,

and A2⊆ I consist of all members of I of the form [p + 1] \ {i} for some i ∈ [p + 1]. Let

A = A1∪ A2and m = |I| =?r

such that

i∈[r]V′

ibe the set of all vertices not covered by configurations in C. We now

find a matching in Jpcovering V′. Note that the configurations in C cover 2p2|W|γn vertices

i| = pn′,

pmust contain

p

?, so |A| = r. Note that if p = 2 then A contains all pairs

{1,j} with 2 ≤ j ≤ r. Choose any linear ordering A1≤ A2≤ ··· ≤ Amof the elements of I

(i) for any A ∈ I, x ∈ A and y / ∈ A with y < x we have {y} ∪ A \ {x} > A, and

(ii) A is a terminal segment of I.

This is possible since for any A ∈ A, x ∈ A and y / ∈ A with y < x we have {y}∪A\{x} ∈ A.

Note that for any A ∈ I \A there exist x,y ∈ A and x′,y′/ ∈ A such that x′< x and y′< y.

Crucially, the sets {x′} ∪ A \ {x}, {y′} ∪ A \ {y} and {x′,y′} ∪ A \ {x,y} each appear after

A, by choice of the ordering.

We now proceed through the sets Ai, i ∈ [m − r] in turn (these are precisely the sets Ai

with Ai/ ∈ A). At each step i we will flip at most 2i−1εN configurations to obtain a perfect

matching Misuch that NMi(Aj) = N for any j ≤ i and |NMi(Aj)−N| ≤ 2iεN for any j > i.

The matching M0satisfies these requirements for i = 0, so suppose that we have achieved

this for A1,...,Ai−1, and that we wish to obtain Mifrom Mi−1. If NMi−1(Ai) = N then

Page 21

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM 21

we may simply take Mi= Mi−1, so we may assume NMi−1(Ai) ?= N. First suppose that

NMi−1(Ai) > N. Since Ai/ ∈ A we may choose x,y ∈ Aiand x′,y′/ ∈ Aisuch that x′< x and

y < y′. Furthermore, if p = 2 then we may also require that x′= 1. We let T = (x′,x,y′,y),

S = Ai\ {x,y}, and choose a set of NMi−1(Ai) − N unflipped (S,T)-configurations in C

(we shall see later that this is possible). We flip all of these configurations (this is possible

if p = 2 since x′= 1, so these configurations are not fake-configurations). In doing so, we

replace NMi−1(Ai) − N edges of Mi−1of index Ai= S ∪ {x,y} and NMi−1(Ai) − N edges

of Mi−1of index S ∪ {x′,y′} with NMi−1(Ai) − N edges of Mi−1of index S ∪ {x′,y} and

NMi−1(Ai)−N edges of Mi−1of index S ∪{x,y′}. The number of edges of each other index

remains the same; note that this includes any index Ajwith j < i. Let Mibe formed from

Mi−1by these flips; then NMi(Aj) = N for any j ≤ i by construction. Also, for any j > i

we have

|NMi(Aj) − N| ≤ |NMi−1(Aj) − N| + |NMi−1(Ai) − N| ≤ 2 · 2i−1εN = 2iεN,

as required. On the other hand, for NMi−1(Ai) < N we obtain Misimilarly by the same argu-

ment with T = (x′,x,y,y′). To see that it is always possible to choose a set of NMi−1(Ai)−N

unflipped (S,T)-configurations from C, note that there are m−r =?p

in total at most 2m−rεN ≤ pγn members of C are flipped. Since C was chosen to contain

at least this many pairwise vertex-disjoint (S,T)-configurations for any (S,T) ∈ W, it will

always be possible to make these choices.

At the end of this process, we obtain a perfect matching M := Mm−rin Jpsuch that

NM(A) = N for every A / ∈ A. It remains only to show that we also have NM(A) = N for

any A ∈ A. We first consider A ∈ A1, so A = [p − 1] ∪ {i} for some i ≥ p + 2, and A is

the only index in A which contains i. Each of the?r−1

p−1

A ∈ A1. Now consider A ∈ A2, so A = [p + 1] \ {i} for some i ∈ [p + 1]. Note that A is the

only member of A2which does not contain i. Since NM(A′) = N for any i ∈ A′/ ∈ A2, by

(2) we have?

We also need to be able to find balanced perfect matchings in pair-complete rows. Recall

that an r-partite graph G with vertex classes V1,...,Vrof size 2n is d-pair-complete if there

exist sets Sj⊆ Vj, j ∈ [r] each of size n such that d(Si,Sj) ≥ 1−d, d(Vi\Si,Vj\Sj) ≥ 1−d

and d(Si,Vj\Sj) ≤ d for any i,j ∈ [r] with i ?= j. This implies that almost all vertices in Si

have few non-neighbours in Sjand almost all vertices in Vi\ Sihave few non-neighbours in

Vj\ Sj. Lemma 6.4 will show that G contains a balanced perfect matching under a similar

condition, namely that there are sets Xj ⊆ Vj, j ∈ [r] each of size approximately n such

that all vertices in Xihave few non-neighbours in Xj and all vertices in Vi\ Xihave few

non-neighbours in Vj\ Xjfor any i ?= j, provided that X =?

V (G) \ X. The proof uses the following characterisation of multigraphic degree sequences

by Hakimi [3]. A sequence d = (d1,...,dn) with d1≥ ··· ≥ dnis multigraphic if there is a

loopless multigraph on n vertices with degree sequence d.

r

?−r steps of the pro-

cess, and that at step i exactly |NMi−1(Ai) − N| ≤ 2i−1εN members of C are flipped. So

p−1

?− 1 other sets A′containing i has

NM(A′) = N = pn/?r−1

?, so by (2) we also have NM(A) = N. Thus NM(A) = N for any

A′∈A2\{A}NM(A′) = pN. This holds for all A ∈ A2, so NM(A) = N for all

A ∈ A2. Thus M is a balanced perfect matching in Jp, as required.

?

i∈[r]Xihas even size. Note

that we cannot omit the parity requirement on |X|, as there may be no edges between X and

Proposition 6.3. ([3]) A sequence d = (d1,...,dn) with d1≥ ··· ≥ dnis multigraphic if

and only if?n

i=1diis even and d1≤?n

i=2di.

Page 22

22PETER KEEVASH AND RICHARD MYCROFT

Lemma 6.4. Suppose that 1/n ≪ ζ ≪ 1/r and r − 1 | 2n. Let G be an r-partite graph on

vertex classes V1,...,Vreach of size 2n. For each i ∈ [r] let sets Xiand Yipartition Viand

be such that

(i) |Xj|,|Yj| = (1 ± ζ)n for any j ∈ [r],

(ii) for any i ?= j, any x ∈ Xihas at most ζn non-neighbours in Xjand any y ∈ Yihas at

most ζn non-neighbours in Yj, and

(iii) X :=?

Then G contains a balanced perfect matching.

Proof. Choose an integer n′so that (1 − 5ζ)n ≤ n′≤ (1 − 4ζ)n and r − 1 | n′. For each

j ∈ [r] let aj:= |Xj| − n′. So 3ζn ≤ aj≤ 6ζn for each j, and a :=?

choose pairs (iℓ,jℓ) with iℓ?= jℓfor ℓ ∈ [a/2] so that each j ∈ [r] appears in precisely ajpairs.

For each ℓ ∈ [a/2] choose a matching Mℓin G which contains an edge of G[X] of index {i,j},

and an edge of G[Y ] of each index A ∈?[r]

they will cover a total of 2 · a/2 ·?r

j ∈ [r] let X′

Then |X′

n′and 2n, we conclude that r −1 divides |X′

X′and Y′into sets X′

of nX= n′/(r − 1) vertices from each of X′

vertices from each of Y′

has minimum degree at least nX− ζn ≥ nX/2 by (ii), and so contains a perfect matching

MAof size nX; by the same argument G[Y′

Finally, M ∪?

However, there are some r-partite graphs G on vertex classes V1,...,Vrof size 2n which

satisfy δ∗(G) ≥ n−αn and are neither d-splittable nor d-pair-complete but do not contain a

balanced perfect matching. For example, let H be a graph with vertex set {xi,yi: i ∈ [r]},

where xixj and yiyjare edges for any i ?= j except when i = 1,j = 2, and x1y2and x2y1

are edges. Form G by ‘blowing up’ H, that is, replace each xiand yiby a set of n vertices,

where r − 1 | 2n, and each edge by a complete bipartite graph between the corresponding

sets. Then G contains 2rn vertices, and so any balanced perfect matching M in G contains

2n/(r−1) edges of each index. Let X be the vertices of G which correspond to some vertex

xiof H. Then |X| = rn and any edge of M covering a vertex of X either covers two vertices

of X or has index {1,2}. There are exactly 2n/(r − 1) edges in M of the latter form, so

we must have rn = |X| ≡ 2n/(r − 1) modulo 2. We conclude that G contains no balanced

perfect matching if this congruence fails (e.g. if r = 5 and n is even but not divisible by

4). However, δ∗(G) = n, and it is easily checked that G is neither d-splittable nor d-pair-

complete if d ≪ 1. Other examples can be obtained similarly. Note that G does contain a

perfect matching by Corollary 5.7, but this cannot be balanced. In later arguments, such

graphs will only cause difficulties when the row-decomposition has one row of this form (with

pi= 2), and every other row has pi= 1. In such cases the following proposition will enable

i∈[r]Xihas even size.

j∈[r]aj= |X| − rn′is

even by (iii) and since rn′is divisible by r(r−1), which is even. By Proposition 6.3, we can

2

?\{i,j}. We also require that these matchings are

?≤ 3ζr3n ≤ n/2 vertices. Let M =?

j= Yj\V (M), and let X′= X\V (M) and Y′= Y \V (M).

j| = |Xj|−aj= n′and |Y′

j| and |Y′

Aand Y′

2

?, where for each A = {i,j}, X′

iand Y′

pairwise vertex-disjoint. Such matchings may be chosen greedily using (ii), since together

2

ℓ∈[a/2]Mℓ. Note

that M has a/2 edges of each index, and so covers (r−1)a/2 vertices from each Vj. For each

j= Xj\V (M) and Y′

j| = 2n−|X′

j|−(r−1)a/2 for any j ∈ [r]. Since r−1 divides

j| for any j ∈ [r]. So we may partition

Afor each A ∈?[r]

j. Now for any A ∈?[r]

A] contains a perfect matching M′

A) is a perfect matching in G with a/2 + nX+ nY edges of each

Aconsists

1|/(r − 1)

iand X′

j, and Y′

?, the induced bipartite graph G[X′

Aconsists of nY = |Y′

2

A]

Aof size nY.

A(MA∪ M′

index, as required.

?

Page 23

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM 23

us to delete further copies of Kkso that the subgraph remaining has a balanced perfect

Kpi-packing in every row i.

Proposition 6.5. Suppose that 1/n ≪ γ,α ≪ 1/r, r! divides n and r ≥ k ≥ 2. Let G

be an r-partite graph on vertex classes X1,...,Xrof size kn which admits an (k − 1)-row-

decomposition into pairwise-disjoint blocks Xi

p1= 2 and p2,...,pk−1= 1. Suppose that G[X1] contains a γ-balanced perfect matching

M′, and that for any i ?= i′and j ?= j′any vertex v ∈ Xi

Xi′

j′. Then there exists an integer D ≤ 2γn and a Kk-packing M in G such that r! divides

n−D, M covers piD vertices in Xi

a balanced perfect matching.

Proof. We may write M′= M0∪ M1, where M0is a balanced matching in G[X1], r · r!

divides |M0|, and |M1| ≤ 2γrn. Note that M0covers 2|M0|/r vertices in each X1

so M1 covers the remaining 2D vertices in each X1

that |M1| = Dr, D ≤ 2γn, and r! divides |M0|/r = n − D. We will construct a sequence

M1,...,Mk−1, where Miis a Ki+1-packing in G[?

will be formed by adding a vertex of Xito each copy of Kiin Mi−1.

Suppose that we have formed Mi in this manner for some i ≥ 1, and now we wish to

form Mi+1. Let Z be the set of ordered pairs (j,q) with j ∈ [r] and q ∈ [D]. We form a

bipartite graph B whose vertex classes are Miand Z, where a copy K′of Ki+1in Miand

a pair (j,q) are connected if j / ∈ i(K′), that is, if K′contains no vertex from Xj. Note that

any K′in Mihas degree (r − i − 1)D in B, as there are r − i − 1 choices for j ∈ [r] \ i(K′)

and D choices for q ∈ [D]. The same is true of any pair (j,q) in Z, as |Mi| = Dr, and

(i+1)D cliques in Miintersect Xj. So B is a regular bipartite graph, and therefore contains

a perfect matching. Let f : Mi→ Z be such that {K′f(K′) : K′∈ Mi} is a perfect matching

in B. For each K′∈ Miwe extend K′to a copy of Ki+2in G by adding a vertex from Xi+1

where f(K′) = (j,q) for some q ∈ [D]. Such extensions may be chosen distinctly, since any

K′∈ Mihas at least n − |K′|αn ≥ n/2 ≥ D possible extensions to Xi+1

Since every pair in Z was matched to some K′∈ Mi, the Ki+2-packing Mi+1covers precisely

D vertices from Xi+1

j

for each j ∈ [r].

At the end of this process we obtain a Kk-packing M := Mk−1in G which covers 2D

vertices from X1

jfor i ≥ 2 and j ∈ [r]. By construction M0is a

balanced perfect Kpi-packing in G[X1\ V (M)] and r! divides |M0|/r = n − D, as required.

jwith |Xi

j| = pin for i ∈ [s] and j ∈ [r], where

jhas at most αn non-neighbours in

jfor any i ∈ [s] and j ∈ [r], and G[X1\V (M)] contains

j, j ∈ [r],

j, where D := n − |M0|/r. Note also

i′∈[i]Xi′] that covers 2D vertices in X1

j

and D vertices in Xi′

jfor each 2 ≤ i′≤ i and j ∈ [r]. Each Miwill have size |Mi| = Dr, and

j

,

j

for any j / ∈ i(K′).

jand D vertices from Xi

?

7. Covering bad vertices.

The final ingredient of the proof is a method to cover ‘bad’ vertices. The row-decomposition

of G will have high minimum diagonal density, which implies that most vertices have high

minimum diagonal degree. However, we need to remove those ‘bad’ vertices which do not

have high minimum diagonal degree, so that we can accomplish step (iii) of the proof out-

line in Section 3, which is to glue together the perfect clique packings in each row to form a

perfect Kk-packing in G. Lemma 7.2 will show that we can cover the bad vertices of G by

vertex-disjoint copies of Kk, whilst keeping the block sizes balanced and fixing the parity

Page 24

24PETER KEEVASH AND RICHARD MYCROFT

of any pair-complete row, so that each row contains a clique packing covering all of the

undeleted vertices. First we need some standard definitions. An s×r rectangle R is a table

of rs cells arranged in s rows and r columns. We always assume that s ≤ r. A transversal

T in R is a collection of s cells of the grid so that no two cells of T lie in the same row or

column. We need the following simple proposition.

Proposition 7.1. Suppose that R is an s × r rectangle, where r ≥ s ≥ 0 and r ≥ 1.

Suppose that at most r cells of R are coloured, such that at most one cell is coloured in each

column, and at most r − 1 cells are coloured in each row. Then R contains a transversal of

non-coloured cells.

Proof.

s = 0,1 and r = s = 2. Now assume that r ≥ 3 and s ≥ 2. Choose a row with the most

coloured cells, and select a non-coloured cell in this row (this is possible since at most r − 1

of the r cells in this row are coloured). Let R′be the (s−1)×(r−1) subrectangle obtained

by removing the row and column containing this cell. Then it suffices to find a transversal

of non-coloured cells in R′. Note that R′has at most r − 1 coloured cells, as if R had

any coloured cells, then we deleted at least one coloured cell. Also, since R had at most

r < 2(r − 1) coloured cells, R′must have at most r − 2 cells coloured in any row, since we

removed the row containing the most coloured cells. Since R′contains at most one coloured

cell in any column, the required transversal in R′exists by the induction hypothesis.

We proceed by induction on s. Note that the proposition is trivial for the cases

?

The remainder of this section is occupied by the proof of Lemma 7.2. This is long and

technical, so to assist the reader we first give an overview. We start by imposing structure

on the graph G, fixing a row-decomposition with high minimum diagonal density. Let Xi

i ∈ [s], j ∈ [r] be the blocks of this row-decomposition. Then we identify vertices that are

‘bad’ for one of two reasons: (i) not having high minimum diagonal degree, or (ii) belonging

to a pair-complete row and not having high minimum degree within its own half. We assign

each bad vertex v to a row in which it has as many blocks as possible that are ‘bad’ for

v, in that they have many non-neighbours of v, so that there are as few bad blocks for v

as possible in the other rows. We also refer to the resulting sets Wi

blocks, as although they may not form a row-decomposition, since few vertices are moved

they retain many characteristics of a row-decomposition. If the row-decomposition has type

p = (pi: i ∈ [s]) then |Wi| is approximately proportional to pifor i ∈ [s]. We establish some

properties of the Wi

j’s in Claim 7.3. Next, we show how to find various types of Kkin G

that will form the building blocks for the deletions. These will be ‘properly distributed’, in

that they have pivertices (the ‘correct number’) in row i for i ∈ [s], or ‘ij-distributed’ for

some i,j, in that they have ‘one too many’ vertices in row i and ‘one two few’ vertices in

row j. They will also have an even number of vertices in each half of pair-complete rows so

as to preserve parity conditions, except that sometimes we require a clique that is ‘properly-

distributed outside of row ℓ’ to fix the parity of a pair-complete row ℓ. Claim 7.4 analyses a

general greedy algorithm for finding copies of Kk, and then Claim 7.5 deduces five specific

corollaries on finding building blocks of the above types. In Claim 7.6 we use ij-distributed

cliques to balance the row sizes, so that the remainder of row ℓ has size proportional to

pℓfor ℓ ∈ [s]. There are two cases according to whether G has the same row structure as

the extremal example; if it does we also ensure in this step that the remainder of each half

in pair-complete rows has even size. Next, in Claim 7.7 we put aside an extra Kk-packing

that is needed to provide flexibility later in the case when there are at least two rows with

j,

j, i ∈ [s], j ∈ [r] as

Page 25

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM25

pi≥ 2. Then in Claim 7.8 we cover all remaining bad vertices and ensure that the number

of remaining vertices is divisible by rk · r!. Next, in Claim 7.9 we choose a Kk-packing so

that equally many vertices are covered in each part Vj. Then in Claim 7.10 we choose a final

Kk-packing so that the remaining blocks all have size proportional to their row size. After

deleting all these Kk-packings we obtain G′with an s-row-decomposition X′that satisfies

conclusion (i) of Lemma 7.2. To complete the proof, we need to satisfy conclusion (ii), by

finding a balanced perfect Kpi-packing in row i for each i ∈ [s]. We need to consider two

cases according to whether or not there are multiple rows with pi≥ 2; if there are, then we

may need to make some alterations to the Kk-packing from Claim 7.7. Finally, we apply

the results of the previous section to find the required balanced perfect clique packings.

Lemma 7.2. Suppose that 1/n+≪ α ≪ 1/r, r ≥ k ≥ 3 and r > 3. Let P′partition a

set V into r parts V1,...,Vr each of size n+, where rn+/k is an integer. Suppose that G

is a P′-partite graph on V with δ∗(G) ≥ (k − 1)n+/k. Suppose also that if rn+/k is odd

and k divides n+then G is not isomorphic to the graph Γn+,r,kof Construction 1.2. We

delete the vertices of a collection of pairwise vertex-disjoint copies of Kkfrom G to obtain

V′

and n′≥ n+/k − αn. We can perform this deletion so that G′has an s-row-decomposition

X′, with blocks X′i

the following properties:

(i) For each i,i′∈ [s] with i ?= i′and j,j′∈ [r] with j ?= j′, any vertex v ∈ X′i

pi′n′− αn′neighbours in X′i′

(ii) For every i ∈ [s] the row G[X′i] contains a balanced perfect Kpi-packing.

Proof. Introduce new constants with 1/n ≪ d0 ≪ d1 ≪ ··· ≪ dk≪ α. Let n be the

integer such that n+− k + 1 ≤ kn ≤ n+. Note that kn − δ∗(G+) ≤ ⌊n+/k⌋ = n, so

any vertex has at most n non-neighbours in any other part.

Let X be formed from V by arbitrarily deleting n+− kn vertices in each part. We fix an

s-row-decomposition of G1 := G[X]. Recall that this consists of pairwise disjoint blocks

Xi

j| = pin for each i ∈ [s], j ∈ [r], for some s ∈ [k] and positive integers

pi, i ∈ [s] with?

ds-splittable. Having fixed s and the row-decomposition of G1, introduce new constants

with ds−1≪ d′

the infimum of all d such that G1[Xi] is d-pair-complete. This gives us at most s values of

d(i), so we may choose t ∈ [2s + 2] such that there is no i ∈ [s] with d′

let d := d′

that

1/n+≪ ν ≪ η ≪ d ≪ β ≪ β′≪ ζ ≪ γ ≪ γ′≪ d′′≪ d′≪ ω,α ≪ 1/r ≤ 1/k.

These are the only constants which we shall use from this point onwards. The purpose

of these manipulations is that our fixed row-decomposition has three important properties.

Firstly, it has minimum diagonal density at least 1 − d, since d = d′

any row G1[Xi] is not d′-splittable, since d′= d′t≤ ds. Thirdly, any row G1[Xi] which

is d′-pair-complete is d-pair-complete, since d(i) ≤ d′= d′tby definition of d(i), and so

d(i) ≤ d′

1,...,V′

r, V′:=?

j∈[r]V′

jand G′= G[V′], such that |V′

j| = kn′for j ∈ [r], where r! | n′

jfor i ∈ [s], j ∈ [r] of size pin′, where pi∈ [k] with?

i∈[s]pi= k, with

jhas at least

j′,

(†)

j⊆ Vj with |Xi

i∈[s]pi = k. By Proposition 4.1 we may fix this row-decomposition to

have minimum diagonal density at least 1 − k2ds−1, and such that each row G1[Xi] is not

0≪ d′

1≪ ··· ≪ d′

2s+2≪ ds. For each i ∈ [s] with pi= 2, let d(i) denote

t−2< d(i) ≤ d′t. We

t−1, d′:= d′t, and introduce further new constants ν,η,β,β′,ζ,γ,γ′,d′′and ω such

t−1≥ k2ds−1. Secondly,

t−2< d′

t−1= d by choice of t.

Page 26

26PETER KEEVASH AND RICHARD MYCROFT

Suppose first that s = 1, so G1has only one row X1, and p1= k. Fix n − r! ≤ n′≤ n

such that r! | n′, and let C = n+− kn′. Then 0 ≤ C ≤ kr! + k. Also, since rn+/k and

r(kn′)/k are integers, rC/k is also an integer. We choose rC/k pairwise-disjoint copies of

Kkin G which together cover C vertices in each Vj. To see that this is possible note that,

by (†), for any A ∈?[r]

used, so some choice remains. Note that our use of (†) here is not tight, in the sense that the

argument would still be valid if n was replaced by n+o(n) in the statement of (†). This will

be true of all our applications of (†) except for that in Claim 7.6. We delete all of these copies

of Kkfrom G, and let G′be the resulting graph. We let X′1

vertices of Vjfor each j ∈ [r]. Then the sets X′1

G′, which is not d′′-splittable by Lemma 6.1. Since p1= k ≥ 3, G′= G′[X′1] contains a

balanced perfect Kk-packing by Lemma 6.2.

We may therefore assume that s ≥ 2. From each block Xi

moving a small number of ‘bad’ vertices between blocks, and reinstating the vertices deleted

in forming X. As a consequence the sets Wi

jwill not form a proper row-decomposition (for

example, blocks in the same row may have different sizes). However, since only a small

number of vertices will be moved or reinstated, the partition of V (G) into sets Wi

retain many of the characteristics of the s-row-decomposition of G1 into blocks Xi

therefore keep the terminology, referring to the sets Wi

and Wj=?

be transferred. It is important to note, however, that the blocks Xi

throughout the proof. Furthermore, we shall sometimes refer to the row G[Wi] simply as

row i, but we say that a row i is pair-complete if G1[Xi] is d-pair-complete. This means

that the truth of the statement ‘row i is pair-complete’ depends only on our fixed row-

decomposition of G1, and not on the ‘blocks’ Wi

pi= 2 and row i is not pair-complete then G[Xi] is not d′-pair-complete.

We start by identifying the bad vertices, which may be moved to a different block. For

each i ∈ [s] and j ∈ [r] let Bi

j′?= j such that |N(v) ∩ Xi′

some i′?= i and j′?= j there are more than

neighbours in Xi′

j′) <

minimum diagonal density of G1.

Next, for each i ∈ [s] for which row i is pair-complete, by definition there are sets Ti

of size n for each j ∈ [r] such that d(Ti

j ?= j′. For each j ∈ [r], we let B′i

such that |N(v) ∩ Ti

j′?= j such that |N(v) ∩ (Xi

(without loss of generality) there exists some j′?= j for which more than

have at most (1−√d)n neighbours in Ti

contradicts the choice of the sets Ti

k

?we may greedily choose the vertices of a copy of Kkin G of index A;

this gives at least n choices for each vertex, of which at most n/2 (say) have been previously

jconsist of the kn′undeleted

jfor j ∈ [r] form a 1-row-decomposition of

jwe shall obtain a set Wi

jby

jwill

j. We

jWi

jas ‘blocks’, and the Wi=?

j, between which vertices may

jwill remain unchanged

j

iWi

jas ‘rows’ and ‘columns’ respectively. Perhaps it is helpful to think of the

jas being containers which correspond to the blocks Xi

sets Wi

jor their subsets defined later. Note that if

jconsist of all vertices v ∈ Xi

√dpin vertices in Xi

j′. Then d(Xi

jfor which there exist i′?= i and

j| ≤ rk√dpin, otherwise for

j′| ≤ (1 −√d)pi′n. We must have |Bi

√d · (1 −√d) + (1 −√d) · 1 = 1 − d contradicts the

jwith at most (1 −√d)pi′n

j,Xi′

j⊆ Xi

j

j,Ti

j′) ≥ 1−d and d(Xi

jconsist of all vertices v ∈ Ti

j′)| ≤ (1 −√d)n. We must have |B′i

j\Ti

jfor which there exists j′?= j

j\ Ti

√dn vertices in Ti

√d·(1−√d)+(1−√d)·1 = 1−d

jand B′i

j,Xi

j′\Ti

j′) ≥ 1−d for any

j′| ≤ (1 −√d)n, and also all vertices v ∈ Xi

j′\ Ti

jfor which there exists

j| ≤ 2r√dn, otherwise

j

j′. Then d(Ti

j. Thus we have bad sets Bi

j,Ti

j′) <

jfor i ∈ [s], j ∈ [r].

Page 27

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM 27

We also consider the n+− kn deleted vertices in each part to be bad. Let B be the set of

all bad vertices. The remaining vertices Y are good; let Yi

Yj=?

pin − n/2, that is, if v has more than n/2 non-neighbours in Xi

then the set of blocks which are bad with respect to v is a subset of the set of blocks in the

same row and column as v. Also, by (†) for any v ∈ V (G) at most one block in each other

column can be bad with respect to v. Similarly as with the notion of pair-completeness, this

definition fixes permanently which blocks are bad with respect to a vertex v. We shall later

sometimes refer to a ‘block’ Wi

jbeing bad with respect to v; this should always be taken to

mean that Xi

jis bad which respect to v. We say that a block is good with respect to v if it

is not bad with respect to v.

We now define the sets Wi

assigned to Wi

j. It remains only to assign the bad vertices; each bad vertex v ∈ Vjis assigned

to Wi

more than one row has the most bad blocks then choose one of these rows arbitrarily). For

each pair-complete row i, we also modify the sets Ti

consist of all vertices of Ti

in Ti

jfor any such i. This completes the phase of

the proof in which we impose structure on G. The next claim establishes some properties of

the decomposition into ‘blocks’ Wi

j.

j= Xi

j\ B, Yi=?

j∈[r]Yi

jand

i∈[s]Yi

jfor each i and j, so Y =?

i∈[s]Yi.

Let v be any vertex of G. We say that a block Xi

jis bad with respect to v if |N(v)∩Xi

j. So if v is a good vertex,

j| <

jfor each i ∈ [s] and j ∈ [r] as follows. Any vertex in Yi

jis

j, where i is a row containing the most blocks Xi

jwhich are bad with respect to v (if

jto form sets Si

j\Yi

j. Indeed, Si

jis defined to

j∩Yi

j, plus any vertex in Wi

j∈[r]Si

jwhich has at least n/2 neighbours

j′ for some j′?= j. We let Si:=?

Claim 7.3. (Structural properties)

(A1) At most βn/2 vertices of G are bad.

(A2) We have Yi

j ∈ [r]. Furthermore, if row i is pair-complete then |Yi

any j ∈ [r].

(A3) Let v ∈ Yi

Furthermore, if row i is pair-complete and j′?= j then v has at most βn non-neighbours

in Si

(A4) Let v ∈ Wi

with respect to v. Furthermore, if row i is pair-complete then there is some j′?= j

such that v has at most 2n/3 non-neighbours in Si

non-neighbours in Wi

j.

(A5) For any i with pi≥ 2, there are at least γ′npi+1copies of Kpi+1in G[Yi]. Furthermore,

if row i is pair-complete then there are at least γ′n3copies of K3in G[Yi∩ Si] and at

least γ′n3copies of K3in G[Yi\ Si].

Proof. For (A1), note that since there were at most rk√dpin+2r√dn bad vertices in each

Xi

(A2), note that Yi

and there are at most βn/2 bad vertices by (A1), we conclude that (A2) holds. For (A3),

note that since v is good we have |Xi′

|Wi′

j⊆ Wi

jand (pi− β/2)n ≤ |Yi

j| ≤ |Wi

j| ≤ (pi+ β/2)n for any i ∈ [s] and

j∩ Si

j|,|Yi

j\ Si

j| ≥ n − βn/2 for

j. Then v has at most βn non-neighbours in Wi′

j′ for any i′?= i and j′?= j.

j′ if v ∈ Si

j, and at most βn non-neighbours in Wi

j. Then v has at most 2n/3 non-neighbours in any block Wi′

j′ \ Si

j′ if v / ∈ Si

j.

j′ which is good

j′ if v ∈ Si

j, and at most 2n/3

j′ \ Si

j′ if v / ∈ Si

j, the total number of bad vertices is at most rk(rk2√dn + 2r√dn) + rk ≤ βn/2. For

j⊆ Wi

j, and any vertex of Xi

j\ Yi

jor Wi

√dpi′n for any i′?= i and j′?= j. Since

j′\N(v)| ≤ βn, as required. Similarly, if row

j\ Xi

jis bad. Since |Xi

j| = pin,

j′ \ N(v)| ≤

j′\Xi′

j′| ≤ βn/2 by (A1), we conclude that |Wi′

Page 28

28PETER KEEVASH AND RICHARD MYCROFT

i is pair-complete and v ∈ Si

for any j′?= j. On the other hand, if v ∈ Wi

implies that |(Xi

or Wi

j′ must be a bad vertex; by (A1) this completes the proof of (A3).

Next, for (A4) suppose that Wi′

j′ is good with respect to v.

|Xi′

n/2 + βn/2 ≤ 2n/3 by (A1). So suppose now that row i is pair-complete. If v is good,

then the ‘furthermore’ statement holds by (A3), so we may suppose that v ∈ Wi

v ∈ Si

|Si

v / ∈ Si

this implies |(Xi

Finally, for (A5) suppose first that row i is pair-complete, so pi= 2. Then by (A2) we

have |Yi

these three sets has at most βn non-neighbours in each of the other two sets. So we may

choose vertices v1∈ Yi

turn with at least n−3βn choices for each vertex. We conclude that there are at least n3/2

copies of K3in G[Yi∩Si]. The same argument applied to the sets Yi

are at least n3/2 copies of K3in G[Yi\Si]. On the other hand, if row i is not pair-complete,

then we simply wish to find at least γ′npi+1copies of Kpi+1in G[Yi]. Since G1[Xi] is not

d′-splittable, by Lemma 4.2(ii) (with 2γ′in place of β) there are at least 2γ′npi+1copies of

Kpi+1in G1[Xi]. By (A1) at most β(pin)pi+1≤ γ′npi+1such copies contain a bad vertex;

this leaves at least γ′npi+1copies of Kpi+1in G[Yi].

j, then v ∈ Ti

j′) \ N(v)| ≤√dn for any j′?= j. Any non-neighbour of v in Si

j, so v being good implies that |Ti

j\ Si

j′\N(v)| ≤

j, so v being good

√dn

j, then v ∈ Xi

j\ Ti

j′ \ Ti

j′△Ti

j′

j′ \ Xi

Recall that this means

j′ \ N(v)| ≤ n/2. Since any vertex in Wi′

j′ \ Xi′

j′ is bad, we find that |Wi′

j′ \ N(v)| ≤

j\ Yi

j. If

jthen by definition |N(v) ∩ Ti

j′ \ N(v)| ≤ 2n/3 by (A1), since any vertex in Si

jthen by definition |N(v) ∩ Ti

j′ \ Ti

j′| ≥ n/2 for some j′?= j, so |Ti

j′ \ N(v)| ≤ n/2; then

j′ is bad. On the other hand, if

j′ \ N(v)| > n/2, for any j′?= j. By (†)

j′ \ Si

j′△Ti

j′| < n/2, so |Ti

j′) \ N(v)| < n/2, and so |(Wi

j′) \ N(v)| ≤ 2n/3 by (A1).

1∩ Si

1|,|Yi

2∩ Si

2|,|Yi

3∩ Si

3| ≥ n − βn/2. Furthermore, by (A3) any vertex in one of

1∩ Si

1, v2∈ Yi

2∩ Si

2∩ N(v1) and v3∈ Yi

3∩ Si

3∩ N(v1) ∩ N(v2) in

1\Si

1shows that there

?

In the next claim we analyse a general greedy algorithm that takes some fixed clique K′′

in which all but at most one vertex is good, and extends it to a copy of Kkwith prescribed

intersections with the blocks, described by the sets A1,...,As.

Claim 7.4. (Extending cliques) Let K′′be a clique in G on vertices v1,...,vm, where

v2,v3,...,vmare good. Suppose that A1,...,As⊆ [r] are pairwise-disjoint sets such that for

each q ∈ [m] there is some i ∈ [s] and j ∈ Aisuch that vq∈ Wi

i ∈ [s] one of the following five conditions holds:

(a) for every j ∈ Ai, Wi

(b) |Ai| ≤ piand V (K′′) = ∅,

(c) |Ai| ≤ piand there is some block Wi

does not contain a vertex of K′′,

(d) |Ai| ≤ piand v1∈ Wi,

(e) |Ai| < pi.

Let a :=?

(i) K′intersects precisely those Wi

jwith i ∈ [s] and j ∈ Ai.

(ii) For any pair-complete row i such that |Ai| = 2 and V (K′′) ∩ Wi= ∅ we have that

|V (K′) ∩ Si| is even.

j. Suppose also that for each

jcontains some vqwith q ∈ [m],

jwith j ∈ Aiwhich is good with respect to v1and

i∈[s]|Ai|. Then for any b1,...,bs∈ {0,1} there are at least ωna−mcopies K′of

Kain G[Y ∪ {v1}] which extend K′′and satisfy the following properties.

Page 29

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM29

(iii) Consider any pair-complete row i such that |Ai| = 1 and write {j} = Ai. If Wi

with respect to v1and does not contain a vertex of K′′then |V (K′) ∩ Si| = bi.

Proof. If V (K′′) ?= ∅, then by relabeling the columns Wjif necessary, we may assume that

for any i ∈ [s] for which (c) holds, the block Wi

contain a vertex of K′′. We also note for future reference that the only properties of good

vertices used in the proof of this claim will be those in (A3).

First we define the greedy algorithm for extending K′′to K′, and then we will show that

we have many choices for the vertex at each step of the algorithm. We proceed through

each column Vj, j ∈ [r] in turn. If j is not in Aifor any i ∈ [s], then we take no action,

since K′will not have a vertex in this column. Similarly, if vq∈ Wjfor some q ∈ [m], then

we again take no action, since we already have a vertex of K′in this column, namely vq;

note that vq∈ Wi

Now suppose that j ∈ Aifor some i ∈ [s], and V (K′′) ∩ Wj= ∅. Let v′

vertices previously chosen by the algorithm (so not including v1,...,vm). We choose a vertex

v′

j∩?

v′

i is pair-complete and meets the conditions of (iii) then we instead add the requirement that

v′t∈ Siif and only if b = 1. After proceeding through every j ∈ [r] we have a vertex of Wi

every i ∈ [s] and j ∈ Ai(some of which are the vertices of K′′). We let K′be the subgraph

of G induced by these vertices. Then K′is a clique of size a in G which extends K′′and

satisfies (i). The additional requirements on the choice of vertices from any pair-complete

row i imply that K′must satisfy (ii) and (iii) also.

Having defined the greedy algorithm, we will now show that there are at least n/4 choices

at each step. First we consider the number of choices for some v′tin Yi

a pair-complete row satisfying the conditions in (ii) or (iii). Note that since we are making

this choice, Wjdoes not contain a vertex of K′′, so (a) does not apply to row i. Let

jis good

maxAiis good with respect to v1and does not

jfor the unique i such that j ∈ Ai, since the sets Aℓare pairwise-disjoint.

1,...,v′

t−1be the

t∈ Yi

row i is pair-complete, |Ai| = 2, V (K′′) ∩ Wi= ∅ and we have previously selected a vertex

ℓin Wi, then we also add the requirement that v′t∈ Siif and only if v′

ℓ∈[m]N(vℓ) ∩?

ℓ∈[t−1]N(v′

ℓ), so {v1,...,vm,v′

1,...,v′

t} induces a clique in G. If

ℓ∈ Si. If instead row

jfor

j, where row i is not

P := {v1,...,vm,v′

1,...,v′

t−1} and Pi:= (P ∩ Wi) \ v1.

j∩?

Then |Pi| ≤ |Ai|−1 ≤ pi−1. We need to estimate |Yi

has |Yi

if V (K′′) = ∅ we let N′= ∅. Observe that any vertex of P \ {Pi∪ v1} is good, either by

assumption (for v2,...,vm) or by selection (since the greedy algorithm only selects vertices

from some Yi′

therefore has at most βn non-neighbours in Yi

v∈PN(v)|. Note that each v ∈ Pi

j\ N(v1), so |N′| ≤ n also;

j\ N(v)| ≤ n by (†). If V (K′′) ?= ∅, then write N′:= Yi

j′). Then any vertex of P \ {Pi∪ v1} = P \ Wilies in Yi′for some i′?= i, and

jby (A3). So |Yi

(A2)

≥ pin − (pi− 1)n − n − (r + 1)βn = −(r + 1)βn.

Whilst this crude bound does not imply that we have even one possible choice for v′t, we will

now show that any of the assumptions (b)–(e) improves some part of the bound by at least

n/3, which implies that there are at least n/3−(r+1)βn ≥ n/4 choices for v′t. If (b) pertains

to row i (so V (K′′) = ∅), then we have |N′| = 0 instead of |N′| ≤ n. If (d) or (e) pertains to

row i, then we have the bound |Pi| ≤ pi−2 in place of |Pi| ≤ pi−1. The same is true if (c)

pertains to row i, unless we are choosing the final vertex in Wi, that is j = maxAi. Then

our initial relabeling implies that Wi

jis good with respect to v1, so (A4) gives the bound

j∩?

v∈PN(v)| is at least

(3)

|Yi

j| − |Pi|n − |N′| − rβn

Page 30

30PETER KEEVASH AND RICHARD MYCROFT

|N′| = |Yi

to (3) yields at least n/3 − (r + 1)βn ≥ n/4 choices for v′

It remains to consider the number of choices for some v′

complete row satisfying the conditions in (ii) or (iii). Suppose first that row i has the

conditions of (ii), namely |Ai| = 2 = piand V (K′′) ∩ Wi= ∅. Suppose also that we have

previously selected a vertex v′

v′

show that |N′| ≤ 2n/3 in either case. In case of (b) this holds because N′is empty. In case

of (c), v′tis the final vertex to be selected in row i, and so our initial relabeling implies that

Wi

choice), if v′

have |(Yi

?????Yi

similarly, in the latter case we obtain |(Yi

are at least n/4 possible choices for v′t. Finally, suppose that row i has the conditions of

(iii), namely |Ai| = 1 and Wi

of K′′since we are choosing v′t). Then |N′| ≤ 2n/3 by (A4), so |Yi

and |(Yi

value of b.

In conclusion, there are at least n/4 suitable choices for each of the a−m vertices chosen

by the greedy algorithm in extending K′′to K′, giving at least ωna−mchoices for K′, as

required.

j\N(v1)| ≤ 2n/3 in place of |N′| ≤ n. In all cases the improvement of at least n/3

t.

tin Yi

j, where row i is a pair-

ℓ∈ Wi. Then we must ensure that v′

t∈ Si

jif and only if

ℓ∈ Si. Note that these conditions imply that either (b) or (c) pertains to row i. We will

jis good with respect to v1; then |N′| ≤ 2n/3 by definition. Since v′

ℓ∈ Sithen by (A3) we have |Si

j\ Si

ℓis a good vertex (by

ℓ/ ∈ Sithen by (A3) we

j\ N(v′

ℓ)| ≤ βn, or if v′

j) \ N(v′

ℓ)| ≤ βn. In the former case we have

j∩ Si

j∩

?

v∈P

N(v)

?????≥ |Yi

j| − |N′| − rβn ≥ n/4;

j\Si

j)∩?

v∈PN(v)| ≥ n/4. So in either case there

jis good with respect to v1(and Wi

jdoes not contain a vertex

j∩Si

j∩?

v∈PN(v)| ≥ n/4

j\ Si

j) ∩?

v∈PN(v)| ≥ n/4, giving us at least n/4 choices for v′t, regardless of the

?

Now we describe the various types of Kkthat will form the building blocks for the dele-

tions. Recall that the number of vertices in each row Wiis approximately proportional to

pi. We say that a copy K′of Kkin G is properly-distributed if

(i) |V (K′) ∩ Wi| = pifor each i ∈ [s], and

(ii) |V (K′) ∩ Si| is even for any pair-complete row i ∈ [s].

Also, for any i,j ∈ [s] with i ?= j we say that a copy K′of Kkin G is ij-distributed if

(i) |V (K′) ∩ Wi| = pi+ 1, |V (K′) ∩ Wj| = pj− 1, and |V (K′) ∩ Wℓ| = pℓ for each

ℓ ∈ [s] \ {i,j}, and

(ii) |V (K′) ∩ Sℓ| is even for any pair-complete row ℓ ?= i,j.

Note that an ij-distributed clique K′has ‘one too many’ vertices in row i, and ‘one too few’

in row j. By deleting such cliques we can arrange that the size of each row Wiis exactly

proportional to pi. Thereafter we will only delete properly-distributed copies of Kk, so that

this property is preserved. Also, condition (ii) in both definitions ensures that we preserve

the correct parity of the halves in pair-complete rows. Finally, we say that a copy K′of Kk

in G is properly-distributed outside row ℓ if

(i) |V (K′) ∩ Wi| = pifor each i ∈ [s], and

(ii) |V (K′) ∩ Si| is even for any pair-complete row i ?= ℓ.

Page 31

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM31

Thus K′almost satisfies the definition of ‘properly-distributed’, except that if row ℓ is pair-

complete it may fail the parity condition for the halves. In the next claim we apply Claim 7.4

to finding the building blocks just described.

Claim 7.5. (Building blocks) We can find copies of Kkin G as follows.

(i) Let A1,...,As⊆ [r] be pairwise-disjoint with |Ai| = pifor each i ∈ [s]. Then there are

at least ωnkproperly-distributed copies K′of Kkin G such that for any i ∈ [s], K′

intersects Wiin precisely those Wi

jwith j ∈ Ai.

(ii) Any vertex v ∈ V (G) lies in at least ωnk−1/4 properly-distributed copies of Kkin G.

(iii) Let i,j ∈ [s] be such that pi≥ 2 and i ?= j. Then there are at least γnkij-distributed

copies K′of Kkin G[Y ]. Furthermore, if row i is pair-complete then for any b ∈ {0,3}

there are at least γnksuch copies K′of Kkwith |V (K′) ∩ Si| = b.

(iv) Let i,j ∈ [s] be such that pi= 1 and i ?= j. Suppose uv is an edge in G[Wi] such that

u is a good vertex. Then there are at least ωnk−2ij-distributed copies K′of Kkin G

that contain u and v. Furthermore, if row j is pair-complete then for any b ∈ {0,1}

there are at least ωnk−2such copies K′of Kkwith |V (K′) ∩ Sj| = b.

(v) Let i ∈ [s] be such that row i is pair-complete, and uv be an edge in G[Wi] such that u

is good. Then there are at least ωnk−2copies of Kkin G which contain both u and v

and are properly-distributed outside row i.

Proof. For (i) we apply Claim 7.4 to A1,...,Aswith V (K′′) = ∅, so condition (b) pertains

to all rows. This gives at least ωnkcopies K′of Kkin G such that K′intersects precisely

those Wi

Since |Ai| = pifor each i ∈ [s], each such K′is properly-distributed. Next we consider (iii),

as this is also a simple application of Claim 7.4; we will come back to (ii). We begin by

choosing a copy K′′of Kpi+1in G[Yi]. By (A5), there are at least γ′npi+1such copies, and

if row i is pair-complete, there are at least γ′npi+1such copies with precisely b vertices in

Si. Fix any such K′′and let Aibe the set of q ∈ [r] such that K′′has a vertex in column

Vq, so |Ai| = pi+ 1. Now choose pairwise-disjoint subsets Aℓ⊆ [r] \ Aiwith Aj= pj− 1

and |Aℓ| = pℓfor every ℓ ∈ [s] \ {i,j}. We may apply Claim 7.4 with K′′and the sets Aℓ

for ℓ ∈ [s], as condition (a) of the claim applies to row i, condition (e) applies to row j, and

condition (c) applies to all other rows (since every vertex of K′′is good). We deduce that

there are at least ωnk−pi−1copies K′of Kkwhich extend K′′such that |V (K′)∩Wℓ| = |Aℓ|

for any ℓ ∈ [s] and |V (K′) ∩ Sℓ| is even for any pair-complete row ℓ ?= i,j. Each such K′is

ij-distributed, so in total we have at least γ′ωnk≥ γnkcopies K′of Kkwith the required

properties.

For (ii), (iv) and (v) we proceed similarly, but in each of these cases we have the possibility

that the vertex v might be bad, so satisfying requirement (c) in Claim 7.4 is no longer trivial.

We consider the blocks as an s ×r rectangle R, and colour those blocks which are bad with

respect to v. Our strategy will be to delete some appropriate rows and columns from R,

apply Lemma 7.1 to find a transversal T of non-coloured blocks in the remaining subrectangle

R′, and then use T to choose sets Aifor i ∈ [s] which meet the conditions of Claim 7.4. We

note the following properties of R:

jwith i ∈ [s] and j ∈ Ai, and |V (K′) ∩ Si| is even for any pair-complete row i.

(R1) any column not containing v has at most one coloured block,

(R2) at most r − 2 coloured blocks lie outside the row containing v,

(R3) any row not containing v has most r − 3 coloured blocks.

Page 32

32PETER KEEVASH AND RICHARD MYCROFT

To see this, recall that we observed (R1) earlier, and (R2) follows because v lies in a row in

which it has the most bad blocks. This also implies (R3), as any row not containing v has

most (r − 1)/2 ≤ r − 3 coloured blocks, using the assumption that r > 3.

For (ii), we let ℓ and jℓbe such that v ∈ Wℓ

complete (we postpone the case where ℓ is pair-complete to the end of the proof). We remove

the row and column containing v to obtain an (s − 1) × (r − 1) subrectangle R′. Since R′

contains at most r − 2 coloured blocks, with at most one in each column, it contains a

transversal T of non-coloured blocks by Lemma 7.1. For each i ∈ [s]\{ℓ} let jibe such that

T includes Wi

ji. Choose any pairwise-disjoint subsets Ai⊆ [r] with ji∈ Aiand |Ai| = pi

for each i ∈ [s]. We may apply Claim 7.4 to Ai, i ∈ [s] with V (K′′) = {v1} = {v}, since

condition (d) pertains to row ℓ, and condition (c) pertains to all other rows. This yields

at least ωnk−1copies K′of Kkwhich extend K′′such that |V (K′) ∩ Si| is even for any

pair-complete row i and |V (K′) ∩ Wi| = |Ai| = pi for any i ∈ [s]. Each such K′is a

properly-distributed copy of Kkin G containing v.

For (iv), let juand jvbe the columns with u ∈ Vjuand v ∈ Vjv, and let Ai= {ju,jv}.

So |Ai| = 2 = pi+ 1. Suppose first that pj= 1. In this case we delete rows i and j and

columns juand jv from R, leaving an (s − 2) × (r − 2) subrectangle R′. Then R′has at

most one coloured block in each column, at most r − 3 coloured blocks in each row, and at

most r − 2 coloured blocks in total, so contains a transversal T of non-coloured blocks by

Lemma 7.1. For each ℓ ∈ [s] \ {i,j} let qℓbe the column such that T includes Wℓ

choose pairwise-disjoint subsets Aℓ⊆ [r]\Aifor ℓ ∈ [s]\{i} such that qℓ∈ Aℓand |Aℓ| = pℓ

for each ℓ ∈ [s]\{i,j}, and Aj= ∅. Now suppose instead that pj≥ 2. In this case we delete

row i and columns juand jvfrom R, leaving an (s − 1) × (r − 2) subrectangle R′. Then R′

has at most one coloured block in each column, at most r − 3 coloured blocks in each row,

and at most r − 2 coloured blocks in total. Since pj≥ 2 we have r − 2 ≥ k − 2 ≥ s − 1,

so we may again apply Lemma 7.1 to find a transversal T of non-coloured blocks in R′. As

before, for each ℓ ∈ [s] \ {i,j} let qℓbe the column such that T includes Wℓ

pairwise-disjoint subsets Aℓ⊆ [r] \ Aifor ℓ ∈ [s]\ {i} such that qℓ∈ Aℓfor any ℓ ∈ [s]\ {i},

|Aℓ| = pℓfor each ℓ ∈ [s] \ {i,j}, and |Aj| = pj− 1. In either case we may apply Claim 7.4

with V (K′′) = {u,v}, since conditions (a), (e) and (c) of Claim 7.4 pertain to rows i, j and

all other rows respectively. We deduce that there are at least ωnk−2copies K′of Kkin G

which extend K′′such that |V (K′) ∩ Wℓ| = |Aℓ| for any ℓ ∈ [s] and |V (K′) ∩ Sℓ| is even

for any pair-complete row ℓ ?= i,j. Each such K′is ij-distributed. Furthermore, if row j is

pair-complete, then pj= 2, so Wj

qjis in T, so is good with respect to v. So by Claim 7.4(iii)

there are at least ωnk−2such copies K′with |V (K′) ∩ Sj| = b, as required.

For (v), we again let juand jvbe the columns with u ∈ Vjuand v ∈ Vjvand Ai= {ju,jv}.

So |Ai| = 2 = pi. We delete row i and columns juand jvfrom R, leaving an (s−1)×(r−2)

subrectangle R′. Then R′has at most one coloured block in each column, at most r − 3

coloured blocks in each row, and at most r − 2 coloured blocks in total. Since pi= 2 we

have r − 2 ≥ k − 2 ≥ s − 1, so as before Lemma 7.1 yields a transversal T of non-coloured

blocks in R′. We let Wℓ

qℓ, ℓ ∈ [s]\{i} be the blocks of T, and choose pairwise-disjoint subsets

Aℓ⊆ [r] \ Aisuch that qℓ∈ Aℓand |Aℓ| = pℓfor any ℓ ∈ [s] \ {i}. We may apply Claim 7.4

with V (K′′) = {u,v}, since conditions (a) and (c) of Claim 7.4 pertain to row i and all other

rows respectively. So there are at least ωnk−2copies K′of Kkin G which extend K′′such

that |V (K′)∩Wℓ| = |Aℓ| = pℓfor any ℓ ∈ [s] and |V (K′)∩Sℓ| is even for any pair-complete

row ℓ ?= i. Each such Kkis properly-distributed outside row i.

jℓ, and suppose first that row ℓ is not pair-

qℓ, and

qℓ, and choose

Page 33

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM33

Finally we consider the case of (ii) where row ℓ (containing v) is pair-complete. By (A4)

and (A2) there are at least n/4 vertices u ∈ Yℓ∩N(v) such that |{u,v}∩Sℓ| is even. For any

such u, by (v) there are at least ωnk−2copies K′of Kkwhich extend uv and are properly-

distributed outside row ℓ. Each such K′is properly-distributed since V (K′) ∩ Sℓ= {u,v},

so v lies in at least ωnk−1/4 properly-distributed copies of Kk.

?

We now use Claim 7.5 to select several Kk-packings in G whose deletion leaves a subgraph

G′which satisfies the conclusions of the lemma. The choice of these packings will vary

somewhat according to the row structure of G. We say that G has the extremal row structure

if it has the same row structure as the graphs Γn,r,kof Construction 1.2, that is, if there is

some row i ∈ [s] with pi≥ 2 which is pair-complete, and pi′ = 1 for any i′?= i; this case

requires special attention. The first step is the following claim, which balances the row sizes,

so that the remainder of row i has size proportional to pifor i ∈ [s]. This is the only step

of the proof that requires the exact minimum degree condition (whether or not G has the

extremal row structure).

Claim 7.6. (Balancing rows) There is a Kk-packing M1in G such that |M1| ≤ βrk2n

and |Wi\V (M1)| = pi(rn+/k −|M1|) is constant over all i ∈ [s]. If G has the extremal row

structure we can also require that |Si\ V (M1)| is even for the unique i ∈ [s] with pi= 2.

Proof. We write ai:= |Wi| − pirn+/k for each i ∈ [s], where we recall that rn+/k is an

integer, so aiis an integer. Then?

and (1 + β/2)pirn ≥ |Wi| =?

that each i ∈ I+occurs aitimes as some iℓ, and each i ∈ I−occurs −aitimes as some i′

We divide the remainder of the proof into two cases according to whether or not G has the

extremal row structure.

i∈[s]ai= |V (G+)| − rn+= 0. Let I+= {i : ai> 0},

ai>0ai= −?

I−= {i : ai< 0} and a :=?

|ai| ≤ βrkn for each i and a ≤ βrk2n. We choose sequences (iℓ: ℓ ∈ [a]) and (i′

ai<0ai. Recall that n+− k + 1 ≤ kn ≤ n+

j| ≥ (1 − β/2)pirn for each i by (A2). This gives

j∈[r]|Wi

ℓ: ℓ ∈ [a]) so

ℓ.

Case 1: G does not have the extremal row structure. We start by showing that for

any i ∈ I+with pi= 1 there is a matching Eiin G[Wi] of size ai, each of whose edges

contains a good vertex. We let aij:= |Wi

by (A2); note that the aijare not necessarily integers. Then |Wi

By (†), any v ∈ Wi

M in the bipartite graph G[Wi

2] which is maximal with the property that every edge

contains a good vertex. We will show that |M| ≥ ai1+ ai2. For suppose otherwise. Then

we may fix u ∈ Yi

least ai2neighbours in Wi

vertices, each of these neighbours must be covered by M, by maximality of M. Thus there

must be an edge w1w2in M with w1∈ N(v) and w2∈ N(u). Now removing w1w2from

M and adding the edges w1v and w2u contradicts the maximality of M. We conclude that

|M| ≥ ai1+ ai2. Now we greedily extend M to a maximal matching Eiin G[Wi] for which

every edge of Ei\ M contains a vertex of Yi

each j ≥ 3, and so has total size at least?

edge e ∈ Eiℓwhich has not been used for any ℓ′< ℓ (this is possible as iℓoccurs aiℓ= |Eiℓ|

times as some iℓ′). We extend e to an iℓi′

j| − n+/k for each j ∈ [r], so |aij| ≤ βn for each j

j| = n+/k + aij≥ n + aij.

j′ for any j′?= j has at least aij neighbours in Wi

1∪ Wi

j. We fix a matching

1and v ∈ Yi

2, and v has at least ai1neighbours in Wi

2which are not covered by M. As noted above, u has at

1. Since u and v are good

1. Then Eicovers at least aijvertices in Wi

j∈[r]aij= ai, as required.

jfor

We now proceed through each ℓ ∈ [a] in turn. For each ℓ, if piℓ= 1 then we choose an

ℓ-distributed copy Kℓof Kkin G, so that Kℓis

Page 34

34 PETER KEEVASH AND RICHARD MYCROFT

vertex-disjoint from any Kℓ′previously selected for ℓ′< ℓ and from any of the edges of

?

extensions of e to an iℓi′

if piℓ≥ 2 then we choose an iℓi′

any previously chosen copy of Kkand from the matchings Ei. As before this means we must

avoid at most β′n forbidden vertices. By Claim 7.5(iii), there are at least γnk≥ β′n(rn+)k−1

iℓi′

we have a Kk-packing M1:= {Kℓ: ℓ ∈ [a]} with |M1| = a ≤ βrk2n.

Now consider any i ∈ [s]. If i ∈ I+(so ai> 0) then each copy of Kkin M1had pivertices

in Wi, except for aicopies which had pi+ 1 vertices in Wi(these are the Kℓwith iℓ= i).

On the other hand, if i / ∈ I+(so ai≤ 0) then each copy of Kkin M1had pivertices in Wi,

except for −aicopies which had pi−1 vertices in Wi(these are the Kℓwith i′

case |Wi∩V (M1)| = pi|M1|+ai= pia+|Wi|−pirn+/k. Then |Wi\V (M1)| = pi(rn+/k−a)

is a constant multiple of pifor each i ∈ [s], so the proof of Case 1 is complete.

Case 2: G has the extremal row structure. Let i∗be the unique row such that pi∗ = 2,

so row i∗is pair-complete and pi= 1 for any i ?= i∗. Recall that in this case we must satisfy

the additional condition that |Si∗\ V (M1)| is even. We divide the proof into two further

cases according to whether or not a = 0.

Case 2.1: a > 0. We start by choosing copies Kℓof Kkfor ℓ < a exactly as in Case 1. For

ℓ = a we consider three further cases, according to the value of i∗.

Case 2.1.1: i∗= ia. As in Case 1, we use Claim 7.5(iii) to choose Kato be an iai′a-

distributed copy of Kkin G that does not include a forbidden vertex. However, we also

choose Kaso that |Si∗\?

Case 2.1.2: i∗= i′a. As in Case 1, we use Claim 7.5(iv) to extend an edge e ∈ Eia

to an iai′a-distributed copy Kaof Kkin G avoiding all forbidden vertices. Here we again

impose the additional requirement that |Si∗\?

in G for each choice of parity of |V (K′) ∩ Si′a|.

Case 2.1.3: i∗?= ia,i′a. In this case, instead of choosing the extension Kaof e ∈ Eiato

be iai′a-distributed, we extend e to an iai∗-distributed copy Kaof Kkin G which avoids

any forbidden vertices (using Claim 7.5(iv) as before). The Kk-packing M1then covers ‘one

too many’ vertices in Wi′aand ‘one too few’ in Wi∗. To correct this imbalance, we apply

Claim 7.5(iii) to choose an i∗i′a-distributed copy K′of Kkin G such that K′is vertex-disjoint

from M1and |Si∗\ (V (K′) ∪ V (M1))| is even. We add K′to M1.

In each of the cases 2.1.1, 2.1.2, 2.1.3 we have |Wi\ V (M1)| = pi(rn+/k − a) for each

i ∈ [s] as in Case 1. We also have |Si∗\ V (M1)| even by construction, and |M1| ≤ βrk2n,

noting in Case 2.1.3 that we could have improved the bound on a to a ≤ βrk2n − 1. This

completes the proof in Case 2.1.

Case 2.2: a = 0. Note that ai = 0 for each i ∈ [s], so |Wi|/pi = rn+/k is constant

initially. If |Si∗| is even then M0= ∅ has the required properties, so we may assume |Si∗| is

odd. Now suppose that for some i ?= i∗there is an edge uv in G[Wi] such that u is good.

i∈I+Eiother than e itself. Then the extension of e to Kℓmust avoid a set of at most

ka+2a ≤ β′n ‘forbidden vertices’. By Claim 7.5(iv), there are at least ωnk−2> β′n(rn+)k−3

ℓ-distributed copy of Kk, so we may choose K′as desired. Similarly,

ℓ-distributed copy Kℓof Kkin G which is vertex-disjoint from

ℓ-distributed copies of Kkin G, so we can choose Kℓas desired. At the end of this process

ℓ= i). In any

ℓ∈[a]V (Kℓ)| is even. This is possible as by Claim 7.5(iii) there are

at least γnkiai′a-distributed copies K′of Kkin G for each choice of parity of |V (K′)∩Sia|.

ℓ∈[a]V (Kℓ)| is even. This is possible as by

Claim 7.5(iv) there are at least ωnk−2extensions of e to an iai′a-distributed copy K′of Kk

Page 35

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM35

By Claim 7.5(iv) we may extend uv to an ii∗-distributed copy K1of Kkin G. Now apply

Claim 7.5(iii) to choose an i∗i-distributed copy K2of Kkin G which does not intersect K1

so that |Si∗\ (V (K1) ∪ V (K2)| is even. We then have M1= {K1,K2} with the required

properties. So we may assume that no such edge exists. Now suppose instead that G[Wi∗]

contains an edge uv such that u is good and |{u,v} ∩ Si∗| = 1. By Claim 7.5(v) we may

extend uv to a copy K′of Kkwhich is properly-distributed outside row i∗. We may take

M1= {K′}, as then |V (M1)∩Si| = pifor any i ∈ [s] and |Si∗\V (M1))| is even. So we may

assume that no such edge exists. It follows that |Wi

if |Wi

since u has at most n non-neighbours in any part, but we assumed no such edge uv exists.

Likewise, it follows that |Si∗

choose j′?= j and u ∈ Yi∗

assumed did not exist.

Now for any j ∈ [r] we have |Wi∗

any i ?= i∗. Since |Wj| = |Vj| = n+≥ kn, we have n+= kn, and equality holds in each

of these inequalities. Then k divides n+and rn+/k = rn = |Si∗| is odd. Now, any good

vertex u ∈ Yi

If i ?= i∗then none of these can lie in Wi

Similarly, we deduce that any u ∈ Yi∗

u ∈ Yi∗

and j ?= j′any vertex v ∈ Wi

vertex v ∈ Si∗

|N(v) ∩ (Wi

which was shown to hold for all good vertices of G in Claim 7.3. This was the only property

of good vertices used in the proof of Claim 7.4. So we may consider every vertex of G to be

good when applying Claim 7.4, and therefore also when applying Claim 7.5. The argument

above then shows that we may choose M1as desired if there exists any edge uv in Wifor

any i ?= i∗, or any edge uv in Wi∗such that |{u,v} ∩ Si∗| = 1. Since G is not isomorphic to

Γn+,r,k, there must be some such edge. This completes the proof of Case 2.2, and so of the

claim.

j| ≤ n for any i ?= i∗and j ∈ [r]. Indeed,

j′. Then u has a neighbour v ∈ Wi

j| > n then choose j′?= j and a good vertex u ∈ Yi

j,

j|,|Wi∗

j′ \ Si∗

j\ Si∗

j| ≤ n for any j ∈ [r]. For if (say) |Si∗

j′; then u has a neighbour v ∈ Si∗

j| > n, then

j, giving an edge uv that we

j| ≤ 2n, |Si∗

j| ≤ n, |Wi∗

j\ Si∗

j| ≤ n, and |Wi

j| ≤ n for

jfor i ∈ [s] and j ∈ [r] has δ∗(G) ≥ (k − 1)n neighbours in Vj′ for any j′?= j.

j′, so we conclude that N(u) ∩ Vj′ = Vj′ \ Wi

j

∩ Si∗

\ Si∗

jhas |N(v) ∩ Wi′

jhas |N(v) ∩ Si∗

j′ \ Si

j′.

j

has N(u) ∩ Vj′ = Vj′ \ (Wi∗

j′ for any j′?= j. It follows that for any i ?= i′

j′| ≥ |Yi′

j′ ∩ Si∗

j′| ≥ (1 − β)n. So every vertex of G satisfies property (A3),

j′ \ Si∗

j′) and any

j

j

has N(u) ∩ Vj′ = Vj′ \ Si∗

j′| ≥ (1 − β)pi′n. Furthermore, any

j′| ≥ (1 − β)n, and any vertex v ∈ Wi

j′| ≥ |Yi∗

j′ \ Si

j′\ Si

jhas

j′)| ≥ |Yi

?

In the next claim we put aside an extra Kk-packing M2that is needed to provide flexibility

later in the case when there are at least two rows with pi≥ 2. If instead G has at most

one row i with pi ≥ 2 then we take M2 = ∅. The proof of the claim is immediate from

Claim 7.5(iii) so we omit it.

Claim 7.7. (Preparing multiple rows with pi≥ 2) Suppose that at least two rows of G

have pi≥ 2. Then there is a Kk-packing M2vertex-disjoint from M1such that

(i) every vertex covered by M2is good, and

(ii) M2consists of ⌈ηn⌉ ij-distributed copies of Kkin G[Y ] for each ordered pair (i,j) with

i,j ∈ [s], i ?= j and pi,pj≥ 2.

Note that (ii) implies that |M2| ≤ βn and |Wi\V (M1∪M2)|/piis constant for i ∈ [s] by

choice of M1. The latter property will be preserved when we remove all subsequent packings,

as they will only consist of properly-distributed cliques. Next we cover all remaining bad

vertices and ensure that the number of remaining vertices is divisible by rk · r!.

Page 36

36PETER KEEVASH AND RICHARD MYCROFT

Claim 7.8. (Covering bad vertices and ensuring divisibility) There is a Kk-packing

M3vertex-disjoint from M1∪M2, consisting of at most βn properly-distributed copies of Kk,

such that

(i)?

Proof. Let B′be the set of all bad vertices in G which are not covered by M1∪ M2. Then

by (A1) we have |B′| ≤ βn/2. We fix βn/2 ≤ C ≤ βn so that C ≡ rn+/k − |M1∪ M2|

modulo r · r! (recall that rn+/k is an integer). We will greedily choose M3 to consist of

C copies of Kk. As long as some vertex v ∈ B′remains uncovered, we choose some such

v and select a properly-distributed copy of Kk containing v. Once every vertex in B′is

covered we repeatedly choose a properly-distributed copy of Kkuntil we have C copies of

Kk in total. At any step there are at most k(|M1∪ M2| + C) ≤ β′n forbidden vertices

covered by M1∪M2or a previously-chosen member of M3, so there will always be a suitable

choice available for the next member of M by Claim 7.5(i) or (ii). Fix such an M3. Then

|V (G)\?

i∈[3]Micovers every vertex of B′, and

(ii) the number of vertices not covered by?

i∈[3]Miis divisible by rk · r!.

i∈[3]V (Mi)|/k = rn+/k−|M1∪M2|−C ≡ 0 modulo r·r!, so |V (G)\?

i∈[3]V (Mi)|

is divisible by kr · r!.

?

The penultimate Kk-packing is chosen so that equally many vertices are covered in each

part Vj.

Claim 7.9. (Balancing columns) There is a Kk-packing M4vertex-disjoint from?

(i) |Vj∩?

(iii) rk · r! divides |M4|.

Proof. We let a′

j:= |?

be an integer since r divides both |V (G) \?

J−:= {j ∈ [r] : a′

and j′

times as some j′

(Aq\{jq})∪{j′

as some Aqor A′qrespectively. Note that NA≤ a′≤ 2βr2k3n, so 2βr2k3n+N′

any A ∈?[r]

A for each A ∈?[r]

rk · r! then divides |M4|. We also require that these copies are pairwise vertex-disjoint, and

vertex-disjoint from?

k

need to avoid the at most 2βrk3n+?r

i∈[3]Mi,

consisting of properly-distributed cliques, such that

i∈[4]V (Mi)| = k|?

i∈[4]Mi|/r for any j ∈ [r],

(ii) |?

i∈[4]V (Mi)| ≤ β′n/2, and

i∈[3]V (Mi)∩Vj|−k|?

i∈[3]Mi|/r for each j ∈ [r]. So?

i∈[3]V (Mi)| (by choice of M3) and |V (G)|

j∈[r]|V (Mi)| =

0, and |a′

j| ≤ |?

i∈[3]V (Mi)| ≤ 2βrk3n for each j ∈ [r]. Note also that each a′

jmust

(by assumption). Similarly to the proof of Claim 7.6, we let J+:= {j ∈ [r] : a′

j< 0}, and a′:=?

q. Now, for each q ∈ [a′] choose sets Aq,A′q∈?[r]

k

j> 0},

j∈J+a′

j= −?

j∈J−a′

j. We form sequences j1,...,ja′

jtimes as some jq, and each j ∈ J−occurs −a′

k

?such that jq∈ Aqand A′q=

1,...,j′

a′ such that each j ∈ J+occurs a′

j

q}. For each A ∈?[r]

?. Fix an integer C′such that kr · r! divides C′and 2βr2k3n ≤ C′≤ 3βr2k3n.

k

?. Since?

i∈[3]Mi. We may choose M4greedily, since by Claim 7.5(i), for any

?there are ωnkcopies of Kkin G with index A, and when choosing each copy we only

k

members of M4. Now, since for any q ∈ [a′] we have Aq\ A′q= {jq} and A′q\ Aq= {j′

?let NAand N′

Abe the number of times that A appears

A−NA≥ 0 for

k

We choose M4to consist of C′+N′

A−NAproperly-distributed copies of Kkin G with index

A∈([r]

k)(N′

A−NA) = 0, this will give us |M4| = C′?r

k

?; note that

A ∈?[r]

?C′vertices covered by?

i∈[3]Mior previously chosen

q}, for

Page 37

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM37

any j ∈ [r] we have

|V (M4) ∩ Wj| =

?

A∈([r]

k):j∈A

(C′+ N′

A− NA) = C′

?r − 1

k − 1

?

− a′

j=k|M4|

r

− a′

j.

Then |Vj∩?

j ∈ [r]. Finally, |?

The final Kk-packing is chosen so that the remaining blocks all have size proportional to

their row size.

i∈[4]V (Mi)| = k|M4|/r − a′

i∈[4]V (Mi)| ≤ C′?[r]

j+ |?

i∈[3]V (Mi) ∩ Vj| = k|?

i∈[4]Mi|/r for any

k

?+ 2βrk3n ≤ β′n/2.

?

Claim 7.10. (Balancing blocks) There is a Kk-packing M5vertex-disjoint from?

V (M), X′i=?

X′i

has at most βn ≤ αn′non-neighbours in any X′i′

Proof. For each i ∈ [s] and j ∈ [r] we let W′i

W′

j:=?

properly-distributed. Recall also that |W′

Q = (qij) be the s by r integer matrix whose (i,j) entry is qij= |W′i

row of Q sums to zero. Furthermore, since |W′

?

i.e. each column of Q also sums to zero. We also have?

We write Q =?

or (i,j) = (c,d), equal to −1 if (i,j) = (a,d) or (i,j) = (c,b), and equal to zero otherwise.

To see that such a representation is possible, we repeat the following step. Suppose qab> 0

for some a,b. Since each row and column of Q sum to zero, we may choose c,d such that

qad< 0 and qcb< 0. Then Q′:= Q−Qabcdis an s by k integer matrix in which the entries of

each row and column sum to zero. Also, writing Q′= (q′

By iterating this process at most?

Let P denote the set of all families A of pairwise vertex-disjoint subsets Ai⊆ [r] with

|Ai| = pifor i ∈ [s]. To implement a matrix Qabcd∈ Q we fix any two families A,A′such

that b ∈ Aaand d ∈ Ac, and A′is formed from A by swapping b and d. That is, A′

i ∈ [s]\{a,c}, A′a= (Aa\{b})∪{d} and A′c= (Ac\{d})∪{b}. For each A ∈ P let QAbe the

number of times it is chosen as A for some Qabcd, and Q′

A′for some Qabcd. Fix an integer C′′such that kr·r! divides C′′and rkβ′n ≤ C′′≤ 2rkβ′n.

For each A ∈ P let NA= C′′+ QA− Q′

i∈[4]Mi,

j:= Wi

consisting of properly-distributed cliques, such that defining M =?

i ∈ [s] and j ∈ [r], where n′= |X′|/kr is an integer divisible by r! with n′≥ n−ζn/2. Thus

jforms a row-decomposition of G′:= G[X′] of type p. Furthermore, any vertex v ∈ X′i

i∈[5]Mi, X′i

j| = pin′for any

j\

j∈[r]X′i

jand X′=?

i∈[s]X′i= V (G) \ V (M), we have |X′i

j

j′ with i′?= i.

j= Wi

j\ V (?

i∈[4]Mi), W′i:=?

j∈[r]W′i

j,

i∈[s]W′i

j, and W′=?

j∈[r]W′

j. We may fix an integer D so that |W′i| = piD for

any i ∈ [s], since |Wi\V (M1∪M2)|/piis constant for i ∈ [s] and each clique in M3∪ M4is

j| is constant for each j ∈ [r] by choice of M4. Let

j| − piD/r. Then each

j| is constant for each j ∈ [r] we have

j| − piD/r) = |W′

i∈[s]

qij=

?

i∈[s]

(|W′i

j| − |W′|/r = 0,

i,j|qij| ≤ β′n using (A2) and Claim

7.9(ii).

A∈QA, where Q is a multiset of matrices. Each matrix in Q is of the form

Qabcd, for some a,c ∈ [s] and b,d ∈ [r], defined to have (i,j) entry equal to 1 if (i,j) = (a,b)

ij), we have?

i,j|q′

ij| ≤?

i,j|qij|−2.

i,j|qij|/2 times we obtain the all-zero matrix, whereupon

we have expressed Q in the required form with |Q| ≤ β′n, counting with multiplicity.

i= Aiif

Athe number of times it is chosen as

A, so NA≥ 0.

Page 38

38PETER KEEVASH AND RICHARD MYCROFT

Now we greedily choose M5 to consist of NA copies of K′for each A ∈ P, each of

which will intersect each Wiin precisely those Wi

|M5| =?

there are at most kζn such vertices. By Claim 7.5(i), for any A ∈ P there are at least ωnk

properly-distributed copies of Kkin G which intersect each Wiin precisely those Wi

that j ∈ Ai, so we can indeed choose M5greedily. This defines M, X′i

as in the statement of the claim. Note that |M| ≤ ζn, and kr · r! divides |X′| by Claims

7.8(ii) and 7.9(iii) and the choice of C′′.

Finally, consider the number of vertices used in Wa

chosen uniformly at random, then Aais a uniformly random subset of size pa, so contains b

with probability pa/r. So if we chose C′′copies of each A ∈ P we would choose paN vertices

in Wa

to adjust by QA− Q′

more vertex in each of Wa

Q =?

r!. Note also that n − n′≤ |V (M)|/kr ≤ ζn/2. Lastly, by choice of M3every bad vertex

is covered by M, so any vertex v ∈ X′i

with i′?= i and j′?= j by (A3).

jsuch that j ∈ Ai. Then we will have

A∈PNA = C′′|P| ≤ ζn/2. When choosing any copy of Kkwe must avoid the

vertices of copies of Kk which were previously chosen for M5, or which lie in?

i∈[4]Mi;

jsuch

j, X′i, X′

j, X′, n′, G′

b, where a ∈ [s], b ∈ [r]. If A ∈ P is

b, where N := C′′|P|/r. However, since we choose NAcopies of each A ∈ P, we need

A. These are chosen so that for each matrix Qabcd∈ Q we choose one

band Wc

A∈QA we thus use paN +qabvertices in Wa

pa(D/r − N). Writing n′= D/r − N, we have n′= |X′|/kr, so n′is an integer divisible by

d, and one fewer vertex in each of Wa

b. This gives |X′a

dand Wc

b|−paN −qab=

b. Since

b| = |W′a

jhas at most βn ≤ αn′non-neighbours in any X′i′

j′

?

After deleting M as in Claim 7.10, we obtain G′with an s-row-decomposition X′that

satisfies conclusion (i) of Lemma 7.2. To complete the proof, we need to satisfy conclusion

(ii), by finding a balanced perfect Kpi-packing in row i for each i ∈ [s]. We consider two

cases according to whether or not there are multiple rows with pi≥ 2.

Case 1: There is at most one row i with pi≥ 2.

Case 1.1: pi = 1 for any i ∈ [s]. For each i ∈ [s] there is a trivial balanced perfect

K1-packing in G[X′i], namely {{v} : v ∈ X′i}. This satisfies condition (ii), so the proof is

complete in this case.

Case 1.2: G has the extremal row structure.

complete row i∗, and pi= 1 for any i ?= i∗. There is a trivial balanced perfect K1-packing

in G[X′i] for any i ?= i∗, so it remains only to find a balanced perfect matching in G[X′i∗].

Since row i∗is pair-complete, we chose sets Si∗

S′i∗

j\ V (M) for each j ∈ [r]. Then

This means that G has one pair-

jfor j ∈ [r] when forming the sets Wi

j. Let

j:= Si∗

j∩ X′i

j= Si∗

(1 + β)n

(A2)

≥ |Wi∗

j| = (1 ± 2ζ)n′for each j ∈ [r]. Recall also that in this case we required that

|Si∗\ V (M1)| was even when choosing M1, and M2was empty. Furthermore, any copy K′

of Kkin M3∪ M4∪ M5was chosen to be properly-distributed, so in particular |K′∩ Si∗| is

even. We conclude that |Si∗\ V (M)| is even. Since every bad vertex of G was covered by

M3⊆ M, by (A3) for any j′?= j any vertex in S′i∗

in S′i∗

j| − |Yi∗

j \ Si∗

j| ≥ |Si∗

j| ≥ |S′i∗

j| ≥ |Si∗

j| − |M|

(A2)

≥ (1 − β/2)n − ζn,

and so |S′i∗

jhas at most βn ≤ 2ζn′non-neighbours

jhas at most βn ≤ 2ζn′non-neighbours in X′i∗

j′, and any vertex in X′i∗

j\S′i∗

j′ \S′i∗

j′ by

Page 39

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM39

(A3). By Lemma 6.4 (with 2ζ in place of ζ) we conclude that G[X′i∗] contains a balanced

perfect matching, completing the proof in this case.

Case 1.3: pℓ= 2 for some ℓ, pi′ = 1 for any i′?= ℓ, but row ℓ is not pair-complete.

Recall that this means that G1[Xℓ] was not d′-pair-complete. Recall also that G1[Xℓ] was not

d′-splittable (this is true of any row of G1). Since by (A2) we have |Xℓ

any j ∈ [r], Proposition 6.1 implies that G[X′ℓ] is neither d′′-splittable nor d′′-pair-complete.

So G[X′ℓ] contains a ν-balanced perfect matching by Corollary 5.7. Then Proposition 6.5

implies that there exists an integer D ≤ 2νn′and a Kk-packing M∗in G such that r! divides

n′′:= n′−D, M∗covers piD vertices in X′i

contains a balanced perfect matching. Note that since n′≥ n−ζn/2 we have n′′≥ n+/k−ζn.

We add the copies of Kkin M∗to M, and let X′′i

X′i, X′, G′by deleting the vertices covered by M∗. This leaves an s-row-decomposition of

G′′into blocks X′′i

before G[X′′i] contains a trivial balanced K1-packing for every i ?= ℓ. Finally, any vertex

v ∈ X′i

has at least pi′n′− 2βn ≥ pi′n′′− αn′′. So the enlarged matching M, restricted blocks X′′i

and G′′satisfy (i) and (ii) with n′′in place of n′, which completes the proof of this case, and

so of Case 1.

j△X′ℓ

j| ≤ 2ζ(2n) for

jfor any i ∈ [s] and j ∈ [r], and G[X′ℓ\V (M∗)]

j, X′′i, X′′, G′′be obtained from X′i

j,

jof size pin′′, in which G[X′′ℓ] contains a balanced perfect matching. As

jhas lost at most k|M∗| ≤ βn neighbours in X′i′

j′ for any i ?= i′and j ?= j′, so still

j

Case 2: There are at least two rows i with pi≥ 2. In this case we modify the cliques in

M2and the blocks X′i

Kpi-packing for each i ∈ [s]. We proceed through each i ∈ [s] in turn. When considering

any i ∈ [s] we leave all blocks X′i′

that G[X′i

j] contains a trivial balanced K1-packing. Suppose next that pi≥ 3, and recall

that G1[X1] was not d′-splittable. As in Case 1.3, Proposition 6.1 implies that G[X′i] is not

d′′-splittable. So G[X′i] contains a balanced perfect Kpi-packing by Lemma 6.2.

This leaves only those rows i ∈ [s] with pi= 2 to consider. Suppose first that row i is pair-

complete. As in Case 1.2 we let S′i

for each j ∈ [r], and for any j′?= j, any vertex in S′i

S′i

even then G[X′i

j] contains a balanced perfect matching by Lemma 6.4. So we may suppose

that |S′i| is odd. Fix any i′with i′?= i and pi′ ≥ 2. We choose any i′i-distributed copy K′of

Kkin M2, let x be the vertex of K′in X′i, and let j be such that x ∈ X′i

every vertex in K′is good, so at least 2n′− kβn vertices y ∈ X′i

member of V (K′) \ {x}. So we may choose a vertex y ∈ X′i

|{x,y}∩Si

and replace y by x in X′i

x ∈ Si

to find a balanced perfect matching in G[X′i].

Finally suppose that pi= 2 and row i is not pair-complete, that is G1[Xi] was not d′-

pair-complete. Since G1[Xi] was also not d′-splittable, as before Proposition 6.1 implies that

G[X′i] is neither d′′-splittable nor d′′-pair-complete. Fix any i′with i′?= i and pi′ ≥ 2. Recall

that M2contains ⌈ηn⌉ copies K′of Kkin G[Y ] which are i′i-distributed. We can fix q ∈ [r]

so that at least ηn/r such K′have exactly one vertex in Yi

jso that after these modifications G[X′i

j] contains a balanced perfect

jwith i′?= i unaltered. If pi= 1, then we have already seen

j= Si

j∩X′i

jfor each j ∈ [r], which gives |S′i

jhas at most 2ζn′non-neighbours in

jhas at most 2ζn′non-neighbours in X′i

j| = (1+2ζ)n′

j′, and any vertex in X′i

j\ S′i

j′ \ S′i

j′. If |S′i| is

j. By Claim 7.7(i),

jare adjacent to every

v∈V (K′)\{x}N(v) such that

j∩?

jif y ∈ S′i

j| is odd. We replace K′in M by the copy of Kkin G induced by {y}∪V (K′)\{x},

jand G′. We also delete y from S′i

j. So |S′i

j, and add x to S′i

jif

j| is now even. Since x is good, we may now apply Lemma 6.4 as in Case 1.2

q. We assign arbitrarily ηn/r such

Page 40

40PETER KEEVASH AND RICHARD MYCROFT

K′to each ordered triple (i1,i2,i3) of distinct elements of [r] \ {q}, so that at least ηn/r4

of the K′are assigned to each triple. Now, fix any triple (j1,j2,j3) and any K′which was

assigned to it. Let x be the vertex of K′in Yi

q, and consider paths xx1x2x3y of length 4 in

G with xℓ∈ X′i

is good and does not lie in Wi, at most kβn vertices y ∈ X′i

V (K′)\{x}. Choosing x1,x2,x3and y in turn, recalling (†) and n′≥ n−ζn/2, there are at

least 2n′−n ≥ (1−ζ)n′choices for each xℓ, and at least 2n′−n−(k−1)βn ≥ (1−ζ)n′choices

for y. We obtain at least n4/2 such paths, and so we may fix some y = y(x) which lies in at

least n3/5 such paths. For each of these n3/5 paths xx1x2x3y we add a ‘fake’ edge between

y and x1. Then allowing the use of fake edges, y lies in at least n3/5 4-cycles x1x2x3y of

length 4 in G with xℓ∈ X′i

K′in M2which was assigned to the triple (j1,j2,j3), for every ordered triple (j1,j2,j3) of

distinct elements of [r]\{q}. Let G∗be the graph formed from G[X′i] by the addition of fake

edges. Then by construction, for any triple (j1,j2,j3) there are at least (ηn/r4)(n3/5) ≥ νn4

4-cycles yx1x2x3in G∗with y ∈ X′i

a spanning subgraph G[X′i] which is neither d′′-splittable nor d′′-pair-complete, and has

δ∗(G[X′i]) ≥ 2n′− n ≥ n′− ζn. Then G∗contains a balanced perfect matching M∗by

Lemma 6.2 (with q in place of 1). Of course, M∗may contain fake edges. However, any

fake edge in M∗is of the form y(x)x1, where x1is a neighbour of x, and x lies in some K′

in M2. Since y(x) is uniquely determined by x and M∗is a matching, at most one edge in

M∗has the form y(x)x1for each x. Furthermore, by choice of y = y(x), {y} ∪ V (K′) \ {x}

induces a copy K′

replace y in X′i

G. We carry out these substitutions for every fake edge in M∗, at the end of which M∗is a

perfect matching in G[X′i], which is balanced since each edge was replaced with another of

the same index.

When considering row i we only replace cliques of M2that are i′i-distributed for some

i′?= i. These cliques uniquely determine i, so do not affect the replacements for other rows.

We may therefore proceed through every i ∈ [s] in this manner. After doing so, the modified

blocks X′i

this row-decomposition of the modified G′satisfies condition (ii) of the lemma. Note that

we still have |X′i

vertices, every vertex in any modified block X′i

holds as in Claim 7.10. This completes the proof of Lemma 7.2.

jℓfor ℓ ∈ [3] and y ∈ X′i

q∩?

v∈V (K′)\{x}N(v). Since every vertex of K′\{x}

qfail to be adjacent to all of

jℓfor ℓ ∈ [3]. We introduce fake edges in this manner for every

qand xℓ∈ X′i

jℓfor ℓ ∈ [3]. Furthermore, G∗contains

yof Kkin G, and xx1is an edge. So we may replace K′in M2by K′

qby x (note that x is good), and the fake edge yx1in M∗by the edge xx1of

y,

jare such that G[X′i] contains a balanced perfect Kpi-packing for any i ∈ [s], i.e.

j| = pin′for any i ∈ [s]. Since we only replaced good vertices with good

jis good, and so condition (i) of the lemma

8. Completing the proof of Theorem 1.1.

In this final section we combine the results of previous sections to prove Theorem 1.1. We

also need the following lemma from [5], which gives a minimum degree condition for finding

a perfect matching in a k-partite k-graph whose vertex classes each have size n.

Lemma 8.1 ([5]). Suppose 1/n ≪ dk≪ 1/k and G is a k-partite k-graph on vertex classes

V1,...,Vkof size n. If every vertex of G lies in at least (1 − dk)nk−1edges of G then G

contains a perfect matching.

We can now give the proof of Theorem 1.1, as outlined in Section 3, which we first restate.

Page 41

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM 41

Theorem 1.1.

following statement holds. Let G be a r-partite graph whose vertex classes each have size n

such that δ∗(G) ≥ (k − 1)n/k. Then G contains a perfect Kk-packing, unless rn/k is odd,

k | n, and G∼= Γn,r,k.

Proof. First suppose that k = 2, so a perfect Kk-packing is a perfect matching. If r = 2

then G is a bipartite graph with minimum degree at least n/2, so has a perfect matching.

For r ≥ 3 the result follows from Tutte’s theorem, which states that a graph G on the

vertex set V contains a perfect matching if and only if for any U ⊆ V the number of odd

components (i.e. connected components of odd size) in G[V \U] is at most |U|. To see that

this implies the theorem for k = 2, suppose for a contradiction that there is some U ⊆ V

for which G[V \ U] has more than |U| odd components. Clearly |U| < |V |/2 = rn/2. So by

averaging U has fewer than n/2 vertices in some Vj. Since δ∗(G) ≥ n/2, every v ∈ V \Vjhas

a neighbour in Vj\ U, so G[V \ U] has at most |Vj\ U| ≤ n components. So we must have

|U| < n. But then U must have fewer than n/r ≤ n/3 vertices in some Vj, so any v ∈ V \Vj

has more than n/6 neighbours in Vj. It follows that G[V \ U] has at most 5 components,

so |U| < 5. So any v ∈ V \ Vjactually has more than n/2 − 5 > n/3 neighbours in Vj, so

G[V \U] has at most 2 components. So |U| ≤ 1. If |U| = 1 then |V \U| is odd, so G[V \U]

cannot have 2 odd components. The only remaining possibility is that |U| = 0 and G has 2

odd components. Let C1and C2be these components, and for each i ∈ [2] and j ∈ [r] let Vi

be the vertices of Vjcovered by Ci. Then |Vi

and G[Vi

odd, 2 divides n and G is isomorphic to Γn,r,2, contradicting our assumption.

We may therefore assume that k ≥ 3. If r = k = 3 then Theorem 1.1 holds by the

result of [8]. So we may assume that r > 3. We introduce new constants d and d′with

1/n ≪ d ≪ d′≪ 1/r. Since r > 3 and r ≥ k ≥ 3 we may apply Lemma 7.2 (with n and d

in place of n+and α) to delete the vertices of a collection of pairwise vertex-disjoint copies

of Kkfrom G. Letting V′be the set of undeleted vertices, we obtain G′= G[V′] and an

s-row-decomposition of G′into blocks X′i

and pi∈ [k] with?

(i) for each i,i′∈ [s] with i ?= i′and j,j′∈ [r] with j ?= j′, any vertex v ∈ X′i

pi′n′− dn′neighbours in X′i′

(ii) for every i ∈ [s] the row G[X′i] contains a balanced perfect Kpi-packing Mi.

Note that we must have |Mi| = rn′for any i ∈ [s].

Now we implement step (iii) of the proof outline, by constructing auxiliary hypergraphs,

perfect matchings of which describe how to glue together the perfect Kpi-packings in the

rows into a perfect Kk-packing of G. We partition [k] arbitrarily into sets Aiwith |Ai| = pi

for i ∈ [s]. Let Σ denote the set of all injective functions σ : [k] → [r]. For each i ∈ [s] we

partition Miinto sets Ei

r!

index σ(Ai). To see that this is possible, fix any B ∈?[r]

Since

(r−k)!

pi

?

{e1,e2,...,es} with ei∈ Ei

For any r ≥ k there exists n0such that for any n ≥ n0with k | rn the

j

j| ≥ δ∗(G) ≥ n/2, so we deduce that |Vi

j| = n/2

j,Vi

j′] is a complete bipartite graph for any i ∈ [2] and j ?= j′. So |C1| = rn/2 is

jof size pin′for i ∈ [s] and j ∈ [r], for some s ∈ [k]

i∈[s]pi= k, such that r! | n′, n′≥ n/k − dn and

jhas at least

j′, and

σof size N :=rn′(r−k)!

for σ ∈ Σ, so that each member of Ei

pi

members of Σ with σ(Ai) = B.

we may choose the sets Ei

σas required. For every σ ∈ Σ,

σhas

?. Since Miis balanced, rn′/?r

(r−k)!

pi

?

members of Mihave index B. Note that there arepi!(r−pi)!

· N = rn′/?r

σfor each i ∈ [s] is an edge of Hσif and only if xy ∈ G for any

pi!(r−pi)!

we form an auxiliary s-partite s-graph Hσ with vertex classes Ei

σfor i ∈ [s], where a set

Page 42

42PETER KEEVASH AND RICHARD MYCROFT

i ?= j, x ∈ eiand y ∈ ej. Thus Hσhas N vertices in each vertex class, and e1e2...esis an

edge of Hσif and only if?

for any ei∈ Ei

x ∈ V (ei) has at most dn′non-neighbours in each X′ℓ

most pidn′vertices of X′ℓ

jare not neighbours of some vertex of ei. Now we can estimate the

number of (s − 1)-tuples (ej∈ Ej

There are fewer than k choices for j ∈ [s]\{i}, at most pidn′elements ej∈ Ej

a non-neighbour of some vertex of ei, and at most Ns−2choices for ej′ ∈ Ej′

So the number of edges of Hσcontaining eiis at least Ns−1− kpidn′Ns−2≥ (1 − d′)Ns−1.

Since eiwas arbitrary, Lemma 8.1 gives a perfect matching in each Hσ. This corresponds to

a perfect Kk-packing in G covering the vertices of?

pairwise vertex-disjoint copies of Kkdeleted in forming G′, we obtain a perfect Kk-packing

in G.

j∈[s]V (ej) induces a copy of Kkin G.

Next we show that each Hσ has high minimum degree. Fix σ ∈ Σ and i ∈ [s]. Then

σ, eiis a copy of Kpiin G[X′i] with index σ(Ai), and so by (i) each vertex

jwith ℓ ?= i and j / ∈ σ(Ai). So at

σ: j ∈ [s] \ {i}) so that {e1,...,es} is not an edge of Hσ.

σthat contain

σ, j′∈ [s]\{i,j}.

i∈[s]V (Ei

σ), where V (Ei

σ) denotes the

vertices covered by members of Ei

σ. Combining these perfect Kk-packings, and adding the

?

9. Concluding remarks

By examining the proof, one can obtain a partial stability result, i.e. some approximate

structure for any r-partite graph G with vertex classes each of size n, where k | rn, such

that δ∗(G) ≥ (k − 1)n/k − o(n), but G does not contain a perfect Kk-packing. To do this,

note that under this weaker minimum degree assumption, the n in (†) must replaced by

n+o(n). We now say that a block Xi

jis bad with respect to v if v has more than n/2+o(n)

non-neighbours in Xi

j, so it is still true that at most one block in each column is bad with

respect to a given vertex. Then each of our applications of (†) proceeds as before, except

for in Claim 7.6, where we used the exact statement of (†) (i.e. the exact minimum degree

hypothesis). This was needed to choose a matching Eiin G[Wi] of size ai, each of whose

edges contains a good vertex, for each i ∈ I+with pi= 1. If we can choose such matchings

Eithen the rest of the proof to give a perfect Kk-packing still works under the assumption

δ∗(G) ≥ (k − 1)n/k − o(n). So we can assume that there is some i ∈ I+with pi= 1 for

which no such matching exists. Since the number of bad vertices and aiare o(n), it follows

that Wiis a subset of size rn/k + o(n) with o(n2) edges, i.e. we have a sparse set of about

1/k-proportion of the vertices. On the other hand, this is essentially all that can be said

about the structure of G, as any such G with an independent set of size rn/k + 1 cannot

have a perfect Kk-packing.

References

[1] B. Csaba and M. Mydlarz, Approximate Multipartite Version of the Hajnal–Szemer´ edi Theorem, J.

Combinatorial Theory, Series B, to appear.

[2] E. Fischer, Variants of the Hajnal-Szemer´ edi Theorem, J. Graph Theory 31 (1999), 275–282.

[3] S. Hakimi, On the realizability of a set of integers as degrees of the vertices of a graph, SIAM J. Appl.

Math. 10 (1962), 496–506.

[4] S. Janson, T. ? Luczak and A. Ruci´ nski, Random graphs, Wiley-Interscience, 2000.

[5] P. Keevash and R. Mycroft, A geometric theory for hypergraph matching, arXiv:1108.1757.

[6] D. K¨ uhn and D. Osthus, Embedding large subgraphs into dense graphs, Surveys in Combinatorics 2009,

Cambridge University Press, 2009, 137–167.

Page 43

A MULTIPARTITE HAJNAL-SZEMER´EDI THEOREM43

[7] A. Lo and K. Markstr¨ om, A multipartite version of the Hajnal-Szemer´ edi theorem for graphs and

hypergraphs, arXiv:1108.4184.

[8] C. Magyar and R. Martin, Tripartite version of the Corr´ adi-Hajnal theorem, Disc. Math. 254 (2002),

289–308.

[9] R. Martin and E. Szemer´ edi, Quadripartite version of the Hajnal-Szemer´ edi theorem, Disc. Math. 308

(2008), 4337–4360.

Peter Keevash

School of Mathematical Sciences

Queen Mary, University of London

London, UK

Richard Mycroft

School of Mathematics

University of Birmingham

Birmingham, UK

E-mail addresses: p.keevash@qmul.ac.uk, r.mycroft@bham.ac.uk