Part III · The Deep Theory

Ramsey Theory

Created by

Any six people at a party include three who all know each other or three who are all strangers to each other. After this chapter you will know why that is forced, how far it generalises, and why the whole subject is a proof that complete disorder is impossible.

Order you cannot avoid

Chapter 7 asked how many edges you have to pile onto a graph before a fixed shape is unavoidable. This chapter asks a stranger question. What is forced by size alone, when nobody promises you any edges at all?

The honest first answer is: nothing. Take a graph with a million vertices and no edges. It contains no triangle, and no amount of extra vertices will produce one. Take a complete graph on a million vertices instead, so every pair is joined. It contains no three vertices that are pairwise non-adjacent. So no single shape is unavoidable in large graphs. The question looks dead.

Frank Ramsey's move, in a 1930 paper about a decision problem in formal logic, was to stop asking for one shape and start asking for one of two opposite shapes. Notice that the two examples above fail in opposite ways. The edgeless graph has no triangle but is drowning in pairwise non-adjacent vertices. The complete graph has no pairwise non-adjacent trio but is drowning in triangles. Neither dodges both. Ramsey proved that nothing does.

Intuition

Take any graph you like and make it big enough. Somewhere inside it you will find a group of vertices that are all joined to each other, or a group in which no two are joined. Total order or total disorder, your choice of neither is not on the menu. The slogan of the subject is: complete disorder is impossible.

That single idea opens into four questions, and they are the four parts of this chapter. First, why is it true, and how far does it stretch beyond graphs? Second, exactly how big is "big enough"? Those numbers are called Ramsey numbers, and they are famously hard to pin down. Third, can we demand an exact copy of a pattern rather than merely a copy with extra edges allowed? That harder demand is still satisfiable, but only by building a host graph on purpose. Fourth, if the big graph is also connected, or 2-connected, or 3-connected, what short list of shapes must show up?

One warning before the notation. This chapter counts vertices, never edges. Every theorem here has the form "every graph with at least \(n\) vertices contains …". A reader who carries over Chapter 7's habit of thinking in edge density will misread all of them.

A graph on 10,000 vertices turns out to contain no triangle. What does this section's slogan say about it?

  1. It must contain a large set of pairwise non-adjacent vertices
  2. It must have few edges, by the edge-counting results of Chapter 7
  3. Nothing at all, since size alone forces no shape
  4. It cannot exist, because 10,000 vertices force a triangle
Answer: A. Total order or total disorder: dodging one option means falling into the other, so a huge triangle-free graph is drowning in mutual non-neighbours. Option C is the honest first answer the section then overturns, and option B answers a Chapter 7 question about edge density instead.

New notation in this chapter

Thirteen of these are new; the rest come from Chapter 1 and Chapter 5 and are listed because this chapter leans on them hard. If plain set language such as \(Y \subseteq X\) ("Y is a subset of X") is still shaky, Chapter 0 is the bootstrap.

SymbolRead it asMeaningTiny example
\([X]^k\)"the k-subsets of X"All subsets of the set \(X\) that have exactly \(k\) elements. Nothing else.\(X=\{a,b,c\}\): \([X]^2=\{\{a,b\},\{a,c\},\{b,c\}\}\).
\(c\)-colouring"a c-colouring"Any way of sorting things into \(c\) labelled groups called colours. No rule of any kind. Groups may be empty.Painting each edge of a graph violet or gold is a 2-colouring of its edge set.
monochromatic"one-coloured"A set \(Y\) is monochromatic when every \(k\)-subset of \(Y\) got the same colour. A subgraph is monochromatic when all its edges did.In a violet/gold painting of \(K^6\), a triangle with three violet edges.
\(R(r)\)"the Ramsey number of r"The smallest \(n\) such that every graph on at least \(n\) vertices has \(r\) pairwise adjacent vertices or \(r\) pairwise non-adjacent ones.\(R(3)=6\): the party puzzle.
\(R(k,c,r)\)"the general Ramsey number"The smallest \(n\) such that any \(c\)-colouring of the \(k\)-subsets of an \(n\)-set leaves some \(r\)-subset monochromatic.\(R(2,2,3)=6\) is the party puzzle again.
\(R(H)\)"the Ramsey number of H"The smallest \(n\) such that every graph \(G\) on \(n\) vertices contains \(H\), or the complement \(\overline{G}\) does.\(R(K^3)=R(3)=6\).
\(R(H_1,H_2)\)"the Ramsey number of H1 against H2"Same idea with two different targets: \(H_1\) inside \(G\), or \(H_2\) inside \(\overline{G}\).\(R(T,K^3)=7\) for any 4-vertex tree \(T\).
\(\overline{G}\)"the complement of G"(Chapter 1.) Same vertices, opposite edges: two vertices are joined in \(\overline{G}\) exactly when they are not joined in \(G\).\(\overline{K^r}\) is \(r\) vertices with no edges at all.
\((V_1,V_2,E)\)"a bipartite graph with its sides named"A bipartite graph recorded together with which side is which, so that copies cannot swap the sides.Points on top, blocks underneath, edges only between the two.
\(\varphi \colon P \to P'\)"phi embeds P into P-prime"A no-collisions map of vertices that keeps sides fixed and sends edges to edges and non-edges to non-edges.Placing a 4-cycle inside a bigger bipartite graph without picking up an extra chord.
\((X,[X]^k,E)\)"the point-block graph"A bipartite graph whose first side is a set of points, whose second side is all \(k\)-element blocks of points, joined when the point belongs to the block.\(X=\{1,2,3\}\), \(k=2\): point 1 joins blocks \(\{1,2\}\) and \(\{1,3\}\).
\(*\)"join"(Chapter 1.) Put two graphs side by side and add every possible edge between them.A wheel is \(C^{n-1} * K^1\): a cycle plus a hub wired to all of it.
\(C^n * \overline{K^2}\)"a double wheel"A cycle plus two hubs, each wired to every cycle vertex, the two hubs not wired to each other.\(C^4 * \overline{K^2}\) is the octahedron.
\(\mathcal{P} \le \mathcal{P}'\)"P fits inside P-prime"Two families of graphs, compared: every graph in \(\mathcal{P}\) sits inside some graph in \(\mathcal{P}'\), under whichever containment relation is in force.All paths \(\le\) all subdivided stars: a path is a two-armed star.
\(\mathcal{P} \sim \mathcal{P}'\)"P and P-prime are equivalent"Both \(\mathcal{P}\le\mathcal{P}'\) and \(\mathcal{P}'\le\mathcal{P}\). Interchangeable for everything in this chapter.All paths \(\sim\) all even-length paths.
\(K^r_s\)"the complete r-partite graph with parts of size s"(Chapter 1.) \(r\) groups of \(s\) vertices; every edge between different groups, none inside a group.\(K^2_2\) is the 4-cycle.
\(K_{m,n}\)"the complete bipartite graph"(Chapter 1.) An \(m\)-group and an \(n\)-group, every cross pair joined, no pair inside a group. \(K_{1,r}\) is the star: one hub, \(r\) pairwise non-adjacent leaves.\(K_{2,3}\) has two poles sharing three common neighbours.
\(P^r\)"the path of length r"(Chapter 1.) \(r\) edges in a row, so \(r+1\) vertices. Diestel indexes paths by edges, not vertices.\(P^2\) has three vertices and two edges.
\(C^r\)"the cycle of length r"(Chapter 1.) \(r\) vertices in a ring joined by \(r\) edges.\(C^5\) is the pentagon.
\(\chi(G)\)"the chromatic number of G"(Chapter 5.) The fewest colours in a proper colouring, one where adjacent vertices always differ. Not to be confused with this chapter's rule-free colourings.A triangle has \(\chi = 3\).
\(g(G)\)"the girth of G"(Chapter 1.) The length of the shortest cycle in \(G\); infinite when \(G\) has no cycle.A triangle has girth 3; a tree has none.
\(\Delta(H)\)"the maximum degree of H"(Chapter 1.) The largest number of neighbours any single vertex of \(H\) has.A path has \(\Delta = 2\); a star \(K_{1,6}\) has \(\Delta = 6\).
\(\omega(G)\)"the clique number of G"(Chapter 5.) The largest number of vertices in \(G\) that are pairwise adjacent.A 5-cycle has \(\omega = 2\); a triangle has \(\omega = 3\).

In the notation of this chapter, how many vertices does the path \(P^3\) have?

  1. 3
  2. 4
  3. 6
  4. 9
Answer: B. Diestel indexes a path by its number of edges, so \(P^3\) has three edges and therefore four vertices. Option A is the trap of reading the superscript as a vertex count, which is how the superscript in \(K^3\) does work.

Six people at a party

Here is the puzzle that opens every course on this subject. Six people are in a room. Any two of them either know each other or do not. Claim: some three of them are mutual acquaintances, or some three are mutual strangers.

Turn it into a graph. Vertices are people. Join two people by an edge when they are acquainted. Then "three mutual acquaintances" is a triangle, and "three mutual strangers" is a set of three vertices with no edges among them. Equivalently, paint the edges of the complete graph \(K^6\) (six vertices, all fifteen pairs joined) in two colours: violet for acquainted, gold for strangers. The claim becomes: every violet/gold painting of \(K^6\) contains a violet triangle or a gold triangle.

Two things must be shown. Six is enough, and five is not. Start with the failure at five, because it is the more surprising half.

all ten edges of K5 the violet edges alone the gold edges alone 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Figure 9.1. Five people are not enough. Paint the five outer pentagon edges violet (12, 23, 34, 45, 51) and the five diagonals gold (13, 35, 52, 24, 41). Each colour class is a 5-cycle, and a 5-cycle has no triangle, so neither colour contains a monochromatic triangle. This single picture proves \(R(3) > 5\).

Read the picture slowly, because its shape is the shape of every lower bound in this chapter. To prove that some number is not big enough, you exhibit one colouring that dodges every target. The pentagon-and-pentagram colouring is that exhibit. There is no cleverness left to add: the violet edges form a ring through all five vertices, the gold edges form a five-pointed star through all five vertices, and neither shape contains three mutually joined vertices.

Now the other half. Six people always suffice, and the argument is short enough to hold in your head.

five edges at v: three share a colour if a, b, c avoid violet, they are a gold triangle v a b c d e v a b c
Figure 9.2. Six people are enough. Vertex \(v\) sends out five edges, so at least three share a colour, here violet to \(a\), \(b\) and \(c\). If any one of the edges \(ab\), \(bc\), \(ca\) is violet, it closes a violet triangle with \(v\). If none is, then all three are gold and \(abc\) is a gold triangle. Either way a monochromatic triangle exists.

The engine of that argument is the pigeonhole principle: if you sort five things into two boxes, some box gets at least three. That principle, applied over and over, is most of Ramsey theory. Combining the two figures gives the first exact result of the chapter.

Result — the party puzzle, \(R(3) = 6\)

Every graph on six or more vertices contains three pairwise adjacent vertices or three pairwise non-adjacent vertices, and there is a graph on five vertices containing neither. In party language: six guests always include three mutual acquaintances or three mutual strangers; five guests need not.[5]

Common mistake

The theorem does not say the six people include three mutual acquaintances. It says they include three mutual acquaintances or three mutual strangers, and you do not get to choose which. Six hermits who have never met anybody satisfy the theorem through the second option. Every result in this chapter has that either/or shape, and the either/or is not a weakness of the proofs: it is unavoidable, because the all-edges graph and the no-edges graph rule out each option separately.

Six people meet and no two of them have ever met before. Does that contradict the party puzzle?

  1. No: any three of them are mutual strangers, which is the second half of the either/or
  2. Yes: there are no three mutual acquaintances anywhere in the room
  3. Yes: the result needs at least one pair who already know each other
  4. No: the result applies only from seven people upward
Answer: A. The theorem promises three mutual acquaintances or three mutual strangers, and never lets you choose which. Option B is the standard misreading, treating the acquaintance half as if it were the whole claim.

Ramsey's theorem: total order or total disorder

Replace 3 by an arbitrary \(r\) and the party puzzle becomes Ramsey's theorem.

Theorem — Ramsey's theorem for graphs (Ramsey, 1930)

For every \(r \in \mathbb{N}\) ("for every whole number \(r\)") there is an \(n\) such that every graph \(G\) with at least \(n\) vertices contains \(K^r\) or \(\overline{K^r}\) as an induced subgraph. In words: given enough vertices, some \(r\) of them are pairwise adjacent, or some \(r\) of them are pairwise non-adjacent. (Diestel, §9.1, Theorem 9.1.1.)[1]

A black-and-white photograph of a young man in round wire-rimmed spectacles and a tweed jacket.
Plate 9.A. Ramsey died in 1930, at twenty-six, the year the theorem above appeared. He proved it as a lemma on the way to a decision problem in formal logic, and did not live to see anyone build a subject on it. He was a philosopher at Cambridge as much as a mathematician. Volsav. Wikimedia Commons, CC BY-SA 4.0.

Recall from Chapter 1 that \(K^r\) is the complete graph on \(r\) vertices, and \(\overline{K^r}\) is its complement, meaning \(r\) vertices with no edges at all. Diestel writes the superscript for the number of vertices, so \(K^3\) is the triangle; much of the wider literature writes \(K_3\) for the same graph. This course keeps Diestel's convention throughout. "Induced subgraph" means we take some vertices and all the edges of \(G\) among them; for complete and edgeless targets the induced version and the ordinary version say the same thing, so you can ignore the word for now. It starts to matter later in the chapter, and then it matters enormously.

The proof does not look for the clique or the independent set directly. It builds a shrinking sequence of candidate pools.

v1 v2 v3 V1 V2 V3 v1 is joined to all of V2 v2 is joined to none of V3 each step halves the pool after 2r-3 steps, r-1 of the picked vertices must agree
Figure 9.3. The halving argument. Pick \(v_1\) from the pool \(V_1\); it splits the rest of \(V_1\) into its neighbours and its non-neighbours, and one of those two halves has at least half the vertices. Keep that half as \(V_2\) and record whether \(v_1\) was joined to all of it or to none of it. Repeat inside \(V_2\), and so on.

Here is why the halving is enough. Each round costs half the pool and buys one vertex with a fixed attitude toward everything chosen after it: either "joined to all of them" or "joined to none of them". If you start with \(2^{2r-3}\) vertices you can afford \(2r-3\) rounds. That gives \(2r-3\) picked vertices, each labelled with one of two attitudes. Sorting \(2r-3\) items into two boxes leaves some box with at least \(r-1\) of them, by pigeonhole again. Take those \(r-1\) vertices plus one survivor from the final pool. If their shared attitude was "joined to all later ones", every pair among them is joined, so they form \(K^r\). If it was "joined to none", no pair is joined, so they form \(\overline{K^r}\).

That argument also hands us a number: the smallest workable \(n\) is at most \(2^{2r-3}\), which is \(4^r/8\). This bound is due to Erdős and Szekeres in 1935, and the chapter's later sections will show that the truth is genuinely exponential rather than merely bounded by an exponential.[1]

Definition — the Ramsey number \(R(r)\)

\(R(r)\) is the smallest \(n\) such that every graph with at least \(n\) vertices contains \(K^r\) or \(\overline{K^r}\) as an induced subgraph. Ramsey's theorem is exactly the statement that this smallest \(n\) exists. Plainly: \(R(r)\) is the tipping point of size past which no graph can dodge having \(r\) mutual friends or \(r\) mutual strangers. Figures 9.1 and 9.2 together establish \(R(3)=6\).

The halving proof picks \(2r-3\) vertices, each labelled "joined to all later picks" or "joined to none of them". Why does that finish the argument?

  1. Because \(2r-3\) is larger than \(r\), so enough vertices were collected
  2. Because some label is used at least \(r-1\) times, and one survivor from the last pool completes the \(r\)
  3. Because the last pool still holds exactly \(r\) vertices after all the halvings
  4. Because every pool along the way already contains a clique or an independent set of size \(r\)
Answer: B. Sorting \(2r-3\) labels into two boxes leaves \(r-1\) of them alike, by pigeonhole, and those \(r-1\) plus one leftover vertex are pairwise adjacent or pairwise non-adjacent. Option A counts the picks without noticing that only same-labelled vertices can be used together.

Colouring bundles, not just edges

Ramsey's original theorem is more general than the graph version, and the extra generality costs nothing once the language is right. The trick is to stop talking about edges and start talking about bundles of a fixed size.

Definition — \(k\)-subsets, \(c\)-colourings, monochromatic sets

For a set \(X\), write \([X]^k\) ("the \(k\)-subsets of \(X\)") for the collection of all subsets of \(X\) with exactly \(k\) elements. A \(c\)-colouring of a set is any division of it into \(c\) labelled groups, called colours; classes are allowed to be empty and no rule constrains which thing gets which colour. Given a \(c\)-colouring of \([X]^k\), a set \(Y \subseteq X\) is monochromatic if every member of \([Y]^k\) received the same colour.

Why is this the right language? Because \([X]^2\), the set of 2-element subsets of \(X\), is precisely the set of possible edges on vertex set \(X\). Painting the edges of a complete graph in two colours is a 2-colouring of \([X]^2\). A monochromatic set of size \(r\) is a set of \(r\) vertices all of whose pairs got one colour, which is a one-coloured \(K^r\). So the graph theorem is the case \(k=2\), \(c=2\). Taking \(k=3\) colours triples instead of pairs, and there is no graph picture for that, which is exactly the point: the theorem was never really about graphs.

A grainy black-and-white portrait of a balding elderly man in oval wire-rimmed spectacles, with a heavy moustache, a dark suit and a white collar.
Plate 9.B. Issai Schur, 1875 to 1941. In 1916, fourteen years before Ramsey's paper, he showed that colouring the positive whole numbers with finitely many colours always leaves some \(x\), \(y\) and \(x+y\) in one colour. There are no graphs anywhere in that statement, which is this section's point. Mathematisches Forschungsinstitut Oberwolfach. Wikimedia Commons, CC BY-SA 2.0 DE.
Common mistake

"Monochromatic" does not mean the elements of \(Y\) share a colour. The elements are not coloured at all. The \(k\)-subsets are. When \(k=1\) the two readings coincide, which is why the mistake survives so long: it only bites from \(k=2\) upward. Diestel flags this in a footnote, and it trips almost everyone once.

Common mistake

These colourings have nothing to do with the proper colourings of Chapter 5. There, adjacent vertices were required to get different colours, and the whole game was to use few colours. Here a colouring is any labelling whatsoever, and a colour class may be empty, so painting every edge violet is a perfectly legal 2-colouring. Two of the proofs later in this chapter use both kinds of colouring in the same argument, so keep the two ideas in separate drawers.

Definition — the general Ramsey number \(R(k,c,r)\)

\(R(k,c,r)\) is the smallest \(n \ge k\) such that every \(n\)-element set \(X\) has a monochromatic \(r\)-element subset under any \(c\)-colouring of \([X]^k\). Three dials: the bundle size \(k\), the number of colours \(c\), the target size \(r\). Setting \(k=2\) and \(c=2\) recovers the graph case: \(R(2,2,r)=R(r)\), and \(R(2,2,3)=6\) is the party puzzle.

Black-and-white studio portrait photograph of a young man, head and shoulders, facing the camera.
Plate 9.C. Van der Waerden in 1930, three years after proving that any finite colouring of the whole numbers leaves an arithmetic progression of whatever length you name in a single colour. He was twenty-seven and an algebraist. Much of Ramsey theory arrived this way, from people working on something else. ETH-Bibliothek Zürich, 1930. Wikimedia Commons, public domain.

You paint every edge of \(K^6\) violet and use no gold at all. What is that, in this chapter's language?

  1. Illegal, because a colour class may not be left empty
  2. A proper colouring in the sense of Chapter 5
  3. A colouring of the vertices rather than of \([X]^2\)
  4. A perfectly legal 2-colouring, though not a proper colouring in Chapter 5's sense
Answer: D. Here a colouring is any labelling whatsoever and a colour class may be empty; the Chapter 5 rule that adjacent things must differ is not in force. Option B confuses the two kinds of colouring, which the section warns is the easiest slip in the subject.

Infinity makes the proof easier

Ramsey proved an infinite version too, and it is cleaner than the finite one because there is no size bookkeeping at all.

Theorem — infinite Ramsey theorem (Ramsey, 1930)

Let \(k, c \ge 1\) and let \(X\) be an infinite set. Then for every \(c\)-colouring of \([X]^k\), the set \(X\) has an infinite monochromatic subset. Plainly: colour all the size-\(k\) bundles drawn from an infinite supply, using finitely many colours; some infinite sub-supply has all of its bundles in one colour. (Diestel, §9.1, Theorem 9.1.2.)[1]

The proof idea recycles the halving picture, with "infinite" playing the role of "at least half". For \(k=1\) it is pigeonhole with infinitely many pigeons: finitely many colours cannot split an infinite set into finite pieces, so one colour class is infinite. For larger \(k\), pick a point \(x_0\) and give each \((k-1)\)-bundle of the remaining points the colour that the bundle-plus-\(x_0\) received. That is a colouring one bundle-size down, so by induction there is an infinite set on which those inherited colours agree, which means \(x_0\) has one fixed colour attitude toward that whole infinite set. Recurse inside it to produce \(x_1, x_2, x_3, \dots\), each with a fixed attitude toward everything chosen after it. Finitely many colours and infinitely many \(x_i\) means infinitely many of them share an attitude, and those form the infinite monochromatic set.

Now comes a move worth pausing on. The finite theorem in full generality follows from the infinite one, by contradiction.

Theorem — finite Ramsey theorem, general form (Ramsey, 1930)

For all \(k, c, r \ge 1\) there is an \(n \ge k\) such that every \(n\)-element set has a monochromatic \(r\)-element subset under any \(c\)-colouring of its \(k\)-subsets. So \(R(k,c,r)\) is always a finite number. (Diestel, §9.1, Theorem 9.1.3.)[1]

Suppose it fails for some \(k, c, r\). Call a colouring of the \(k\)-bundles of \(\{0, 1, \dots, n-1\}\) bad if no \(r\)-element subset is monochromatic under it. Failure means bad colourings exist for every \(n\). Chop any bad colouring on \(n\) points down to the first \(n-1\) points and you get a bad colouring one size smaller, so the bad colourings sit in an infinite tree: level \(n\) holds the bad colourings on \(n\) points, and each is a child of the bad colouring it shrinks to. Every level is finite, because there are only finitely many colourings of finitely many bundles. König's infinity lemma from Chapter 8 says an infinite tree with finite levels has an infinite branch.[7] Follow that branch: it is a coherent, ever-extending sequence of bad colourings, and their shared values define a single bad colouring of all the \(k\)-bundles of \(\mathbb{N}\), the natural numbers. That contradicts the infinite theorem, which promised an infinite monochromatic set and therefore certainly an \(r\)-element one.

Intuition

This is called a compactness argument, and its shape is worth keeping. You want a statement about all large finite objects. You assume it fails, collect the infinitely many counterexamples, glue them into one infinite counterexample, and shoot that down with an infinite theorem. The gluing is where König's lemma earns its keep: it is the tool that turns "counterexamples at every size" into "one counterexample of infinite size".

In the compactness proof of the finite Ramsey theorem, what does König's infinity lemma actually supply?

  1. The fact that each level of the tree of bad colourings is finite
  2. One infinite branch, whose colourings glue into a single bad colouring of all the \(k\)-bundles of \(\mathbb{N}\)
  3. The infinite monochromatic set that the argument ends with
  4. A proof of the infinite Ramsey theorem from the finite one
Answer: B. The lemma converts counterexamples at every finite size into one infinite counterexample, which the infinite theorem then kills. Option A is an input the lemma requires, not something it delivers, and option D reverses the direction of the whole argument.

How big is "big enough"?

Ramsey's theorem promises that \(R(r)\) is finite. It does not say what it is, and nobody else does either. The halving proof gives an upper bound of \(2^{2r-3}\). Chapter 11 supplies a matching-in-spirit lower bound of \(2^{r/2}\), proved by the probabilistic method: paint the edges of a large complete graph by coin flips, count the expected number of monochromatic \(K^r\)s, and show that if the graph is small enough that count is below 1, so some painting has none.[1]

So \(2^{r/2} \le R(r) \le 4^r/8\). The two ends are both exponential, but the bases differ, and the gap between \(\sqrt{2}\) and \(4\) is an enormous multiplicative distance once \(r\) is large. Closing it is one of the oldest open problems in combinatorics. Exact values of \(R(r)\) are known only for very small \(r\), and the difficulty is not a shortage of computers: the number of edge colourings to check explodes far faster than the graphs grow.[1]

In the real world

An honest framing first. Unlike matching theory, which assigns physicians to hospitals, or flow theory, which schedules airline fleets, Ramsey theory does not run an institution. Its role is foundational: it invented the probabilistic method, it drives extremal combinatorics, and it remains an arena of live research. That the area is alive rather than embalmed was made vivid in 2023, when Campos, Griffiths, Morris and Sahasrabudhe proved \(R(r) \le (4-\varepsilon)^r\) for some fixed constant \(\varepsilon > 0\), the first improvement to the base of the Erdős–Szekeres exponential bound in nearly ninety years.[8]

Where Ramsey constructions do touch applications is inside information theory. Alon and Orlitsky studied zero-error communication, meaning transmission where no probability of error is tolerated at all, and found behaviour that looks impossible at first: there are sources for which sending a single instance costs arbitrarily many bits, while sending many instances costs roughly one bit each, and channels that carry exponentially more bits in two uses than in one.[9] The objects certifying these separations are Ramsey graphs, graphs with no large clique and no large independent set, exactly the objects this chapter's lower bounds are about. The correct classroom message is that Ramsey theory's applications are real but indirect: its constructions become components inside information theory and complexity theory rather than models of physical systems.

One conjecture is worth stating because it says something sharp about how weak Ramsey's guarantee really is. Read the bounds backwards: a graph on \(n\) vertices is only guaranteed a clique or an independent set of size about \(\log n\), which is tiny. The Erdős–Hajnal conjecture says that forbidding a single fixed pattern changes that completely.

Conjecture — Erdős and Hajnal (open)

For every graph \(H\) there is a constant \(\varepsilon_H > 0\) such that every graph \(G\) containing no induced copy of \(H\) has at least \(|G|^{\varepsilon_H}\) vertices that are pairwise adjacent or pairwise non-adjacent. In words: ban one fixed induced pattern, and the guaranteed clique or independent set jumps from logarithmic size to a power of \(n\). (Diestel, §9.1.)[1]

Both known bounds on \(R(r)\) are exponential, yet the size of \(R(r)\) is still wide open. Why?

  1. Because the lower bound is a conjecture rather than a theorem
  2. Because exact values of \(R(r)\) are known only for very small \(r\)
  3. Because the two bounds have different bases, \(\sqrt{2}\) against 4, and that ratio explodes as \(r\) grows
  4. Because the 2023 improvement removed the upper bound altogether
Answer: C. The sandwich \(2^{r/2} \le R(r) \le 4^r/8\) leaves a multiplicative gap that widens without limit. Option B is true but is a symptom of the gap rather than its cause, and the 2023 result shaved the base of the upper bound instead of removing it.

Ramsey numbers for other targets

Demanding a complete graph is greedy. Often the pattern you want is sparse, and sparse patterns should be cheaper to force. That intuition is correct and can be made exact.

Definition — \(R(H_1,H_2)\) and \(R(H)\)

\(R(H_1,H_2)\) is the smallest \(n\) such that for every graph \(G\) on \(n\) vertices, either \(H_1 \subseteq G\) ("\(H_1\) is a subgraph of \(G\)") or \(H_2 \subseteq \overline{G}\). Write \(R(H) := R(H,H)\). In colouring language: paint the edges of \(K^n\) violet and gold; \(R(H_1,H_2)\) is the smallest \(n\) that forces a violet \(H_1\) or a gold \(H_2\). Note that these copies are ordinary subgraphs, not induced ones: extra edges among the copy's vertices are tolerated.

Exact Ramsey numbers are rare, which makes the next result striking. It pins down the value exactly, for every tree at once.

Theorem — trees against cliques (Diestel, §9.2, Proposition 9.2.1)

For every tree \(T\) with \(t\) vertices and every \(s \ge 1\), \[ R(T, K^s) = (s-1)(t-1) + 1. \] In words: to force a copy of \(T\) in \(G\) or a set of \(s\) pairwise non-adjacent vertices in \(G\), you need exactly \((s-1)(t-1)+1\) vertices, no more and no less.[2]

Both halves of the proof are short. For the lower bound, exhibit a graph on \((s-1)(t-1)\) vertices that dodges both targets: take \(s-1\) separate copies of the complete graph \(K^{t-1}\). Each island has only \(t-1\) vertices, one too few for \(T\), and \(T\) is connected so it cannot straddle islands. The complement of that graph joins every pair of vertices on different islands and no pair on the same island, so it is the complete multipartite graph \(K^{s-1}_{t-1}\); any set of pairwise adjacent vertices there uses at most one vertex per island, so it has at most \(s-1\) vertices, one too few for \(K^s\). Figure 9.4 draws the smallest interesting case.

G: two separate triangles complement of G: K3,3 a b c d e f no connected group of 4 vertices a b c d e f bipartite, so no triangle
Figure 9.4. Why six vertices are not enough when \(s=3\) and \(t=4\). Left: \(G\) is two disjoint triangles, so no tree on four vertices fits, since a tree is connected and each piece holds only three. Right: the complement is \(K_{3,3}\), which is bipartite and therefore triangle-free, so it has no \(K^3\). The formula says seven vertices would force one of the two.

For the upper bound, suppose \(G\) has \((s-1)(t-1)+1\) vertices and \(\overline{G}\) contains no \(K^s\). Colour \(G\)'s vertices properly, in the sense of Chapter 5: adjacent vertices get different colours. Each colour class is a set of pairwise non-adjacent vertices of \(G\), which is a set of pairwise adjacent vertices of \(\overline{G}\), so it has at most \(s-1\) members. Fitting more than \((s-1)(t-1)\) vertices into classes of size at most \(s-1\) needs at least \(t\) classes, so the chromatic number satisfies \(\chi(G) \ge t\). Here \(\chi(G)\) is the chromatic number, the fewest colours a proper colouring can use. Chapter 5 then supplies a subgraph in which every vertex has at least \(t-1\) neighbours, and a graph with minimum degree at least \(t-1\) contains every tree on \(t\) vertices: grow the tree one vertex at a time, and at each step there are more available neighbours than tree vertices used so far.[2]

Worked example

Let \(T\) be the path on 5 vertices, so \(t=5\), and let \(s=3\). The formula gives \(R(T,K^3) = (3-1)(5-1)+1 = 9\). So among any 9 people, either 5 of them can be lined up in a chain of acquaintance, or 3 of them are mutual strangers. With 8 people it can fail: two separate cliques of 4 have no chain of 5, and the complement \(K^2_4\) has no triangle.

Sparse targets are cheap: bounded degree buys linear Ramsey numbers

Trees against cliques is a special case. The general phenomenon is that thin target graphs have small Ramsey numbers, and the sharpest version of that statement replaces "thin" by a bound on the maximum degree \(\Delta(H)\), the largest number of neighbours any single vertex of \(H\) has.

Theorem — linear Ramsey numbers for bounded degree (Chvátal, Rödl, Szemerédi and Trotter, 1983)

For every \(\Delta \in \mathbb{N}\) there is a constant \(c\) such that \(R(H) \le c\,|H|\) for every graph \(H\) with \(\Delta(H) \le \Delta\), where \(|H|\) is the number of vertices of \(H\). In words: if no vertex of \(H\) has more than \(\Delta\) neighbours, the Ramsey number of \(H\) grows only linearly in its size, not exponentially. (Diestel, §9.2, Theorem 9.2.2.)[2]

Compare the two bounds to feel the drop. A complete graph on \(r\) vertices needs about \(4^r\) vertices to be forced. A graph on \(r\) vertices with maximum degree 5 needs only \(c \cdot r\), a straight line. The constant \(c\) depends on \(\Delta\) alone, and the proof makes it astronomically large, but it never depends on how big \(H\) is.

The proof is the first big pay-off of Szemerédi's regularity lemma from Chapter 7, and it is worth following at the level of shape even if the machinery is beyond this course.[6] Take any graph \(G\) with \(c\,|H|\) vertices. The regularity lemma chops its vertices into a bounded number of equal chunks so that almost every pair of chunks behaves like a random bipartite graph. Build a small summary graph, one node per chunk, joined when the pair is one of the well-behaved ones. Since only a tiny fraction of pairs misbehaves, the summary graph is nearly complete, and Turán's theorem from Chapter 7 finds a complete graph inside it on \(m := R(\Delta+1)\) nodes.

chunk pairs inside G the summary graph dense pair: violet sparse pair: gold 1 2 3 4 chunks 1, 2, 3 form a violet triangle
Figure 9.5. The reduction behind the linear bound. Each pair of chunks in \(G\) is either dense (many edges, painted violet) or sparse (few edges, painted gold). A sparse pair in \(G\) is a dense pair in the complement \(\overline{G}\), so the two colours are the two places we might build \(H\). Ramsey's theorem, applied to the small summary graph, finds a one-coloured complete graph among the chunk-nodes, and \(H\) is then planted inside the corresponding chunks.

Now paint the edges of that complete summary graph: violet if the pair of chunks is dense in \(G\), gold if it is sparse. A sparse pair in \(G\) is a dense pair in the complement \(\overline{G}\), so the two colours point at the two graphs we are allowed to build in. By the choice of \(m = R(\Delta+1)\), Ramsey's theorem hands us a one-coloured complete graph on \(\Delta+1\) chunk-nodes. Since \(H\) has maximum degree at most \(\Delta\), a greedy proper colouring uses at most \(\Delta+1\) colours, which means \(H\)'s vertices can be split into \(\Delta+1\) groups with no edges inside a group. Send each group into its own chunk. The blow-up lemma from Chapter 7 then says the regular, dense pairs really do contain all the edges you need, so \(H\) lands inside \(G\) if the colour was violet, and inside \(\overline{G}\) if it was gold. Every chunk is a fixed fraction of \(G\), which is why the whole bound stays linear.[2]

The frontier: Ramsey-minimal graphs

A different question about the same phenomenon: rather than asking how big a forcing graph must be, ask what the smallest forcing graphs look like.

Definition — Ramsey-minimal

A graph \(G\) is Ramsey-minimal for \(H\) if every 2-colouring of \(G\)'s edges yields a monochromatic copy of \(H\), and no proper subgraph of \(G\) has that property. Plainly: \(G\) forces \(H\), and you cannot delete a single edge without breaking the forcing.

You might hope that for a simple target the frontier is a short list. It is not.

Theorem — the frontier is infinite (Diestel, §9.2, Proposition 9.2.3)

If \(T\) is a tree but not a star, then infinitely many graphs are Ramsey-minimal for \(T\).[2]

The proof is a two-step trick that repays study. Step one: by Erdős's theorem from Chapter 5 (proved probabilistically in Chapter 11), there are graphs \(G\) with chromatic number greater than \(r^2\) and girth greater than \(n\), where \(r = |T|\) and \(n\) is any size you like. Girth greater than \(n\) means every cycle is longer than \(n\). Paint \(G\)'s edges violet and gold. If both the violet subgraph and the gold subgraph could be properly coloured with \(r\) colours, then labelling each vertex by its pair of colours would properly colour all of \(G\) with \(r^2\) colours, which is impossible. So one colour class needs more than \(r\) colours, hence contains a subgraph of minimum degree at least \(r\), hence contains \(T\). So \(G\) forces \(T\).

Step two: shrink \(G\) down to a Ramsey-minimal subgraph \(G^*\). Could \(G^*\) be a forest, that is, cycle-free? No. A forest can always be painted so that no path of three edges is one-coloured: walk each tree from its root and alternate colours by level. Since \(T\) is a tree that is not a star, it contains a path of three edges, so a forest never forces \(T\). Therefore \(G^*\) contains a cycle, and every cycle of \(G\) has more than \(n\) vertices, so \(G^*\) has more than \(n\) vertices. Since \(n\) was arbitrary, Ramsey-minimal graphs for \(T\) come in unbounded sizes.[2]

The lower bound for \(R(T,K^s)\) uses \(s-1\) disjoint copies of \(K^{t-1}\). Why does that graph dodge both targets?

  1. Because each island has too few edges to contain \(T\)
  2. Because its complement is bipartite and therefore triangle-free
  3. Because a tree on \(t\) vertices has \(t-1\) edges, one for each island
  4. Because \(T\) is connected and each island is one vertex short, while a clique in the complement can take only one vertex per island
Answer: D. Both halves turn on counting vertices, not edges: \(T\) cannot straddle two islands, and the complement \(K^{s-1}_{t-1}\) has cliques of size at most \(s-1\). Option B holds only in the pictured case \(s=3\), where the complement happens to be \(K_{3,3}\).

Compare two targets with 100 vertices each: the complete graph \(K^{100}\) and the cycle \(C^{100}\). What does this section say about their Ramsey numbers?

  1. Both are exponential in 100, since the two targets have the same number of vertices
  2. \(R(C^{100})\) is smaller because a cycle has fewer edges, but both still grow exponentially
  3. \(R(C^{100})\) is at most a constant times 100, while \(R(K^{100})\) is exponential in 100
  4. Neither of them is known to be finite for targets this large
Answer: C. A cycle has maximum degree 2, so the bounded-degree theorem gives a linear bound, while forcing \(K^{100}\) needs roughly \(4^{100}\) vertices. Option B picks the wrong measure of thinness: the theorem is about maximum degree, not edge count.

Induced copies change everything

Everything so far allowed sloppy copies. When we said \(G\) contains \(H\), we meant \(H\)'s vertices and edges are present; extra edges among those vertices were nobody's business. Section 9.3 of the book raises the bar and demands exact copies.

An induced copy of \(H\) inside \(G\) is a set of vertices such that the edges of \(G\) among them are exactly the edges of \(H\): every edge of \(H\) present, every non-edge of \(H\) absent. The non-edges are now part of the specification. That one change destroys the trivial strategy.

the pattern P2: two edges and one non-edge inside K5 every triple is a triangle x y z x and z must NOT be joined no missing edge is ever available
Figure 9.6. Why bigness alone is useless for induced copies. The pattern \(P^2\) is a path with three vertices, two edges, and one required non-edge (dashed). Every three vertices of a complete graph induce a triangle, so an induced \(P^2\) is not present in \(K^n\) for any \(n\), whatever colours are painted on. The host graph has to be built with the right non-edges in the right places.
Definition — Ramsey graph for \(H\)

A graph \(G\) is a Ramsey graph for \(H\) if for every way of splitting \(E(G)\), the edge set of \(G\), into two classes (either class may be empty), \(G\) contains an induced copy of \(H\) all of whose edges lie in one class. Plainly: however an adversary paints \(G\)'s edges violet and gold, somewhere inside \(G\) sits an exact copy of \(H\), right edges present, right non-edges absent, all in a single colour.

Common mistake

"A big complete graph is a Ramsey graph for everything." True for the sloppy notion of copy, false for the induced one whenever \(H\) is not complete. Figure 9.6 shows the failure happens before any colouring is considered: the induced copy simply is not there. This is why the next theorem is a construction theorem and not a size theorem.

Theorem — the induced Ramsey theorem (Deuber; Erdős, Hajnal and Pósa; Rödl, around 1973)

Every graph \(H\) has a Ramsey graph. That is, for any pattern \(H\) whatsoever there exists a graph \(G\) such that every 2-colouring of \(G\)'s edges produces a monochromatic induced copy of \(H\) inside \(G\). (Diestel, §9.3, Theorem 9.3.1.)[3]

Three people found this independently within a couple of years, which usually means the statement was in the air and the difficulty was the construction. The proof runs in three moves: standardise bipartite graphs, solve the problem for bipartite graphs, then assemble the general case by stacking bipartite solutions.

Move one: every bipartite graph is a membership graph

For this section a bipartite graph is written as a triple \(P = (V_1, V_2, E)\), recording which side is which so that copies cannot flip the sides. An embedding \(\varphi \colon P \to P'\) is a no-collisions map of vertices that keeps first side inside first side, second inside second, and satisfies a strict rule: \(\varphi(v_1)\varphi(v_2)\) is an edge of \(P'\) exactly when \(v_1v_2\) is an edge of \(P\). The "exactly when" is what makes embeddings induced. Non-edges must go to non-edges.

1 2 3 12 13 23 points blocks: the 2-element subsets, joined to their members
Figure 9.7. The point-block graph \((X, [X]^k, E)\) for \(X=\{1,2,3\}\) and \(k=2\). Points sit on top, blocks underneath, and an edge means "this point belongs to this block". Block \(\{1,3\}\) is highlighted with its exactly two edges. Every bipartite graph is an induced, side-respecting piece of a large enough graph of this kind.

Why can every bipartite graph be recorded this way? Given \(P\) with first side \(a_1, \dots, a_n\) and second side \(b_1, \dots, b_m\), take \(2n+m\) points. Send \(a_i\) to the point \(x_i\). Send \(b_j\) to the block consisting of exactly the points matching \(b_j\)'s neighbours, plus one private index point \(z_j\) so that two different \(b\)'s with identical neighbourhoods still get different blocks, plus enough unused padding points to reach the common block size \(k = n+1\). Membership then reproduces adjacency exactly, in both directions.[3] The gain is that the whole problem is now stated in the language of sets and their subsets, which is precisely the language the general finite Ramsey theorem speaks.

Move two: bipartite graphs have bipartite Ramsey graphs

Here is the shape of the argument, with the arithmetic suppressed. Write \(P = (X, [X]^k, E)\) in point-block form. Build \(P' = (X', [X']^{k'}, E')\) with the larger block size \(k' = 2k-1\) and with \(|X'|\) chosen to be a suitable general Ramsey number. Now let an adversary paint \(P'\)'s edges violet and gold.

Each block of \(P'\) has \(2k-1\) edges running up to its member points. Sorting \(2k-1\) things into two colours leaves at least \(k\) of them in one colour, by pigeonhole. So every block \(Y'\) owns a distinguished \(k\)-element subset \(Z' \subseteq Y'\) whose edges all share a colour; call that the colour associated with \(Y'\). Record two facts about each block: which colour it is associated with, and where its distinguished subset sits inside it, read off a fixed ordering of \(X'\). That pair of facts is a colouring of the \(k'\)-subsets of \(X'\) using \(2\binom{k'}{k}\) colours, where \(\binom{k'}{k}\) ("k-prime choose k") counts the ways of choosing \(k\) positions out of \(k'\). Finitely many colours is all that matters. The general finite Ramsey theorem now supplies a large monochromatic set \(W\): inside \(W\), every block has its distinguished subset in the same position pattern and the same colour, say violet.

Finish by placing the points of \(X\) into \(W\) spaced out with exactly \(k-1\) unused elements between consecutive images. Each block \(Y\) of \(P\) is then sent to the block built from the images of \(Y\)'s points topped up with spare elements from the gaps, chosen so the image lands in the standard position pattern. The edges we care about are all violet, membership is preserved in both directions, and no two things collide.[3]

Intuition

The clever move is colouring positions rather than edges. An edge colouring of a huge bipartite graph looks unmanageable. Compressing each block into a short label, meaning its colour plus where its good part sits, turns the problem into an ordinary set colouring with a fixed number of colours, and set colourings are exactly what the Ramsey theorem of Section 9.1 handles.

Move three: the partite construction

The general case is assembled from bipartite pieces by an idea of Nešetřil and Rödl. Let \(n := R(|H|)\), so any violet/gold painting of \(K^n\)'s edges has a one-coloured complete graph on \(|H|\) vertices. Build a scaffold with \(n\) rows and one column for every possible way of choosing \(|H|\) of the \(n\) rows. In each column, place an exact copy of \(H\) on its chosen rows, and leave the remaining cells of that column as isolated dots.

1 2 3 4 rows
Figure 9.8. The scaffold, drawn with four rows and the pattern \(H = P^2\) (a path on three vertices). Each column carries one exact copy of \(H\), placed on a different choice of three rows; the unused cell in each column is an isolated dot. Every possible position of \(H\) among the rows appears exactly once.

The scaffold by itself forces nothing. The construction then walks through the row-pairs one at a time. For the current pair of rows, the bipartite graph between them is replaced by its bipartite Ramsey graph from move two, and the rest of the scaffold is duplicated once per embedding, so that any monochromatic copy found between those two rows still extends to a full copy of the previous scaffold. After all row-pairs have been processed, the final graph \(G\) has the property we wanted: under any painting of its edges, you can descend through the layers of the construction and find a copy of the original scaffold in which, for each pair of rows, every surviving edge between those two rows carries a single colour.

Finish by squashing each row to a single point. The row-pair colours become an edge colouring of \(K^n\), and by the choice of \(n = R(|H|)\) some \(|H|\) rows form a one-coloured complete graph. The column that placed its copy of \(H\) on exactly those rows now gives an induced, one-coloured copy of \(H\).[3] One bonus falls out of the construction: the graph \(G\) it produces has the same clique number as \(H\), meaning \(\omega(G) = \omega(H)\), so it contains no larger complete graph than \(H\) already does.

Sparsity can be pushed much further, and doing so took fifty years.

Theorem — the girth Ramsey theorem (Reiher and Rödl, 2023)

Every graph \(H\) has a Ramsey graph \(G\) with the same girth as \(H\), meaning \(G\) has no cycle shorter than the shortest cycle of \(H\). When \(H\) is a forest, so has no cycles at all, \(G\) can be built with girth as large as you please. (Diestel, §9.3, Theorem 9.3.4.)[3]

Diestel does not give the proof, describing it as highly complex, and this course will not attempt one either. The statement alone is worth sitting with. It says that forcing an induced copy of \(H\) needs no dense local structure anywhere: the host can look, in any small window, as thin as \(H\) itself. All the forcing power lives in the global pattern of overlaps. For a sense of scale, merely building graphs with large girth and large chromatic number, a far weaker demand, already required the probabilistic method back in Chapter 5.

One boundary case explains why the forest clause reads the way it does. If \(H\) is a tree that is not a star, no forest can be a Ramsey graph for it, by the alternating-colour argument used earlier for Ramsey-minimal graphs. So "infinite girth" is out of reach, and "arbitrarily large girth" is the best available statement.

A graph \(G\) contains the 4-cycle \(w\,x\,y\,z\,w\), and \(G\) also joins \(w\) to \(y\). Is that an induced copy of \(C^4\)?

  1. Yes, since all four edges of the cycle are present
  2. Yes, provided the extra edge is painted the same colour as the rest
  3. No, because an induced copy has to use every vertex of \(G\)
  4. No, because \(wy\) is a non-edge of \(C^4\) and an induced copy needs it absent
Answer: D. An induced copy specifies the non-edges as well as the edges, so the chord disqualifies these four vertices. Option A is the sloppy notion of copy that every earlier section of the chapter used.

The partite construction builds a scaffold with \(n = R(|H|)\) rows. What is that particular number for?

  1. So that squashing each row to a point forces \(|H|\) rows whose pairs all carry one colour
  2. So that every column is wide enough to hold a full copy of \(H\)
  3. So that the scaffold has more rows than \(H\) has edges
  4. So that the bipartite Ramsey graphs of move two are guaranteed to exist
Answer: A. The row-pair colours become an edge colouring of \(K^n\), and \(R(|H|)\) is exactly the size that forces a one-coloured complete graph on \(|H|\) rows; the column that placed \(H\) on those rows then supplies the copy. Option D names something move two already delivers for any number of rows.

What connectivity forces

The last section of the chapter changes the question again. Suppose the large graph is not arbitrary but connected, or 2-connected, or more. What must it contain? The answers are short lists of very plain shapes, and the depth is entirely in the proof that the lists are complete.

Theorem — connected graphs (Diestel, §9.4, Proposition 9.4.1)

For every \(r \ge 1\) there is an \(n\) such that every connected graph with at least \(n\) vertices contains \(K^r\), the star \(K_{1,r}\), or the path \(P^r\) as an induced subgraph. In words: a huge connected graph shows one of three faces, a big clique, a big star, or a long path.[4]

induced star K1,6 induced path P6 h the six leaves are pairwise non-adjacent a b c d e f g no shortcuts between non-consecutive vertices
Figure 9.9. Two of the three unavoidable faces of a huge connected graph. Left, an induced star: one hub with six neighbours that are pairwise non-adjacent. Right, an induced path on seven vertices: consecutive vertices joined, no other pair joined. The third face is a large complete graph.

Two reminders about the notation. The star \(K_{1,r}\) is one hub joined to \(r\) leaves that are pairwise non-adjacent, and \(P^r\) is the path with \(r\) edges, so \(r+1\) vertices; Diestel counts a path's length in edges, which is why Figure 9.9 shows \(P^6\) with seven dots.

The proof splits into a dense case and a sparse case, and this split is the template for the whole section. Set \(d+1 := R(r)\). Case one: some vertex \(v\) has more than \(d\) neighbours. Apply Ramsey's theorem inside the neighbourhood \(N(v)\), the set of vertices joined to \(v\). Either \(r\) of those neighbours are pairwise adjacent, giving \(K^r\), or \(r\) of them are pairwise non-adjacent, and those \(r\) together with \(v\) form an induced star \(K_{1,r}\). Case two: every vertex has at most \(d\) neighbours. A graph with bounded degree in which every vertex is within distance \(r\) of some fixed centre can only hold boundedly many vertices, because each step outward multiplies the count by at most \(d-1\). So a huge graph of bounded degree must have two vertices further apart than \(r\), and a shortest path between two such vertices is automatically induced, since any shortcut would make it shorter.[4]

Raising the connectivity changes the list, and it also weakens the currency. From here on the guaranteed structures are minors and topological minors rather than induced subgraphs. Recall from Chapter 1 that a topological minor is obtained by replacing some edges by longer paths, and a minor by contracting connected chunks to single vertices. Both are weaker demands than an induced subgraph, and paying that price is what keeps the lists short.

Theorem — 2-connected graphs (Diestel, §9.4, Proposition 9.4.2)

For every \(r \ge 2\) there is an \(n\) such that every 2-connected graph with at least \(n\) vertices contains the cycle \(C^r\) or the complete bipartite graph \(K_{2,r}\) as a topological minor. In words: a huge 2-connected graph has a long cycle, or two poles joined by \(r\) internally disjoint paths.[4]

u v five internally disjoint u-v paths
Figure 9.10. A subdivided \(K_{2,5}\): two poles \(u\) and \(v\) linked by five paths that share nothing but the poles. Contract each path to a single edge-through-a-middle-vertex and you recover \(K_{2,5}\) exactly. This is what a huge 2-connected graph must contain if it has no long cycle.

The proof reuses the dense-versus-sparse split. If the graph has large radius, take two far-apart vertices; 2-connectedness plus Menger's theorem from Chapter 3 gives two paths between them that share only their endpoints, and together those two paths close into a long cycle. Otherwise some vertex \(v\) has huge degree. Delete \(v\), which leaves the graph connected, and take a smallest tree that still reaches all of \(v\)'s former neighbours; minimality forces every leaf of that tree to be one of those neighbours. Apply the connected-graph result to the tree. A tree contains no large clique, so it must have a vertex of large degree or a long path. A long path between two leaves closes through \(v\) into a long cycle. A high-degree vertex \(u\) of the tree sends \(r\) disjoint branches to leaves, each of which hops to \(v\), giving \(r\) internally disjoint \(u\)-\(v\) paths: a subdivided \(K_{2,r}\).[4]

At connectivity 3 and 4 the results are stated without proof in the book, and the shapes get more interesting.

Theorem — 3-connected graphs (Oporowski, Oxley and Thomas, 1993)

For every \(r \ge 3\) there is an \(n\) such that every 3-connected graph with at least \(n\) vertices has a wheel of order \(r\) or a \(K_{3,r}\) as a minor. (Diestel, §9.4, Theorem 9.4.3.)[4]

Theorem — 4-connected graphs (Oporowski, Oxley and Thomas, 1993)

For every \(r \ge 4\) there is an \(n\) such that every 4-connected graph with at least \(n\) vertices has a minor of order at least \(r\) that is a double wheel, a crown, a Möbius crown, or a \(K_{4,r}\). (Diestel, §9.4, Theorem 9.4.4.)[4]

A crown is the skeleton of a triangulated cylindrical band: two cycles of equal length, one inside the other, stitched together by a zigzag of edges so that the ring between them is tiled by triangles. A Möbius crown is the same band glued with a half-twist. All four shapes on the 4-connected list are themselves 4-connected, which is what you would want from an unavoidable structure: the list members belong to the class they describe.

wheel: cycle plus one hub double wheel: cycle plus two hubs w w1 w2
Figure 9.11. The hub shapes. Left, a wheel of order 8: a 7-vertex cycle with a hub joined to every cycle vertex. Right, a double wheel: a 6-vertex cycle with two hubs, each joined to all six cycle vertices, and crucially not joined to each other. Wheels are what huge 3-connected graphs cannot avoid; double wheels join the list at connectivity 4.

Why these lists are the right lists

Four theorems, four lists. Are the lists arbitrary? The chapter answers no, and to say so precisely it needs a way of comparing whole families of graphs.

Definition — ordering and equivalence of properties

A graph property is a class of graphs closed under isomorphism; it is non-trivial if it contains infinitely many graphs that differ from one another. Fix a containment relation \(\le\) (subgraph, topological minor, or minor). For two properties write \(\mathcal{P} \le \mathcal{P}'\) if every graph in \(\mathcal{P}\) sits inside some graph in \(\mathcal{P}'\) under that relation, and \(\mathcal{P} \sim \mathcal{P}'\) when both directions hold.

Worked example

Under the subgraph relation, the family of all paths and the family of all even-length paths are equivalent: every path sits inside a longer even-length path, and every even-length path is a path. The family of all paths also fits inside the family of subdivided stars, because a path is a subdivided star with two arms. The reverse fails: a three-armed subdivided star has a vertex of degree 3, and no path has one, so it fits inside no path. Paths and subdivided stars are therefore comparable in one direction only.

Definition — Kuratowski set

Given a class \(\mathcal{G}\) of graphs and a containment relation \(\le\), a Kuratowski set is a finite collection \(\{\mathcal{P}_1, \dots, \mathcal{P}_k\}\) of non-trivial properties inside \(\mathcal{G}\) that are pairwise incomparable, and such that every non-trivial property \(\mathcal{P} \subseteq \mathcal{G}\) satisfies \(\mathcal{P}_i \le \mathcal{P}\) for some \(i\). Plainly: the shortest complete catalogue of unavoidable shapes. Every infinite family of graphs from \(\mathcal{G}\) contains arbitrarily large specimens of at least one catalogued shape, and no catalogue entry is redundant.

The name is borrowed from Kuratowski's planarity theorem, where two graphs form the complete list of obstructions to drawing a graph without crossings. Incomparability is what forces the catalogue to be short; the covering condition is what forces it to be complete. Together they pin the catalogue down: any two Kuratowski sets for the same class and relation match entry for entry up to equivalence.

Theorem — the four catalogues (Diestel, §9.4, Theorem 9.4.5)

Each of the four unavoidability results above is a Kuratowski set for its connectivity level and containment relation, as tabulated below.[4]

ConnectivityContainment relationUnavoidable shapes
connectedsubgraphstars, paths
2-connectedtopological minorcycles, \(K_{2,r}\)
3-connectedminorwheels, \(K_{3,r}\)
4-connectedminordouble wheels, crowns, Möbius crowns, \(K_{4,r}\)

Notice that complete graphs vanish from the first row even though they appeared in the theorem about connected graphs. The reason is the change of relation. Under plain subgraph containment, \(K^{r+1}\) contains both \(K_{1,r}\) and \(P^r\), so a family with unboundedly large complete graphs already sits above both catalogue entries, and adding a third entry for complete graphs would violate the requirement that entries be pairwise incomparable. Under induced-subgraph containment the absorption fails, which is exactly why the earlier theorem needed all three shapes.

Common mistake

Uniqueness of a Kuratowski set is uniqueness up to equivalence, not literal uniqueness. "All paths" may be swapped for "all even-length paths" without breaking anything, because those two families are equivalent. The theorem says the catalogue is canonical, not that its wording is.

Intuition

Read the table as a design constraint. You cannot build an arbitrarily large network that is 3-connected and simultaneously avoids both wheels and \(K_{3,r}\) patterns, no matter how creative the design. Size plus connectivity leaves no room for total novelty in structure. That is the same message as the party puzzle, spoken in the language of network shapes rather than triangles.

A huge 2-connected graph turns out to have no long cycle. What must it contain instead?

  1. A wheel, as a minor
  2. A large complete graph, as an induced subgraph
  3. A large induced star \(K_{1,r}\)
  4. A subdivided \(K_{2,r}\): two poles joined by \(r\) paths that share nothing but the poles
Answer: D. The 2-connected list has exactly two entries, long cycles and \(K_{2,r}\) as a topological minor, so ruling out the first leaves the second. Option A belongs to the 3-connected list, one connectivity level further up.

The catalogue for connected graphs may list "all even-length paths" in place of "all paths". Why is that allowed?

  1. Because a Kuratowski set is unique only up to equivalence, and each of those two families fits inside the other
  2. Because odd-length paths contain no star, so they may be dropped
  3. Because a Kuratowski set is allowed to contain comparable entries
  4. Because the theorem covers only graphs with an even number of vertices
Answer: A. Every path sits inside a longer even-length path and every even-length path is a path, so the two families are interchangeable. Option C states the opposite of the definition, which demands that entries be pairwise incomparable.

What to carry forward

Three ideas from this chapter reappear elsewhere in the book. First, the either/or shape: no single pattern is forced by size, but one of two opposite patterns always is, and that is enough to build a theory on. Second, the compactness move: an infinite theorem plus König's lemma yields the finite theorem in full generality, a pattern that recurs whenever finite statements resist direct attack. Third, the split between finding a copy and finding an exact copy. Sloppy copies are forced by mere size. Exact copies are forced only by a host built for the purpose, and that construction, stacking bipartite Ramsey graphs row-pair by row-pair, is the technique that modern structural Ramsey theory runs on.

The infinite Ramsey theorem returns in Chapter 12, where it helps prove that certain orderings have no infinite bad sequences, the first step on the road to the graph minor theorem. The probabilistic lower bound for \(R(r)\) promised here is proved in Chapter 11. And the Kuratowski-set viewpoint, a canonical finite list of unavoidable or forbidden shapes, is the exact viewpoint that the graph minors project turns into a general theory.

The closing summary separates two kinds of copy. Which kind is forced by sheer size?

  1. An induced copy of \(H\), which every large enough graph contains
  2. A monochromatic induced copy of \(H\) under any 2-colouring
  3. An ordinary copy of \(H\), extra edges tolerated, in \(G\) or in \(\overline{G}\)
  4. An induced copy of \(H\) inside a large enough complete graph
Answer: C. Sloppy copies fall out of mere size; exact copies are forced only by a host built for the purpose, which is what the partite construction does. Option D fails for every \(H\) that is not complete, since a complete graph induces only complete subgraphs.

Check your understanding

For the set \(X = \{a, b, c, d\}\), what is \([X]^2\)?

  1. The set of all ordered pairs of elements of \(X\)
  2. The set of all 2-element subsets of \(X\), such as \(\{a,b\}\)
  3. The set \(X\) written out twice
  4. The set of all subsets of \(X\) with at most 2 elements
Answer: B. \([X]^k\) always means the subsets with exactly \(k\) elements. For \(k=2\) these are exactly the possible edges on vertex set \(X\), which is why edge colourings are the \(k=2\) case of Ramsey's general theorem. Option D wrongly includes the singletons and the empty set.

The complement \(\overline{G}\) of a graph \(G\) has which edges?

  1. The same edges as \(G\), drawn in a different colour
  2. Only those edges of \(G\) that lie on a cycle
  3. Exactly the pairs of vertices that are not edges of \(G\)
  4. No edges at all
Answer: C. The complement keeps the vertices and flips every adjacency. That is why "find \(K^r\) in \(G\) or in \(\overline{G}\)" is the same request as "find \(r\) mutual neighbours or \(r\) mutual non-neighbours in \(G\)".

The Ramsey number \(R(r)\) is defined as:

  1. The least \(n\) such that every graph with at least \(n\) vertices contains \(K^r\) or \(\overline{K^r}\) as an induced subgraph
  2. The largest graph containing no complete subgraph on \(r\) vertices
  3. The number of edges needed to force a \(K^r\)
  4. The number of 2-colourings of the edges of \(K^r\)
Answer: A. \(R(r)\) is a threshold on the number of vertices. Option C describes Chapter 7's edge-forcing world, which this chapter deliberately contrasts itself against in its opening.

A 3-colouring of \([X]^3\) is given, and \(Y \subseteq X\) is monochromatic. What does that mean?

  1. All the elements of \(Y\) received the same colour
  2. \(Y\) has exactly 3 elements
  3. \(Y\) contains no two adjacent vertices
  4. Every 3-element subset of \(Y\) received the same colour
Answer: D. The elements of \(Y\) are never coloured; the \(k\)-subsets are. Option A is the standard trap, and it is invisible when \(k=1\) because the two readings then agree.

Which colouring of the edges of \(K^5\) shows that \(R(3) > 5\)?

  1. All five outer edges and all five diagonals violet
  2. The five pentagon edges violet, the five diagonals gold
  3. The four edges at one vertex violet, all others gold
  4. Any colouring at all, since \(R(3) > 5\) holds regardless
Answer: B. Each colour class is then a 5-cycle, and a 5-cycle contains no triangle, so no monochromatic triangle exists (Figure 9.1). Option A obviously contains violet triangles, and option D is wrong because a lower bound needs one specific dodging colouring, not an arbitrary one.

Let \(T\) be any tree with 5 vertices. What is \(R(T, K^3)\)?

  1. 9
  2. 15
  3. 8
  4. 11
Answer: A. The formula is \(R(T,K^s) = (s-1)(t-1)+1\) with \(t=5\) and \(s=3\), giving \(2 \times 4 + 1 = 9\). Option C is what you get by forgetting the final \(+1\), which is exactly the vertex that tips the count over.

The Chvátal, Rödl, Szemerédi and Trotter theorem says that for graphs \(H\) whose maximum degree is at most a fixed \(\Delta\):

  1. \(R(H)\) equals \(2^{|H|}\) exactly
  2. \(R(H)\) is bounded by a constant that does not depend on \(|H|\)
  3. \(R(H) \le c\,|H|\), so the Ramsey number grows only linearly in the size of \(H\)
  4. \(R(H) \le |H|^{\Delta}\), polynomial but faster than linear
Answer: C. Bounding the maximum degree buys linear Ramsey numbers, with the constant \(c\) depending only on \(\Delta\). Option B cannot hold, since \(R(H)\) is at least \(|H|\) for the trivial reason that the host must have room for \(H\).

Why can no complete graph \(K^n\), however large, be a Ramsey graph for the path \(P^2\) (three vertices, two edges)?

  1. Because \(K^n\) has too few edges to colour interestingly
  2. Because paths occur only in bipartite graphs
  3. Because \(P^2\) has an odd number of vertices and \(n\) would have to be even
  4. Because any three vertices of \(K^n\) induce a triangle, so an induced \(P^2\), which needs a missing edge, never occurs at all
Answer: D. Every induced subgraph of a complete graph is complete, and \(P^2\) is not. The failure happens before any colouring is considered, which is why the induced Ramsey theorem needs a genuine construction rather than a size argument.

A connected graph has a huge number of vertices and no vertex has more than 5 neighbours. Which structure is it guaranteed to contain as an induced subgraph?

  1. A large complete graph \(K^r\)
  2. A large star \(K_{1,r}\)
  3. A long path
  4. A large complete bipartite graph \(K_{3,r}\)
Answer: C. Large cliques and large stars both require a vertex with many neighbours, which the degree bound rules out. A connected bounded-degree graph with small radius holds only boundedly many vertices, so a huge one has two far-apart vertices, and a shortest path between them is automatically induced.

For connected graphs under the subgraph relation, the catalogue of unavoidable shapes is {stars, paths}. Why are complete graphs not a third entry?

  1. Complete graphs contain large stars and large paths as subgraphs, so that family already sits above both entries, and adding it would break the required pairwise incomparability
  2. Large complete graphs are not connected
  3. Complete graphs are excluded because they contain cycles
  4. The theorem applies only to trees
Answer: A. \(K^{r+1}\) contains \(K_{1,r}\) and \(P^r\) as subgraphs, so the star family and the path family each fit inside the complete-graph family, and a catalogue must have pairwise incomparable entries. Under the stricter induced-subgraph relation this absorption fails, which is why the connected-graph theorem lists all three shapes.

Sources and further reading

  1. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §9.1 (Ramsey's theorem for graphs 9.1.1; infinite Ramsey theorem 9.1.2; finite Ramsey theorem 9.1.3; the Ramsey numbers \(R(r)\) and \(R(k,c,r)\); the Erdős–Hajnal conjecture; the bounds \(2^{r/2} \le R(r) \le 2^{2r-3}\)).
  2. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §9.2 (Ramsey numbers \(R(H)\) and \(R(H_1,H_2)\); trees against cliques, Proposition 9.2.1; linear Ramsey numbers for bounded degree, Theorem 9.2.2, due to Chvátal, Rödl, Szemerédi and Trotter, 1983; Ramsey-minimal graphs, Proposition 9.2.3).
  3. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §9.3 (induced Ramsey theorem 9.3.1, due independently to Deuber, to Erdős, Hajnal and Pósa, and to Rödl; canonical form for bipartite graphs, Lemma 9.3.2; bipartite induced Ramsey lemma 9.3.3; the Nešetřil–Rödl partite construction; girth Ramsey theorem 9.3.4, Reiher and Rödl, 2023).
  4. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §9.4 (connected graphs, Proposition 9.4.1; 2-connected graphs, Proposition 9.4.2; 3-connected and 4-connected graphs, Theorems 9.4.3 and 9.4.4, due to Oporowski, Oxley and Thomas, 1993; Kuratowski sets, Theorem 9.4.5).
  5. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), Chapter 9 exercises and notes (\(R(3)=6\) as Exercise 1; the Erdős–Szekeres proof and its history; the Burr–Erdős conjecture and Lee's 2017 proof; sources for the induced and connectivity theorems).
  6. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §7.4–§7.5 (Szemerédi's regularity lemma 7.4.1; regularity graphs and the inflated graph; the blow-up lemma 7.5.2), the machinery behind Theorem 9.2.2.
  7. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §8.1 (König's infinity lemma 8.1.2), used for the compactness proof of the finite Ramsey theorem.
  8. M. Campos, S. Griffiths, R. Morris, J. Sahasrabudhe, "An exponential improvement for diagonal Ramsey" (2023, revised 2025). arXiv:2303.09521.
  9. N. Alon, A. Orlitsky, "Repeated Communication and Ramsey Graphs", IEEE Transactions on Information Theory 41 (1995), 1276–1289. Full text.