Part III · The Deep Theory
Chapter 7: Extremal Graph Theory
How much bulk must a graph have before a shape is forced to appear inside it? After this chapter you will know the exact answer for cliques, the asymptotic answer for every pattern at once, and you will be able to read the statement that every large dense graph is a small weighted graph plus noise.
One question in many disguises
Here is the entire chapter in one sentence. How much bulk must a graph have before a particular shape is forced to appear somewhere inside it?
Try the smallest interesting case by hand. Take five vertices and draw edges, as many as you like, but avoid making a triangle. Six edges is achievable: split the five vertices into a pair and a triple, and join every vertex of the pair to every vertex of the triple. Any three vertices must then include two from the same side, and two vertices on the same side are not joined, so no triangle exists. Seven edges is not achievable, as you can check by trying. On five vertices, six is exactly the triangle threshold: at six you can still dodge, at seven you cannot.
That experiment is the subject in miniature. Extremal graph theory studies such thresholds and the graphs sitting exactly at the boundary, with as much bulk as possible and still no forbidden shape. Those record holders are called extremal graphs, and the first surprise is how organised they are: pushing a graph to the limit of avoidance forces it into a rigid pattern.
"Bulk" will mean one of four things in this chapter: the total number of edges, the average degree \(d(G)\) (from Chapter 1: the average number of edges touching a vertex), the chromatic number \(\chi(G)\) (from Chapter 5: the fewest colours needed so that adjacent vertices differ), and the girth \(g(G)\) (the length of the shortest cycle). The last one is a strange kind of bulk, since large girth means an absence of short cycles, and yet it will turn out to force enormous structure.
"Shape" will mean one of three things, all from Chapter 1, and their differences run the whole chapter:
- Subgraph, written \(H \subseteq G\). A copy of \(H\) sits inside \(G\), using vertices and edges of \(G\). Extra edges among those vertices are allowed; this is not the induced notion.
- Topological minor, written \(TH \subseteq G\). A copy of \(H\) in which every edge may be stretched into a path, and the paths must avoid each other except at their ends. A subdivided triangle is a cycle of any length.
- Minor, written \(H \preccurlyeq G\). Find disjoint connected branch sets in \(G\), one per vertex of \(H\), with at least one edge of \(G\) between two branch sets whenever \(H\) has the corresponding edge. Squash each branch set to a point and you see \(H\).
These three nest in one direction. A subgraph copy is a topological copy whose paths have length 1, and a topological copy becomes a minor once each path is contracted. So subgraphs are hardest to find and minors easiest, and the forcing costs run the other way: subgraphs are expensive to force, minors cheap. Learners invert this constantly, so fix the direction now.
The chapter splits into two halves. The first answers the threshold question. Subgraph containment needs a constant fraction of all possible edges, the dense regime, where Turán's theorem is exact for cliques and the Erdős–Stone theorem is asymptotic for every pattern at once. Minor containment needs only a linear number of edges, the sparse regime, which closes with Hadwiger's conjecture, widely considered the deepest open problem in graph theory.
The second half teaches a technique: Szemerédi's regularity lemma, which says that every large graph, however wild, looks at coarse resolution like a small weighted graph plus noise. Two reusable tools follow, the counting lemma and the removal lemma, and then a result with no graphs in it at all: every set of integers that keeps a fixed percentage of the whole numbers contains three evenly spaced numbers. A theorem about arithmetic, proved by drawing a graph.
This is the hardest chapter in Part III. Take it in the order written. Everything after the regularity lemma depends on being comfortable with what that lemma says, and the plain-language version of it is given at length before a single \(\epsilon\) appears.
A graph \(G\) contains a subdivided triangle, \(TK^3 \subseteq G\). Which of these must also be true?
New notation in this chapter
Twelve symbols are genuinely new; the rest are recalled from earlier chapters and re-glossed where they appear. If \(X \subseteq A\) ("X is a subset of A") is still unfamiliar, Chapter 0 is the bootstrap.
| Symbol | Read it as | Meaning | Tiny example |
|---|---|---|---|
| \(\mathrm{ex}(n, H)\) | "the extremal number of H at n" | The largest number of edges an \(n\)-vertex graph can have while containing no copy of \(H\) as a subgraph. | \(\mathrm{ex}(5, K^3) = 6\): six edges dodge a triangle on 5 vertices, seven cannot. |
| \(T^{r-1}(n)\) | "the Turán graph" | Split \(n\) vertices into \(r-1\) teams of nearly equal size and join every pair from different teams. | \(T^3(8)\) has teams of sizes 3, 3, 2. |
| \(t_{r-1}(n)\) | "the Turán edge count" | The number of edges of \(T^{r-1}(n)\). | \(t_3(8) = 3{\cdot}3 + 3{\cdot}2 + 3{\cdot}2 = 21\). |
| \(K^r\) | "the complete graph on r vertices" | (From Chapter 1.) Every pair joined. Diestel writes \(K^r\) where many books write \(K_r\); this course follows Diestel. | \(K^3\) is a triangle, \(K^4\) has 4 vertices and 6 edges. |
| \(K_{r,s}\) | "complete bipartite" | (From Chapter 1.) Two sides of sizes \(r\) and \(s\), every cross pair joined, nothing inside a side. | \(K_{2,3}\) has 6 edges and no triangle. |
| \(K^r_s\) | "the blown-up clique" | The complete \(r\)-partite graph with \(s\) vertices in every part. \(K^r_1 = K^r\). | \(K^3_2\) is the octahedron: 6 vertices, 12 edges, 8 triangles. |
| \(\lVert X, Y \rVert\) | "the number of X-to-Y edges" | For disjoint vertex sets \(X\) and \(Y\), how many edges have one end in each. | In \(K_{2,3}\) with sides \(X, Y\): \(\lVert X, Y\rVert = 6\). |
| \(d(X, Y)\) | "the density of the pair X, Y" | \(\lVert X, Y\rVert / (|X|\,|Y|)\): the fraction of the possible cross edges that are present, a number between 0 and 1. | \(|X| = |Y| = 10\) with 40 cross edges gives \(d(X,Y) = 0.4\). |
| \(\epsilon\)-regular pair | "epsilon-regular" | A pair of sets in which every reasonably large window has about the same density as the whole pair. | A random bipartite graph is \(\epsilon\)-regular for small \(\epsilon\), with high probability. |
| \(\{V_0, V_1, \dots, V_k\}\) | "an epsilon-regular partition" | Equal chunks \(V_1, \dots, V_k\) plus a small leftover bin \(V_0\), such that all but a few chunk pairs are \(\epsilon\)-regular. | The output the regularity lemma guarantees. |
| \(V_0\) | "the exceptional set" | The leftover bin of the partition, small and ignored when regularity is judged. It exists so the other parts can be exactly equal in size. | With \(n = 103\) and \(k = 10\) parts of size 10, \(V_0\) holds 3 vertices. |
| \(R\) | "the regularity graph" | The small summary graph: one vertex per chunk, joined when the chunk pair is \(\epsilon\)-regular and has density at least \(d\). | If only the pairs among \(V_1, V_2, V_3\) qualify, \(R\) is a triangle. |
| \(R_s\) | "R blown up by s" | Replace each vertex of \(R\) by \(s\) copies and each edge by all \(s^2\) cross edges. | For \(R = K^3\) and \(s = 2\), \(R_s = K^3_2\). |
| \(\hom(H, G)\) | "the homomorphism count" | How many maps from the vertices of \(H\) to the vertices of \(G\) send every edge of \(H\) to an edge of \(G\). Non-adjacent vertices may collapse together. | \(\hom(K^2, G) = 2\lVert G\rVert\): each edge counted in both directions. |
| \(r_k(n)\) | "r-k of n" | The largest size of a subset of \(\{0, 1, \dots, n-1\}\) containing no \(k\) evenly spaced numbers. | \(r_3(5) = 4\): the set \(\{0,1,3,4\}\) has no three evenly spaced members. |
| \(K(x, d)\) | "the defining triangle" | In the proof about arithmetic progressions: the triangle on the three vertices \(x\), \(x+d\) and \(2x+d\), one for each starting number \(x\) and each gap \(d\). | \(K(2,1)\) is the triangle on 2, 3 and 5. |
| upper density | "positive upper density" | A set \(A\) of whole numbers keeps at least a fixed share \(\delta\) of \(\{0, \dots, n-1\}\) for infinitely many \(n\). | The even numbers have upper density \(1/2\). |
| \(W\) | "the Wagner graph" | Eight vertices in a ring, each also joined to the vertex opposite. 12 edges, needs 3 colours, has no \(K^5\) minor. | Figure 7.8. |
| \(H \preccurlyeq G\) | "H is a minor of G" | (From Chapter 1.) \(H\) appears after deleting parts of \(G\) and contracting connected branch sets. | Contracting the five spokes of the Petersen graph gives \(K^5\). |
| \(TH \subseteq G\) | "G contains a subdivided H" | (From Chapter 1.) A copy of \(H\) whose edges have been stretched into internally disjoint paths. | Any cycle is a \(TK^3\). |
| \(d(G),\ \delta(G),\ g(G)\) | "average degree, minimum degree, girth" | (From Chapter 1.) Average number of edges at a vertex; smallest such number; length of the shortest cycle. | For the Petersen graph: \(d = \delta = 3\) and \(g = 5\). |
The letter \(d\) is overloaded here, and mixing up its jobs is the commonest source of confusion. \(d(G)\) is average degree. \(d(X,Y)\) is the density of a pair of vertex sets. A bare \(d\) in the regularity machinery is a density threshold chosen in advance. In the last section \(d\) is the gap of an arithmetic progression. Read the sentence, not the letter. Diestel also writes \(\varepsilon(G)\) for the ratio of edges to vertices; this chapter uses average degree instead, so that \(\epsilon\) stays free for its regularity job.
Reading the table, what is \(K^3_2\)?
Extremal numbers and the record holders
Fix a graph \(H\), the forbidden pattern, and a number \(n\) of vertices. Among all graphs on \(n\) vertices that contain no copy of \(H\), some have more edges than others. The record is what we want to name.
\(\mathrm{ex}(n, H)\) is the largest number of edges that a graph on \(n\) vertices can have while containing no copy of \(H\) as a subgraph. A graph achieving that record is an extremal graph for \(n\) and \(H\). In plain words: among all the ways of avoiding \(H\), the extremal graphs are the greediest ones, and \(\mathrm{ex}(n,H)\) is how greedy you can be.[1]
A weaker property sounds like the same thing and is not. Call a graph edge-maximal without \(H\) if it contains no \(H\) but adding any single new edge creates one. Edge-maximal means locally stuck. Extremal means globally best. Every extremal graph is edge-maximal, since if you could add an edge you would not have been at the record. The converse fails, and Figure 7.1 shows the standard example.
Two errors to disarm before going further. First: "I cannot add an edge, so I have the most edges." No. The star in Figure 7.1 is stuck at five edges while another graph on the same six vertices reaches six. Second: \(\mathrm{ex}(n, H)\) forbids \(H\) as a subgraph, not as an induced subgraph. A set of vertices carrying a copy of \(H\) plus some extra edges still counts as a copy of \(H\). Readers who slip into the induced reading will compute the Turán graph wrongly.
Four vertices of \(K^5\) carry a 4-cycle plus two extra chords. In the sense \(\mathrm{ex}(n, H)\) uses, does \(K^5\) contain a 4-cycle?
Turán's theorem: the exact answer for cliques
Now fix the forbidden pattern to be the complete graph \(K^r\), that is, \(r\) vertices with all \(\binom{r}{2}\) edges among them. How many edges can an \(n\)-vertex graph carry with no \(r\) vertices all mutually joined?
There is an obvious way to dodge a \(K^r\). Split the \(n\) vertices into \(r-1\) teams, and join two vertices exactly when they are on different teams. Any \(r\) vertices must then contain two teammates, by the pigeonhole principle, and teammates are not joined, so no \(K^r\) appears. To make this construction as dense as possible you want the teams as equal in size as you can manage, because moving one vertex from a large team to a small team strictly gains edges. That balanced construction has a name.
The Turán graph \(T^{r-1}(n)\) is the complete \((r-1)\)-partite graph on \(n\) vertices whose part sizes differ by at most 1: split the vertices into \(r-1\) nearly equal parts and join every pair of vertices in different parts. Its number of edges is written \(t_{r-1}(n)\). When \(n \leq r-1\) the convention is \(T^{r-1}(n) = K^n\), that is, every vertex gets its own part.[1]
Turán's theorem says that this obvious construction is not merely good, it is the unique best.
For every integer \(r > 1\), every graph on \(n\) vertices with no \(K^r\) and with the maximum possible number of edges is a Turán graph \(T^{r-1}(n)\). In particular \(\mathrm{ex}(n, K^r) = t_{r-1}(n)\). In plain words: the densest way to avoid \(r\) mutually joined vertices is to split into \(r-1\) balanced teams and join everything across teams, and nothing else achieves the record.[1]
Avoiding a clique is a constraint about small groups, yet the optimal answer is a single global pattern. The reason is that being non-adjacent is, in the record holders, an equivalence relation: "we are on the same team". If non-adjacency ever failed to be transitive, meaning some vertex is a stranger to two people who know each other, then the graph is spending its edges badly and can be rearranged into something with more edges and still no clique. Push that rearranging to its limit and the teams appear on their own.
The smallest case, \(r = 3\), is Mantel's theorem from 1907: a triangle-free graph on \(n\) vertices has at most \(\lfloor n^2/4 \rfloor\) edges, achieved by the balanced complete bipartite graph. Figure 7.3 runs the five-vertex version of the opening experiment.
Diestel gives two proofs.[1] The first is an induction on \(n\). An extremal graph \(G\) contains a \(K^{r-1}\), call it \(K\), since otherwise edges could be added. Delete the \(r-1\) vertices of \(K\); what is left must itself be extremal on \(n - r + 1\) vertices. Each remaining vertex sends at most \(r - 2\) edges into \(K\), since a vertex joined to all of \(K\) would complete a \(K^r\). Adding the three contributions gives exactly \(t_{r-1}(n)\), and equality everywhere forces the outside to be a Turán graph whose parts line up with \(K\), reassembling \(T^{r-1}(n)\).
The second proof is shorter and worth seeing, because it introduces a move that recurs in the subject.
To duplicate a vertex \(v\), add a new vertex \(v'\) joined to exactly the neighbours of \(v\), and not joined to \(v\) itself. In plain words: clone a vertex, but do not wire the clone to the original. Because clone and original are strangers, duplication cannot create a complete subgraph that was not already present.[1]
Let \(G\) be a triangle on \(y_1, y_2, z\) with one extra vertex \(x\) hanging off \(z\). Then \(x\) is a stranger to both \(y_1\) and \(y_2\), while \(y_1 y_2\) is an edge, so "non-adjacent" is not transitive here, and the second proof says \(G\) cannot be extremal. Watch the repair. Degrees: \(y_1\) has 2 neighbours, \(x\) has 1. Delete \(x\) (losing 1 edge) and duplicate \(y_1\) (gaining 2 edges). The count goes from 4 edges to 5, the vertex count stays at 4, and no \(K^4\) has appeared because \(y_1\) and its clone are not joined. What you end up with is exactly \(T^3(4)\), with parts \(\{y_1, y_1'\}, \{y_2\}, \{z\}\), and \(t_3(4) = 5\). The repair walked straight to the record holder.
How dense is the record holder, as a fraction of everything possible? Write the edge density of a graph as \(\lVert G\rVert / \binom{|G|}{2}\), the share of all possible pairs that are actually joined. For the Turán graph this share settles down.
\[ \lim_{n \to \infty} \frac{t_{r-1}(n)}{\binom{n}{2}} = \frac{r-2}{r-1}. \] In plain words: as the graph grows, the Turán graph occupies the fraction \(\frac{r-2}{r-1}\) of all possible edges. For triangle-free graphs (\(r = 3\)) that is \(1/2\); for \(K^4\)-free graphs it is \(2/3\); for \(K^5\)-free, \(3/4\).[1]
This number is the yardstick for everything dense in this chapter. Half of all possible edges is the exact price of triangle-freeness. Any more, in the long run, and a triangle appears.
Turán's theorem is a statement about conflict. Build a graph whose vertices compete for a shared resource, with an edge whenever two of them clash; then \(r\) mutually clashing things force \(r\) separate resources. Compilers do exactly this when deciding which program variables live in fast CPU registers: one vertex per variable, an edge whenever two variables are alive at the same time, one colour per register. Chaitin's allocator at IBM built this interference graph and coloured it, spilling variables to slow memory when the colouring failed. It was designed for IBM's 801 project, ancestor of the PowerPC line, and the team raised the register count of the design from 16 to 32 partly because more colours meant less spilling.[9] Radio frequency assignment has the same shape, with transmitters as vertices and interference as edges, though real systems need separation distances rather than a bare "must differ" rule.[10] Turán's theorem is the capacity statement behind such pictures: past \(t_{r-1}(n)\) conflicts among \(n\) items, a clique of size \(r\) is unavoidable and \(r\) resources become mandatory.
You want as many edges as possible on 7 vertices with no \(K^4\), using the complete 3-partite construction. Which part sizes?
As \(n\) grows, what share of all \(\binom{n}{2}\) possible edges does the Turán graph \(T^3(n)\) occupy?
Erdős–Stone: one theorem for every pattern at once
Turán's theorem answers the threshold question for cliques. What about every other forbidden pattern: a five-cycle, the Petersen graph, a tree, some graph you drew on a napkin? One theorem covers them all, and the answer turns out to depend on exactly one feature of the pattern.
The bridge is a family of graphs that sit between \(K^r\) and enormous size.
\(K^r_s\) is the complete \(r\)-partite graph with \(s\) vertices in each part: take \(r\) groups of \(s\) vertices and join every pair from different groups. Setting \(s = 1\) recovers \(K^r\). Plainly: a \(K^r\) with every vertex replaced by a cluster of \(s\) clones.[1]
For all integers \(r \geq 2\) and \(s \geq 1\) and every \(\epsilon > 0\), there is an \(n_0\) such that every graph with \(n \geq n_0\) vertices and at least \(t_{r-1}(n) + \epsilon n^2\) edges contains \(K^r_s\). In plain words: go past the Turán threshold by any fixed positive share of the edges, and the reward jumps from a single \(K^r\) to a whole blown-up \(K^r\) with \(s\) vertices per part, for whatever \(s\) you named in advance.[1]
The surprise is the size of the jump. You would expect a small surplus of edges to buy a small reward, perhaps one extra clique. Instead a surplus that vanishes as a fraction of the whole (any fixed \(\epsilon\), however tiny) buys a structure containing \(s^r\) cliques. The graph has no middle gear: either it is essentially a Turán graph, or it contains vast blown-up cliques.
Feed that theorem a general pattern \(H\) and something clean falls out. Every \(H\) sits inside a big enough blown-up clique: if \(H\) needs \(\chi(H)\) colours, then colouring \(H\) sorts its vertices into \(\chi(H)\) groups with no edges inside a group, so \(H\) fits into \(K^{\chi(H)}_s\) once \(s\) is at least the size of the largest colour group. And in the other direction, the Turán graph \(T^{\chi(H)-1}(n)\) contains no \(H\) at all, since that graph can be coloured with \(\chi(H) - 1\) colours while \(H\) cannot. Squeeze the two bounds together.
For every graph \(H\) with at least one edge, \[ \lim_{n \to \infty} \frac{\mathrm{ex}(n, H)}{\binom{n}{2}} = \frac{\chi(H) - 2}{\chi(H) - 1}. \] In plain words: the critical edge density that forces a copy of \(H\) depends only on how many colours \(H\) needs. Nothing else about the shape of \(H\) matters in the limit.[1]
The Petersen graph has 10 vertices, 15 edges, girth 5, and chromatic number 3. The triangle has 3 vertices, 3 edges, and chromatic number 3. The formula gives the same limit \(1/2\) for both. So a large graph with, say, 60% of all possible edges must contain a Petersen subgraph, for the same reason and at the same threshold as it must contain a triangle. Two patterns of wildly different sizes, one threshold, because they need the same number of colours.
The formula has a blind spot, and it is honest about it. If \(H\) is bipartite then \(\chi(H) = 2\) and the limit is 0. That says only that \(\mathrm{ex}(n, H)\) grows more slowly than \(n^2\); it does not say how fast. For \(H = K_{r,r}\) the truth is pinned only between \(c_1 n^{2 - 2/(r+1)}\) and \(c_2 n^{2 - 1/r}\), and even the exponent is open in general.[1] If \(H\) is a forest, \(\mathrm{ex}(n, H)\) is at most linear in \(n\). The Erdős–Sós conjecture from 1963 guesses the exact shape there: \(\mathrm{ex}(n, T) \leq \frac{1}{2}(k-1)n\) for every tree \(T\) with \(k\) edges, which would say average degree above \(k-1\) forces every \(k\)-edge tree. It is known for stars and paths, open in general.
"Erdős–Stone solves the extremal problem." It solves the dense extremal problem, the one where the answer is a positive share of \(\binom{n}{2}\). For bipartite forbidden patterns the theorem reports a limit of zero and stops, which is exactly where the hardest questions in the subject begin. A limit of zero is not an answer, it is a change of scale.
What does the asymptotic formula tell you about \(\mathrm{ex}(n, K_{3,3})\)?
Minors: a bounded average degree is enough
Everything so far needed a quadratic number of edges. Now relax the pattern from subgraph to minor, and the price collapses. The reason is that a minor may use long detours: a branch set of a hundred vertices, contracted, counts as one vertex of the pattern. Once detours are legal, a graph does not need to be dense, it only needs to be dense enough somewhere to keep branch sets connected.
If \(d(G) \geq 2^{r-2}\), then \(K^r \preccurlyeq G\). In plain words: an average degree depending only on \(r\), and not at all on how big the graph is, already guarantees a \(K^r\) minor.[2]
The proof idea is a neat induction.[2] Among all minors of \(G\) whose edge-to-vertex ratio is still high, take one, call it \(H\), that is minimal: contracting any further edge would spoil the ratio. Minimality means every edge of \(H\) is "expensive" to contract, which forces any two adjacent vertices to share many neighbours. Fix a vertex \(x\); its neighbourhood then induces a graph in which every vertex has high degree, so induction supplies a \(K^{r-1}\) minor inside the neighbourhood. Add \(x\) itself, joined to all of it, and you have \(K^r\).
Three sharper results follow, and the numbers are worth a table because the comparison is the actual content of the section.
| Pattern wanted | What forces it | Sharp? |
|---|---|---|
| \(K^r\) as a subgraph | More than \(t_{r-1}(n)\) edges, that is, a positive share of all \(\binom{n}{2}\) pairs | Exact (Turán) |
| \(TK^r\), a subdivided \(K^r\) | Average degree \(2^{\binom{r}{2}}\) in the easy proof; average degree \(c r^2\) in the sharp one (Diestel proves \(c = 10\)) | Quadratic in \(r\) is best possible |
| \(K^r\) as a minor | Average degree \(c\, r \sqrt{\log r}\) (Kostochka, 1982) | Best possible order of growth |
Read the table as a price list. Subgraph containment costs a quadratic number of edges, which no bounded average degree can ever pay. Subdivisions cost about \(r^2\) average degree, minors only about \(r\sqrt{\log r}\). The sharp bound for subdivisions reuses earlier machinery: pull out a highly connected subgraph using the result from Chapter 1 that large average degree yields a highly connected piece, then use the linkage theorem from Chapter 3 to join designated pairs of vertices by disjoint paths, one path per edge of \(K^r\).[2] Kostochka's theorem is stated without proof in Diestel and here; random graphs supply the matching lower bound, so its growth rate cannot be improved.[2]
Now the strangest result of the chapter. Girth is the length of the shortest cycle, so large girth means the graph looks locally like a tree, which feels like the opposite of structure. It forces structure anyway.
If \(\delta(G) \geq d \geq 3\) and \(g(G) \geq 8k + 3\), then \(G\) has a minor \(H\) with \(\delta(H) \geq d(d-1)^k\). In plain words: minimum degree at least 3 plus no short cycles lets you contract the graph into one whose minimum degree is exponentially larger.[2]
Around any vertex, a graph of large girth and minimum degree 3 looks like a tree that keeps branching: one vertex, then 3 neighbours, then about \(2 \times 3\) at the next level, and so on, with no short cycles to fold the branches back together. Grow such a tree around each of many well-separated centres until the trees fill the graph. Each tree has an enormous number of leaves, each leaf sends edges out to other trees, and large girth guarantees the trees do not double up on each other. Contract every tree to a point and all those outgoing edges survive as distinct edges at a single vertex. Local tree-likeness is exactly what makes the contraction so profitable.
Two theorems follow. Thomassen's theorem: minimum degree 3 plus girth at least \(f(r)\), with \(f(r)\) growing like \(8\log r\), forces a \(K^r\) minor. The proof pumps the minimum degree up with the lemma above, then calls Kostochka's theorem.[2] The Kühn–Osthus theorem is stronger for subdivisions: one universal girth bound, the same for every \(r\), together with minimum degree at least \(r-1\), forces a subdivided \(K^r\). That degree condition is needed anyway, just to give the branch vertices somewhere to send their paths.[2]
Figure 7.6 shows the phenomenon at the smallest scale on a graph you have already met.
Which containment can be forced by a bound on average degree that does not grow with the number of vertices?
A graph has minimum degree at least 3 and girth at least \(8k+3\). What does the large girth buy?
Hadwiger's conjecture: colours and minors
Chapter 5 left a question hanging. A graph that needs many colours must be complicated somehow, but how? The naive guess, that a graph needing \(r\) colours contains \(r\) mutually adjacent vertices, is false and spectacularly so: there are triangle-free graphs needing as many colours as you like. Hadwiger's guess from 1943 replaces "contains" by "contains as a minor", and it has resisted everything since.
For every integer \(r > 0\) and every graph \(G\): if \(\chi(G) \geq r\), then \(K^r \preccurlyeq G\). Equivalently, in contrapositive form: every graph with no \(K^r\) minor can be coloured with \(r - 1\) colours. In plain words: if a graph stubbornly needs \(r\) colours, the reason should be a \(K^r\) squeezed inside it in the loose, contractible sense.[3]
Why is this hard, when the previous section forced complete minors so cheaply? Because chromatic number is a weak source of edges. A graph needing \(r\) colours contains a subgraph in which every vertex has degree at least \(r - 1\) (that is the one bridge from colouring to degrees, from Chapter 5), so it has average degree roughly \(r\). But average degree roughly \(r\) only buys a complete minor of order about \(r/\sqrt{\log r}\), by the sharpness of Kostochka's theorem. That is smaller than \(r\). So no proof of Hadwiger's conjecture can work by counting edges alone: the chromatic number must carry structural power beyond the edges it implies, and nobody knows how to extract it.
The small cases are proved through structure theorems, and they follow one template: describe exactly how the graphs with no \(K^r\) minor are built, then colour the building blocks. Start with \(r = 4\).
For \(|G| \geq 3\): \(G\) is edge-maximal with no \(K^4\) minor exactly when \(G\) can be built from triangles by repeatedly pasting along a shared edge. Every such graph has exactly \(2|G| - 3\) edges, and every such graph is 3-colourable, which proves Hadwiger's conjecture for \(r = 4\).[3]
The case \(r = 5\) is where the four colour theorem enters. Wagner proved in 1937 that every edge-maximal graph with no \(K^5\) minor is built, by pasting along triangles and along single edges, from two kinds of blocks: plane triangulations, and copies of one specific eight-vertex graph.[3]
Two consequences follow. First, a graph with no \(K^5\) minor has at most \(3n - 6\) edges, the same bound planar graphs obey (from Chapter 4). Second, Hadwiger's conjecture holds for \(r = 5\): plane triangulations need at most four colours by the four colour theorem, the Wagner graph needs three, and pasting along complete subgraphs never raises the number of colours above the worst block. Run the argument backwards and you see the equivalence: since planar graphs have no \(K^5\) minor, Hadwiger for \(r = 5\) would say every planar graph is 4-colourable, which is the four colour theorem itself.[3]
Robertson, Seymour and Thomas proved the case \(r = 6\) in 1993, by showing that a minimal counterexample would have to be a planar graph plus one extra vertex, which the four colour theorem then colours with five colours.[3] The case \(r = 7\) is open, and so is everything beyond. Kühn and Osthus proved the conjecture for all large \(r\) among graphs with no \(K_{s,s}\) subgraph, and it is also known for graphs of large girth, for line graphs, and for almost all graphs in the random sense of Chapter 11.[3]
One tempting strengthening is dead. Hajós conjectured the same statement with subdivisions in place of minors, and Catlin disproved it in 1979. It survives only with an extra assumption: above one universal girth bound the subdivision version does hold, for every \(r\). That proof is a two-step chain, from chromatic number to minimum degree by the colouring lemma of Chapter 5[8], then from minimum degree plus girth to a subdivided clique by the Kühn–Osthus theorem above.[3]
Average degree, minimum degree and chromatic number are not interchangeable. Large chromatic number yields a subgraph of large minimum degree, hence large average degree, but neither reverse implication holds: a graph can have huge average degree with an isolated vertex, and huge average degree says nothing about needing many colours (a complete bipartite graph is dense and 2-colourable). The whole difficulty of Hadwiger's conjecture lives in that gap.
Structure theorems for minor-free graphs are the reason certain hard computations are feasible on certain networks. A road map is planar, hence has no \(K^5\) minor, hence is 4-colourable by the results above. Graphs that exclude a minor also tend to admit tree-like decompositions, and the width of such a decomposition is the exponent in the running time of dynamic programming over it. That parameter is not merely one route to efficiency but the only one for a central task: for exact inference in Bayesian networks, no algorithm is efficient on networks of unbounded width, assuming the standard conjecture that satisfiability has no subexponential algorithm.[11] One experimental study measured width-related bounds across 25 real datasets from 8 domains and found social networks stubbornly wide, road networks far more tractable.[12] Chapter 12 develops the decompositions themselves.
Why can no proof of Hadwiger's conjecture work by counting edges alone?
The regularity lemma, before any epsilon
The rest of the chapter is one idea and its consequences. Read this section slowly; the symbols come later, on purpose.
Suppose someone hands you a graph with a million vertices and asks what it looks like. You cannot draw it. What you can do is summarise it: split the million vertices into, say, forty groups of twenty-five thousand, and report one number for each pair of groups, namely the share of possible edges between them that are actually present. That is a summary of forty numbers per row, a small weighted graph, a table you can print on one page.
Every summary loses information. The question is whether it must lose the information you care about. A line saying "groups 3 and 7 are joined at density one half" is compatible with two very different realities. In the first, the edges between the two groups are sprinkled evenly, so any large sample from group 3 sees about half of any large sample from group 7. In the second, half of group 3 is joined completely to half of group 7 and the other halves are joined to nothing. Both report one half. Only the first lets you predict anything about pieces you did not sample.
Szemerédi's regularity lemma says that a summary of the good kind always exists. For any graph at all, with no assumptions whatsoever, you can split the vertices into equal groups so that nearly every pair of groups behaves like reality A: the edges between them are spread so evenly that any large window on one side sees about the same density towards any large window on the other. The number of groups needed is bounded by a number that depends only on how strict "about the same" is, and not on the graph. A million vertices or a trillion: the same bounded summary size.
The one-line version: every large graph looks, at coarse resolution, like a small weighted graph plus noise. The small weighted graph is the group-by-group density table. The noise is genuine randomness between groups, which is harmless because random-like structure is predictable. What the lemma rules out is a third possibility, hidden conspiracy inside a pair of groups that a density number would hide. It says conspiracies can always be broken up by choosing the groups well.
Now the symbols. Two definitions carry the weight.
For disjoint vertex sets \(X\) and \(Y\), write \(\lVert X, Y\rVert\) for the number of edges with one end in \(X\) and one end in \(Y\). The density of the pair is \[ d(X, Y) := \frac{\lVert X, Y\rVert}{|X|\,|Y|}, \] read as "the number of edges between them, divided by the number of pairs that could have been edges". It is always between 0 and 1. If \(|X| = 20\), \(|Y| = 30\) and 180 edges run between them, then \(d(X,Y) = 180/600 = 0.3\).[4]
Fix a number \(\epsilon > 0\). A pair \((A, B)\) of disjoint vertex sets is \(\epsilon\)-regular if for every \(X \subseteq A\) with \(|X| \geq \epsilon|A|\) and every \(Y \subseteq B\) with \(|Y| \geq \epsilon|B|\), we have \[ |d(X, Y) - d(A, B)| \leq \epsilon. \] Read it aloud: zoom into any window that takes at least an \(\epsilon\) share of each side, and the density you see there differs from the overall density by at most \(\epsilon\). Plainly: no large window is a liar.[4]
Two design choices in that definition deserve a sentence each. The size thresholds \(\epsilon|A|\) and \(\epsilon|B|\) are unavoidable. Without them you could take \(X\) and \(Y\) to be single vertices, whose density is 0 or 1 by definition, and no pair on earth would qualify. And smaller \(\epsilon\) makes the condition harder in two ways at once: smaller windows come under scrutiny, and less deviation is tolerated inside them. Figure 7.9 contrasts an evenly spread pair with a conspiratorial one.
A partition \(\{V_0, V_1, \dots, V_k\}\) of the vertex set of \(G\) is \(\epsilon\)-regular if three things hold: (i) the leftover bin is small, \(|V_0| \leq \epsilon|V|\); (ii) the other parts have exactly equal size, \(|V_1| = \dots = |V_k|\); (iii) all but at most \(\epsilon k^2\) of the pairs \((V_i, V_j)\) with \(1 \leq i < j \leq k\) are \(\epsilon\)-regular. Plainly: equal chunks, a small waste bin, and almost every chunk pair is honest.[4]
The bin \(V_0\) is bookkeeping, not pathology. It exists because \(n\) need not divide evenly into \(k\) parts, and the proof wants the parts exactly equal. Its vertices are not bad, just unassigned, and there are few of them. Allowing a few irregular pairs is also necessary: some graphs cannot avoid them.
For every \(\epsilon > 0\) and every integer \(m \geq 1\) there is an integer \(M\) such that every graph with at least \(m\) vertices has an \(\epsilon\)-regular partition \(\{V_0, V_1, \dots, V_k\}\) with \(m \leq k \leq M\). In plain words: every graph can be cut into between \(m\) and \(M\) equal chunks, plus a small bin, so that nearly all chunk pairs look random. The bound \(M\) depends only on \(\epsilon\) and \(m\), never on the graph.[4]
The proof is a scoring argument. Give each partition a score: for every pair of parts, square the density between them, weight that by how large the two parts are, and add up. The score always lies between 0 and 1. Two facts drive the rest. Splitting parts into smaller parts never lowers the score (that is the Cauchy–Schwarz inequality doing its usual work). And whenever a pair is irregular, the very sets that witness the failure show how to split it so the score strictly rises, by an amount depending only on \(\epsilon\). So if the partition is not yet \(\epsilon\)-regular, split every offending pair at once and the score rises by at least \(\epsilon^5/2\). A quantity trapped in \([0,1]\) that rises by a fixed amount each round can do so at most \(2/\epsilon^5\) times, so the process stops, and where it stops the partition is regular.[4]
That argument also explains the lemma's price. Each round can multiply the number of parts by a factor like \(4^{k+1}\), and there can be \(2/\epsilon^5\) rounds, so the bound \(M\) is a tower of exponentials in \(1/\epsilon\). Nobody applies the lemma numerically. It is an existence statement used inside proofs, and the constants it produces are astronomically large.
Three traps, all common. First, "regular" does not mean "dense": a pair with no edges at all is perfectly \(\epsilon\)-regular, since every window has density 0 and so does the whole pair. That is why the machinery below adds a separate density threshold. Second, smaller \(\epsilon\) is a stronger requirement, not a weaker one, even though the number is smaller. Third, the lemma is only useful for dense graphs. If a graph has \(o(n^2)\) edges, every pair density tends to 0, every pair is regular for a silly reason, and the summary says nothing.[4]
Much of network analysis assumes that a huge network can be summarised by a handful of communities plus a table of densities between them. The regularity lemma is the worst-case guarantee that such a summary exists for every dense network, with a bounded number of communities, whatever the network looks like. Two caveats travel with it: the bound on the number of parts is a tower of exponentials, so the lemma justifies the modelling assumption without providing a usable algorithm, and it says nothing about sparse networks, which is most real ones. Empirical work leans on measured coarse statistics instead. The study that introduced small-world networks compared clustering and path lengths in a worm's neural wiring, the western United States power grid, and a film-actor collaboration graph, and found the same signature in all three.[13]
A pair \((A,B)\) has no edges at all between the two sets. Is it \(\epsilon\)-regular?
Which of these does the regularity lemma not give you?
Using the lemma: the summary graph and the way back down
A summary is only useful if you can argue in it and then return. Two constructions do the returning.
Take an \(\epsilon\)-regular partition with parts \(V_1, \dots, V_k\) of size \(\ell\), and fix a density threshold \(d\) between 0 and 1. The regularity graph \(R\) has vertices \(1, \dots, k\), one per chunk, with \(i\) joined to \(j\) exactly when the pair \((V_i, V_j)\) is \(\epsilon\)-regular and has density at least \(d\). The blow-up \(R_s\) replaces each vertex of \(R\) by \(s\) copies and each edge by all \(s^2\) edges between the corresponding groups. Plainly: \(R\) is the map of the graph at chunk resolution, keeping only connections that are both honest and thick; \(R_s\) is that map redrawn with each place widened into a cluster of \(s\).[5]
The technical fact that makes the return trip work is this. Inside a regular pair, almost every vertex on one side has roughly its fair share of neighbours in any large target set on the other side. Precisely: if \((A,B)\) is \(\epsilon\)-regular with density \(d\), and \(Y \subseteq B\) has \(|Y| \geq \epsilon|B|\), then fewer than \(\epsilon|A|\) vertices of \(A\) have fewer than \((d - \epsilon)|Y|\) neighbours inside \(Y\).[5] Almost nobody is starved of the target set. That is what lets you build a copy of a pattern one vertex at a time without painting yourself into a corner.
For every density \(d\) and every degree bound \(\Delta\) there is an \(\epsilon_0 > 0\) such that the following holds. If every vertex of \(H\) has degree at most \(\Delta\), and \(R\) is a regularity graph of \(G\) with parameters \(\epsilon \leq \epsilon_0\), chunk size \(\ell\) large enough, and threshold \(d\), then \(H \subseteq R_s\) implies \(H \subseteq G\). In plain words: any bounded-degree pattern you can see in the blown-up map really exists down in the original graph.[5]
The proof embeds the vertices of \(H\) one at a time.[5] Each vertex of \(H\) not yet placed carries a shrinking "still allowed" set inside the chunk it is assigned to. Every time one of its neighbours gets placed, the allowed set shrinks to the neighbourhood of the chosen image, and the fact above says it shrinks only by a factor of about \(d\). A vertex of degree at most \(\Delta\) suffers at most \(\Delta\) such shrinkings, so its allowed set never drops below about \(d^{\Delta}\ell\), which stays large enough to keep choosing fresh vertices. Bounded degree is what bounds the damage.
Now the Erdős–Stone theorem can be proved, and its proof is the template for the whole method.[5] Start with a graph having \(t_{r-1}(n) + \epsilon n^2\) edges and apply the regularity lemma. Then ask where the surplus edges could hide. Edges touching the bin are few, because the bin is small. Edges inside a single chunk are few, because chunks are small. Edges in irregular pairs are few, because at most \(\epsilon k^2\) pairs are irregular. Edges in pairs of density below the threshold \(d\) are few, because the threshold is low. Everything else lies in regular pairs of decent density, and so appears as an edge of the summary graph \(R\). The four "few" terms cannot absorb the surplus, so \(R\) itself carries more than \(t_{r-1}(k)\) edges. Turán's theorem, applied to the tiny graph \(R\), hands you a \(K^r\) inside it; blow it up to \(K^r_s\) inside \(R_s\), and the blow-up lemma drops it back into \(G\).
Every regularity proof has this shape: a statement about a huge graph is reduced to the same statement about a bounded-size graph, a classical theorem (here Turán's) settles it there, and the answer is carried back down. The order of the constants matters and trips people up. First the pattern and the density threshold \(d\), then a tolerance \(\epsilon\) small enough for the blow-up lemma, then the minimum number of chunks \(m\), then the lemma hands back \(M\), and only then must \(n\) be large enough for chunks of size \(n/M\) to be big. Never let \(\epsilon\) depend on \(n\).
The blow-up lemma insists that every vertex of \(H\) have degree at most \(\Delta\). Where does that hypothesis do its work?
Two off-the-shelf tools: counting and removal
The blow-up lemma answers "does a copy exist?". The next tool answers "how many copies are there?", and the answer is the one a coin-flipping random graph would give.
Counting is easier if you count maps rather than copies. A homomorphism from \(H\) to \(G\) is a map sending each vertex of \(H\) to a vertex of \(G\) such that every edge of \(H\) lands on an edge of \(G\). Non-adjacent vertices of \(H\) may collapse to the same vertex of \(G\); the injective homomorphisms, the ones that never collapse, are exactly the labelled copies of \(H\) inside \(G\). The count is written \(\hom(H, G)\). Counting maps keeps the algebra clean, and when \(G\) is large the collapsing maps are too few to matter.
Seat each vertex of \(H\) in an assigned chunk of \(G\), respecting adjacency at the chunk level. If the relevant chunk pairs are uniform with densities \(d_{ij}\), then the number of seat-respecting homomorphisms of \(H\) into \(G\) differs from \[ \prod_{e \in E(H)} d_e \cdot \prod_{u \in V(H)} |V_u| \] by at most \(\epsilon \lVert H\rVert\) times that second product. Here \(V_u\) is the chunk assigned to \(u\), and \(d_e\) is the density of the chunk pair assigned to the ends of \(e\). In plain words: multiply the sizes of the assigned chunks, then multiply by one density factor per edge of \(H\), with an error of about \(\epsilon\) per edge. That is exactly the estimate you would write for a random graph of the same densities.[6]
Take \(H\) a triangle and three chunks of 1,000 vertices each, pairwise of density 0.5. The formula predicts \(0.5 \times 0.5 \times 0.5 \times 1000^3 = 1.25 \times 10^{8}\) triangles with one vertex in each chunk. The error term is proportional to \(\epsilon\), so for \(\epsilon\) small the prediction is not merely positive, it is accurate to a few percent. Compare this with the blow-up lemma, which would only have told you that at least one triangle exists. Knowing the count is what makes the next lemma possible.
One caveat: the counting lemma is stated for a variant of regularity called uniformity, which compares every non-empty window against a chosen target density with an allowance that grows as the window shrinks.[6] Nothing is lost. Regular pairs are uniform, and uniform pairs are regular after replacing \(\epsilon\) by its cube root, so the two notions are interchangeable up to renaming the parameter.
Fix a pattern \(H\) and a small number \(\varrho > 0\). There are \(\eta > 0\) and \(n_0\) such that: if \(G\) has \(n \geq n_0\) vertices and contains at most \(\eta n^{|H|}\) copies of \(H\), then you can delete at most \(\varrho n^2\) edges from \(G\) and destroy every copy. In plain words: if a large graph has only a few copies of \(H\), then all of those copies can be wiped out by deleting a tiny fraction of the edges. Copies cannot be both rare and spread evenly across the graph.[6]
The proof is one paragraph once the tools are in place.[6] Take a regular partition and delete every edge that touches the bin, lies inside a chunk, lies in an irregular pair, or lies in a pair of density below \(\varrho\). The same four-term count as before shows this is at most \(\varrho n^2\) edges. Now suppose a copy of \(H\) survived. All of its edges then live in regular pairs of decent density, so the chunks it occupies form a seating plan of exactly the kind the counting lemma handles, and the counting lemma manufactures far more copies of \(H\) than the hypothesis allowed. Contradiction, so no copy survived.
The removal lemma is often quoted backwards. It says: few copies implies few edges suffice to kill all copies. It does not say the graph has few edges overall, and it says nothing about graphs with many copies. The stronger conclusion, that the graph itself must be sparse, needs an extra hypothesis, which is the next definition.
Copies of \(H\) are spread thinly over a class of graphs if there is one number \(d\) such that, in every graph of the class, each edge lies in at least one copy of \(H\) and in at most \(d\) copies. Plainly: every edge takes part in the pattern, but no edge is a hotspot.[6]
Thin spreading squeezes from both sides. Because no edge is in many copies, copies are rare enough for the removal lemma to apply, and it returns a small set of edges meeting every copy. Because every edge is in some copy, and each deleted edge destroys only a bounded number of copies, the whole edge set can be only a bounded multiple of that small set. So the graph is sparse.[6]
For every \(\gamma > 0\) there is an \(n_0\) such that every graph on \(n \geq n_0\) vertices in which every edge lies in exactly one triangle has at most \(\gamma n^2\) edges. In plain words: the innocent-sounding condition "each edge belongs to precisely one triangle" forbids density; such graphs have a vanishing share of all possible edges.[6]
The removal lemma is why a computer can answer a question about a gigantic graph after looking at only a bounded number of random samples. Suppose you want to separate graphs with no triangle from graphs that are far from triangle-free, meaning no small set of edge deletions makes them triangle-free. The lemma says the two cases differ in the density of triangles, not merely in their existence: a graph far from triangle-free must contain a constant share of all possible triangles. So sampling a bounded number of vertex triples settles the question with high confidence, at a cost that does not grow with the graph.[6] That argument is the foundation of property testing, where an algorithm may read only a tiny sample of its input.
Three chunks of 1,000 vertices are pairwise uniform with density 0.2. About how many triangles with one vertex in each chunk does the counting lemma predict?
The payoff: a theorem about numbers, proved with a graph
Leave graphs for a moment. An arithmetic progression is a run of numbers with a constant gap: 3, 7, 11 is one of length 3 with gap 4. A set of whole numbers has positive upper density if there is a fixed share \(\delta > 0\) such that the set claims at least \(\delta n\) of the first \(n\) whole numbers, for infinitely many \(n\). The even numbers have upper density \(1/2\). The powers of 2 have upper density 0.
Write \(r_k(n)\) for the largest size of a subset of \(\{0, 1, \dots, n-1\}\) that contains no arithmetic progression of length \(k\). For example \(r_3(5) = 4\): the set \(\{0, 1, 3, 4\}\) has no three evenly spaced members, while any five-element subset of \(\{0,\dots,4\}\) is everything and contains 0, 1, 2.
Every set of whole numbers with positive upper density contains arithmetic progressions of every finite length. Equivalently, \(r_k(n)/n \to 0\) as \(n\) grows, for every \(k \geq 3\). In plain words: you cannot keep a fixed percentage of the whole numbers and dodge evenly spaced runs forever; sets that dodge runs of length \(k\) occupy a vanishing share of \(\{0, \dots, n-1\}\).[7]
The proof of the general case is far beyond this course, and beyond Diestel's book, which states it and moves on.[7] The historical point is worth knowing: the regularity lemma was invented as a step inside that proof. What Diestel does prove, in a single page, is the first non-trivial case, \(k = 3\), which is Roth's theorem from 1953. The proof is a graph argument, and it is the cleanest demonstration in the book that the regularity method reaches outside graph theory.
\(r_3(n)/n \to 0\). In plain words: any subset of \(\{0, \dots, n-1\}\) that avoids all three-term arithmetic progressions has size vanishingly small compared with \(n\).[7]
Here is the construction, and it is worth following move by move. Let \(D\) be a set of numbers below \(n\) with no three-term progression. Build a graph on three rows of vertices: a row \(X\) holding \(1, \dots, n\), a row \(Y\) holding \(1, \dots, 2n\), and a row \(Z\) holding \(1, \dots, 3n\). For every \(x\) in \(X\) and every \(d\) in \(D\), draw a triangle on the three vertices \(x\) in \(X\), \(x + d\) in \(Y\), and \(2x + d\) in \(Z\). Call it the defining triangle \(K(x, d)\). The graph consists of exactly the edges of these triangles, and nothing else.
Two observations finish the proof. First, the defining triangles are edge-disjoint. Given two of the three vertices, the third is forced: from \(x\) and \(x+d\) you recover \(d\); from \(x\) and \(2x+d\) you recover \(d\) again; from \(x+d\) and \(2x+d\) you recover \(x\) by subtracting. So no edge lies in two defining triangles, and the edge count is exactly \(3n|D|\), three edges for each of the \(n|D|\) triangles.
Second, there are no other triangles. Suppose some triangle of the graph is not one of the defining ones. Its three edges must then come from three different defining triangles, say \(K(x,a)\), \(K(x,b)\) and \(K(x',c)\), and matching up the shared vertices gives \(x + a = x' + c\) and \(2x + b = 2x' + c\). Subtracting and rearranging turns those two equations into \(a = c + (x' - x)\) and \(b = c + 2(x' - x)\), which says that \(c, a, b\) are three numbers of \(D\) with a constant gap. That is a three-term progression inside \(D\), which we forbade. So no such triangle exists.
Put the two observations together: every edge of this graph lies in exactly one triangle. The corollary of the previous section then applies. The graph has \(6n\) vertices in total, so for any \(\gamma\) chosen in advance and \(n\) large, \[ 3n|D| = \lVert G\rVert \leq \gamma (6n)^2 = 36 \gamma n^2, \] which gives \(|D| \leq 12\gamma n\). Since \(\gamma\) was arbitrary, the share \(|D|/n\) can be forced below any positive number, which is precisely the statement \(r_3(n)/n \to 0\).[7]
Look at what carried the argument. A property of numbers, "no three evenly spaced members", was translated into a property of a graph, "no triangle other than the intended ones". The intended triangles were rare, roughly \(n|D|\) of them among \(n^3\) possible triples, and perfectly spread out, one per edge. The removal lemma says rare and spread out cannot coexist in a dense graph. So the graph is sparse, so \(|D|\) is small. Nothing about arithmetic entered after the translation.
In Roth's construction, why do no two defining triangles \(K(x,d)\) share an edge?
What is proved here, and what is not
This chapter has stated more than it has proved. Diestel proves in full, and the sketches here follow him, on: Turán's theorem in two ways, the Turán density limit, the propositions forcing complete minors and subdivisions from average degree, the structure theorems for graphs without a \(K^4\) or \(K^5\) minor, the regularity lemma with its scoring argument, the blow-up lemma, the Erdős–Stone theorem, the counting and removal lemmas, and Roth's theorem.[1][7] Stated without proof, there and here: Kostochka's theorem, the two Kühn–Osthus theorems, Hadwiger's conjecture for \(r = 6\), and Szemerédi's theorem for progressions of length four and beyond. The section numbers are the map for the real thing: §7.2 for the minor bounds, §7.3 for Hadwiger, §7.4 and §7.5 for regularity, §7.6 for the two tools, §7.7 for the arithmetic.[2][3]
The spine, in one paragraph. Bulk forces patterns, and the exchange rate depends on how loosely the pattern may sit inside the host. Subgraphs are expensive, and the price is exactly known: Turán for cliques, Erdős–Stone for everything else, with chromatic number the only feature of the pattern that survives to the limit. Minors are cheap, and the open question there is not the price but whether chromatic number can pay it, which is Hadwiger's conjecture. In between sits a technique that turns any large dense graph into a bounded summary, and it reaches far enough to prove theorems about integers. The subject is not finished: it is where several recent advances in combinatorics have happened, including the first exponential improvement in almost ninety years on the bound for the diagonal Ramsey numbers, a close cousin of the questions asked here.[14]
Which sentence matches the chapter's closing account of the exchange rate between bulk and pattern?
Check your understanding
What does \(\mathrm{ex}(n, H)\) denote?
The Turán graph \(T^{r-1}(n)\) is:
For disjoint vertex sets \(X\) and \(Y\), the density \(d(X,Y)\) of the pair is defined as:
What is the largest number of edges a triangle-free graph on 10 vertices can have?
The star \(K_{1,5}\) contains no path with three edges, and adding any edge to it creates one. Which statement is correct?
Let \(H\) be a graph with chromatic number \(\chi(H) = 4\). The ratio \(\mathrm{ex}(n, H) / \binom{n}{2}\) converges to:
Which statement about an \(\epsilon\)-regular pair \((A, B)\) is correct?
Roughly how large an average degree is known to force a \(K^r\) minor, and how large for a subdivided \(K^r\)? Both answers are best possible up to constants.
Why would Hadwiger's conjecture for \(r = 5\) imply the four colour theorem?
In the proof of Roth's theorem, a progression-free set \(D\) is encoded as a three-row graph whose intended triangles are the defining triangles \(K(x,d)\) on the vertices \(x\), \(x+d\), \(2x+d\). What would a triangle other than a defining one imply?
Sources and further reading
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §7.1 (extremal numbers and extremal graphs; Turán graphs; Turán's theorem 7.1.1 with both proofs; Erdős–Stone theorem 7.1.2; asymptotic extremal formula, Corollary 7.1.3; Turán density limit, Lemma 7.1.4; bipartite bounds and the Erdős–Sós conjecture).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §7.2 (average degree forces complete minors, Proposition 7.2.1, and subdivisions, Proposition 7.2.2; quadratic bound, Theorem 7.2.3; Kostochka's theorem 7.2.4; girth and dense minors, Lemma 7.2.5; Thomassen's theorem 7.2.6; Kühn–Osthus theorem 7.2.7).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §7.3 (Hadwiger's conjecture; structure of \(K^4\)-minor-free graphs, Proposition 7.3.1 and Corollaries 7.3.2–7.3.3; Wagner's theorem 7.3.4 and Corollaries 7.3.5–7.3.6; Robertson–Seymour–Thomas, Theorem 7.3.7; Kühn–Osthus, Theorem 7.3.8; Hajós's conjecture and Corollary 7.3.9).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §7.4 (density of a pair; \(\epsilon\)-regular pairs and partitions; Szemerédi's regularity lemma, Theorem 7.4.1, with Lemmas 7.4.2–7.4.4).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §7.5 (neighbourhood inheritance, Lemma 7.5.1; regularity graph and blow-up; blow-up lemma 7.5.2; proof of the Erdős–Stone theorem and the discussion of parameter order).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §7.6 (uniform pairs and homomorphism counts; Proposition 7.6.1; counting lemma 7.6.2; removal lemma 7.6.3; thinly spread copies, Theorem 7.6.4 and Corollary 7.6.5).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §7.7 (arithmetic progressions and upper density; Szemerédi's theorem 7.7.1 and 7.7.2; Roth's theorem, Proposition 7.7.3, with the tripartite construction).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §1.7 (minors, topological minors and models) and §5.2 (Lemma 5.2.3: a graph needing \(k+1\) colours has a subgraph of minimum degree at least \(k\)).
- G. J. Chaitin, "Register Allocation and Spilling via Graph Coloring", SIGPLAN Symposium on Compiler Construction (1982), reprinted with a retrospective in Best of PLDI 1979–1999, ACM SIGPLAN (2003). Full text.
- K. I. Aardal, S. P. M. van Hoesel, A. M. C. A. Koster, C. Mannino, A. Sassano, "Models and solution techniques for frequency assignment problems", Annals of Operations Research 153 (2007), 79–129. springer.com.
- J. H. P. Kwisthout, H. L. Bodlaender, L. C. van der Gaag, "The Necessity of Bounded Treewidth for Efficient Inference in Bayesian Networks", Proceedings of ECAI 2010, IOS Press, 237–242. iospress.nl.
- S. Maniu, P. Senellart, S. Jog, "An Experimental Study of the Treewidth of Real-World Graph Data", ICDT 2019. arXiv:1901.06862.
- D. J. Watts, S. H. Strogatz, "Collective dynamics of 'small-world' networks", Nature 393 (1998), 440–442. nature.com.
- M. Campos, S. Griffiths, R. Morris, J. Sahasrabudhe, "An exponential improvement for diagonal Ramsey" (2023, revised 2025). arXiv:2303.09521.