Part III · The Deep Theory
Chapter 12: Graph Minors, Tree-Width and Tangles
This chapter climbs to the summit of the whole book: the Robertson–Seymour graph minor theorem. On the way up you will learn the three tools the climb created, and which now run large parts of graph theory and computer science: well-quasi-ordering, tree-decompositions, and tangles.
The theorem this book has been climbing toward
Recall from Chapter 1 what a minor is. A graph \(H\) is a minor of a graph \(G\), written \(H \preccurlyeq G\) ("\(H\) is a minor of \(G\)"), if you can produce \(H\) from \(G\) by three kinds of moves: delete vertices, delete edges, and contract edges (squeeze the two ends of an edge into a single vertex). Equivalently, \(H \preccurlyeq G\) means that inside some subgraph of \(G\) you can find disjoint connected chunks of vertices, one chunk per vertex of \(H\), with an edge of \(G\) between two chunks whenever \(H\) has an edge between the corresponding vertices. Squashing each chunk to a point yields \(H\).
The theorem at the summit, proved by Neil Robertson and Paul Seymour in a series of more than twenty papers published between 1983 and 2012, says this[7]:
The finite graphs are well-quasi-ordered by the minor relation \(\preccurlyeq\). In plain words: in any infinite collection of finite graphs, there must be two graphs such that one is a minor of the other. You can never write down an infinite list of finite graphs that are all mutually incomparable under taking minors. (Diestel, §12.7, Theorem 12.7.1.)
Why is that worth a whole chapter? Because of what it forces. Call a property of graphs minor-closed if, whenever a graph has the property, so does every minor of it. Planarity, being drawable in the plane with no crossing edges (Chapter 4), is minor-closed: deleting or contracting cannot create a crossing. Kuratowski's theorem from that chapter characterized planarity by two forbidden patterns, \(K^5\) (the complete graph on five vertices, all pairs joined; many books write \(K_5\)) and \(K_{3,3}\). The graph minor theorem says such a finite list of bad patterns exists for every minor-closed property whatsoever: embeddability on a doughnut surface, embeddability in 3-dimensional space with no knotted cycle, anything. Kuratowski's theorem stops being a miracle and becomes the visible tip of a universal law.
The consequence even has algorithmic teeth. Testing whether a fixed graph \(H\) is a minor of the input graph can be done in cubic time (time proportional to \(n^3\) for an \(n\)-vertex input). So every minor-closed property can be decided in cubic time: just test the finitely many forbidden minors. The catch, which we will meet at the end, is that the theorem tells us the finite list exists without telling us what it is.
Nobody proves the graph minor theorem in full in a textbook; the original proof runs to more than 500 pages. What this chapter does instead, following Diestel's Chapter 12, is teach the machinery the proof invented. That machinery has three parts, and each has taken on a life of its own. Well-quasi-ordering is the right formal language for "no infinite list of incomparable objects". Tree-decompositions and tree-width measure how tree-like a graph is, and power a large family of fast algorithms. Tangles are a radically abstract way to say "a highly connected region lives here" without ever naming its vertices. We take them in that order, then assemble them into the grid theorem, the structure theorems, and finally the summit itself.
What does the graph minor theorem let you conclude about an arbitrary minor-closed property?
New notation in this chapter
This chapter introduces more notation than any other. Here is all of it in one place; each symbol is explained again in prose when it first appears.
| Symbol | Read it as | Meaning | Tiny example |
|---|---|---|---|
| \(\le\) | "fits below" | A quasi-ordering: a comparison that is reflexive (\(x \le x\)) and transitive (\(x \le y\) and \(y \le z\) give \(x \le z\)); some pairs may be incomparable. | "is a minor of" on graphs. |
| \((x_i, x_j)\), \(i < j\), \(x_i \le x_j\) | "a good pair" | In an infinite sequence, an earlier term that fits below a later term. A sequence with a good pair is good; with none, bad. | In \(P^3, P^1, P^2, P^4, \dots\) (paths by length), \((P^1, P^2)\) is a good pair. |
| \([X]^{<\omega}\) | "finite subsets of X" | The collection of all finite subsets of a set \(X\). | \(\{2,5\}\) is one element of \([\mathbb{N}]^{<\omega}\). |
| \(H \preccurlyeq G\) | "H is a minor of G" | (From Chapter 1.) \(H\) arises from a subgraph of \(G\) by contracting connected chunks to single vertices. | \(K^4 \preccurlyeq\) the cube graph. |
| \((T, \mathcal V)\), bags \(V_t\) | "a tree-decomposition" | A tree \(T\) plus one bag \(V_t\) of vertices of \(G\) per tree node \(t\), obeying axioms (T1)–(T3) below. | Path \(a\)–\(b\)–\(c\): tree \(t_1\)–\(t_2\), bags \(\{a,b\}, \{b,c\}\). |
| \(V_{t_1} \cap V_{t_2}\) | "the adhesion set" | The overlap of two neighbouring bags; it separates the two sides of the decomposition. The largest such overlap is the decomposition's adhesion. | Above: adhesion set \(\{b\}\), adhesion 1. |
| \(\mathrm{tw}(G)\) | "the tree-width of G" | The smallest possible width of a tree-decomposition of \(G\); width means largest bag size minus one. | \(\mathrm{tw}(\text{tree}) = 1\); \(\mathrm{tw}(K^n) = n-1\). |
| \(\mathrm{ctw}(G)\) | "the connected tree-width" | Least width over tree-decompositions all of whose parts are connected subgraphs. | For the 10-vertex cycle: \(\mathrm{tw} = 2\) but \(\mathrm{ctw} = 5\). |
| \(\{A, B\}\), \(|A \cap B|\) | "a separation and its order" | (Separations from Chapter 3.) \(A \cup B\) is all of \(V(G)\) and no edge jumps between \(A \setminus B\) and \(B \setminus A\); the order is the size of the overlap. | In path \(a\)–\(b\)–\(c\): \(\{\{a,b\},\{b,c\}\}\) has order 1. |
| \((A, B)\) | "the separation pointed at B" | An oriented separation: \(\{A,B\}\) with \(B\) declared the important side. \((A,B) \ge (C,D)\) means \(A \subseteq C\) and \(B \supseteq D\): the first arrow points at least as far inward. | Each \(\{A,B\}\) has two orientations, \((A,B)\) and \((B,A)\). |
| \(S_k\) | "the low-order separations" | All separations of \(G\) of order less than \(k\). | \(S_3\) = all separations with overlap of size 0, 1 or 2. |
| \(\mathcal T\), \(\mathcal T^*\) | "the forbidden triples (and stars)" | \(\mathcal T\): all sets of at most three oriented separations whose small sides together cover \(G\). \(\mathcal T^*\): those that are stars (all pointing at each other). A tangle must avoid \(\mathcal T\). | One separation \((B, A)\) with \(G[B] = G\) already lies in \(\mathcal T\). |
| \(\mathrm{Forb}_{\preccurlyeq}(\mathcal H)\) | "graphs forbidding \(\mathcal H\) as minors" | The class of graphs having no member of \(\mathcal H\) as a minor. | \(\mathrm{Forb}_{\preccurlyeq}(K^3)\) = all forests. |
| \(\mathcal K_{\mathcal P}\) | "the Kuratowski set of \(\mathcal P\)" | The unique smallest forbidden-minor set for a minor-closed property \(\mathcal P\): the minor-minimal graphs outside \(\mathcal P\). | For planarity, \(\mathcal K_{\mathcal P} = \{K^5, K_{3,3}\}\). |
| \(K^{\aleph_0}\) | "K aleph-nought" | The countably infinite complete graph: infinitely many vertices, all pairwise joined. | Excluding it as a minor characterizes a class of infinite graphs. |
| \(H^r\) | "the hexagonal grid of radius r" | The honeycomb-shaped piece of the plane hexagonal lattice with \(r\) rings around a central face; \(S_k\) names its \(k\)-th perimeter cycle and \(R_k\) the ring between \(S_k\) and \(S_{k+1}\). | \(S_1\) is the central hexagon itself. |
| \(\omega(G)\) | "the clique number" | (From Chapter 5.) The number of vertices in a largest complete subgraph of \(G\). | \(\omega(K^4) = 4\); \(\omega(\text{triangle-free}) \le 2\). |
In this chapter's notation, \((A,B) \ge (C,D)\) says that:
Well-quasi-ordering: how to outlaw infinite lists
Start with the question the whole chapter answers. Kuratowski needed exactly two forbidden patterns for planarity. When does a property need only finitely many? Turn it around: a minor-closed property needs infinitely many forbidden minors exactly when there is an infinite collection of "minimal bad" graphs, no one of which is a minor of another. So the real question is: can an infinite family of pairwise incomparable graphs exist at all? The language for this question is order theory.
A quasi-ordering on a set \(X\) is a relation \(\le\) that is reflexive (\(x \le x\) for all \(x\)) and transitive (if \(x \le y\) and \(y \le z\) then \(x \le z\)). In plain words: a "fits inside" comparison in which ties are allowed and some pairs may be incomparable. The minor relation \(\preccurlyeq\) on graphs is the example to keep in mind.[1]
Now take any infinite sequence \(x_0, x_1, x_2, \dots\) of elements of \(X\). A good pair of the sequence is a pair of positions \(i < j\) with \(x_i \le x_j\): an earlier term that fits below a later term. Watch the direction; \(x_j \le x_i\) does not count. A sequence containing a good pair is called good; a sequence with no good pair is called bad. Bad sequences are the enemy: an infinite antichain (a family of pairwise incomparable elements), listed in any order, is a bad sequence.
A quasi-ordering \(\le\) on \(X\) is a well-quasi-ordering (from here on: wqo) if every infinite sequence in \(X\) is good. Plainly: you cannot list elements of \(X\) forever while always dodging "an earlier one fits inside a later one".[1]
\(\le\) is a wqo on \(X\) if and only if \(X\) contains no infinite antichain and no infinite strictly descending chain \(x_0 > x_1 > x_2 > \cdots\). (Diestel, §12.1.)[1]
The proof idea is a lovely use of Ramsey's theorem from Chapter 9, the theorem that any 2-colouring (or 3-colouring) of the pairs from an infinite set contains an infinite single-colour subset. Given an infinite sequence, colour each pair of positions \(i < j\) with one of three colours: "increasing" if \(x_i \le x_j\), "decreasing" if \(x_i > x_j\), "incomparable" otherwise. Ramsey's theorem hands us an infinite subsequence in which every pair has the same colour. If \(X\) has no infinite antichain, the colour cannot be "incomparable"; if no infinite descending chain, it cannot be "decreasing". So it is "increasing", and we get much more than one good pair: an infinite increasing subsequence \(x_{i_0} \le x_{i_1} \le x_{i_2} \le \cdots\). That stronger conclusion is Corollary 12.1.2, and we will use it immediately.
For graph minors this characterization is a gift. A strictly descending chain of minors \(G_0 \succ G_1 \succ G_2 \succ \cdots\) must shrink something at every step, so it cannot be infinite. For minors, then, wqo means exactly one thing: no infinite antichain. That is why the graph minor theorem and "every minor-closed property has a finite forbidden-minor list" are the same statement in two costumes.
The engine that drives every wqo proof in this chapter is the next lemma. It lifts a wqo from single objects to finite bundles of objects. First, the lifted ordering: for finite subsets \(A, B \subseteq X\), write \(A \le B\) if there is an injective (one-to-one) map \(f\) from \(A\) into \(B\) with \(a \le f(a)\) for every \(a \in A\). Each member of \(A\) gets its own personal partner in \(B\) that dominates it, no partner reused. For example, \(\{1, 3\} \le \{2, 3, 7\}\) in the natural numbers, via \(1 \mapsto 2\) and \(3 \mapsto 3\).
If \(X\) is well-quasi-ordered by \(\le\), then so is the set \([X]^{<\omega}\) of finite subsets of \(X\), under the lifted ordering. In plain words: if single objects cannot form an infinite bad list, neither can finite bundles of them. (Diestel, §12.1.)[1]
The proof introduces the minimal bad sequence trick of Nash-Williams, which you should meet at least once in your life because the rest of the chapter reuses it. Suppose, for contradiction, that bad sequences of finite sets exist. Build one greedily: choose \(A_0\) as small as possible so that some bad sequence starts with it; then \(A_1\) as small as possible so that some bad sequence starts \(A_0, A_1\); and so on. The result \((A_n)\) is a bad sequence that is everywhere locally minimal. Now pluck one element \(a_n\) out of each \(A_n\), leaving \(B_n = A_n \setminus \{a_n\}\). The \(a_n\) live in the wqo set \(X\), so by Corollary 12.1.2 some infinite subsequence of them increases. Splice the corresponding sets \(B_n\) onto a front portion of the minimal sequence: the spliced sequence starts like the minimal one but continues with strictly smaller sets, so by minimality it must be good. A good pair of the spliced sequence, reassembled with the matched elements \(a_i \mapsto a_j\), becomes a good pair of the original bad sequence \((A_n)\). Contradiction.
Wqo does not mean "all pairs are comparable". Finite antichains are everywhere and entirely legal: \(\{K^5, K_{3,3}\}\) is an antichain of minors, and that is exactly why planarity needs two forbidden minors rather than one. Wqo outlaws only infinite antichains (and infinite strictly descending chains, which minors give us for free).
For the minor relation on finite graphs, why does being a well-quasi-ordering amount to "no infinite antichain"?
Kruskal's theorem: the minor theorem for trees
Before attacking all graphs, prove the summit theorem on the easiest terrain: trees. Even here the statement is far from obvious. Recall from Chapter 1 that a subdivision of a graph \(X\) replaces edges of \(X\) by paths; if a subdivision of \(X\) sits inside \(G\) as a subgraph, then \(X\) is a topological minor of \(G\). Topological minor is a more demanding relation than minor: every topological minor is a minor, but not conversely.
The finite trees are well-quasi-ordered by the topological minor relation. In plain words: in any infinite collection of trees, some tree is a subdivided copy of part of another. (Diestel, §12.2, Theorem 12.2.1.)[2]
The proof works with rooted trees and a sharpened relation. For rooted trees \(T\) and \(T'\), write \(T \le T'\) if some subdivision of \(T\) is isomorphic to a subtree of \(T'\) in a way that respects the root order: whenever \(x\) lies below \(y\) on a root-to-leaf path of \(T\), the image of \(x\) lies below the image of \(y\) in \(T'\). Figure 12.1 shows a concrete good pair under this relation.
The proof of Kruskal's theorem is the minimal bad sequence trick again, one level up. Take a minimal bad sequence of rooted trees \((T_n)\). Chop off each root \(r_n\); what remains of \(T_n\) is a finite set \(A_n\) of smaller rooted trees, the branches. The collection of all branches, over all \(n\), is wqo: a bad sequence of branches could be spliced into the minimal sequence and would contradict minimality. So by the finite-subsets lemma the sets \(A_n\) are wqo too, giving \(A_i \le A_j\) for some \(i < j\). Now rebuild: map \(r_i\) to \(r_j\) and extend by the branch embeddings; the result witnesses \(T_i \le T_j\), a good pair in a bad sequence. Contradiction. This shape of argument, decompose, apply wqo to the pieces, reassemble, is the blueprint for the entire graph minor theorem.
Keep the three containment relations straight: subgraph (no contractions, no subdivisions), topological minor (a subdivided copy sits inside), minor (contractions of connected chunks allowed). The results here are sharply sensitive to which one is used. Trees are wqo even under topological minors, but general finite graphs are not: there is an infinite antichain of graphs under the topological minor relation, built from cycles with doubled and subdivided edges. Only the minor relation makes all finite graphs wqo. That is why the summit theorem is about minors.
Kruskal's theorem well-quasi-orders trees under the topological minor relation. What is the situation for general finite graphs?
Tree-decompositions: chopping a graph along a tree
Trees were tame; general graphs are not. The strategy of the whole theory is to measure how far a graph is from being a tree, and to exploit tree-likeness where it exists. The measuring instrument is the tree-decomposition. The idea: cover the graph with overlapping bags of vertices, and arrange the bags along a tree so that the tree's shape mirrors how the graph hangs together.
A tree-decomposition of \(G\) is a pair \((T, \mathcal V)\), where \(T\) is a tree and \(\mathcal V = (V_t)_{t \in T}\) assigns to each node \(t\) of \(T\) a bag \(V_t \subseteq V(G)\), such that:
(T1) every vertex of \(G\) lies in some bag;
(T2) for every edge of \(G\), some bag contains both of its ends;
(T3) whenever node \(t_2\) lies on the path in \(T\) between nodes \(t_1\) and \(t_3\), we have \(V_{t_1} \cap V_{t_3} \subseteq V_{t_2}\).
In plain words: the bags jointly cover all vertices and all edges, and each individual vertex's bags form a connected patch of the tree; a vertex may never vanish and then reappear somewhere else. The subgraphs \(G[V_t]\) induced by the bags are the parts of the decomposition. (Diestel, §12.3.)[3]
Axiom (T3) looks technical but is the soul of the definition. Figure 12.3 shows what goes wrong without it.
The payoff of (T3) is that the tree's separations become the graph's separations:
Let \(t_1 t_2\) be any edge of the decomposition tree, and let \(T_1, T_2\) be the two components of the tree with that edge removed. Write \(U_1\) and \(U_2\) for the unions of the bags in \(T_1\) and in \(T_2\). Then the adhesion set \(V_{t_1} \cap V_{t_2}\) separates \(U_1\) from \(U_2\) in \(G\): every path from one side to the other passes through the overlap of the two neighbouring bags. (Diestel, §12.3.)[3]
Proof idea: suppose some path crossed from \(U_1\) to \(U_2\); a shortest such path uses, by (T1) and (T2), a single vertex or a single edge, both of which live in some bag, and (T3) then squeezes that bag's relevant vertices into the overlap. This one lemma is why tree-decompositions matter: virtually every later proof calls on it. Two companion facts come almost free: a tree-decomposition of \(G\) restricts to one of any subgraph, and projects to one of any minor (contract the chunks inside every bag). And if a vertex set \(U\) fits in no single bag, then some adhesion set separates two vertices of \(U\).
That last fact has a consequence you can check on Figure 12.2: no adhesion set can separate two adjacent vertices, so every complete subgraph of \(G\) lies entirely inside some bag (Corollary 12.3.5). It follows instantly that \(K^n\), needing all \(n\) vertices in one bag, admits no decomposition with bags smaller than \(n\).
Two more pieces of vocabulary, both used by the structure theorems later. The torso of a bag is the part \(G[V_t]\) with extra edges added so that each of its adhesion sets becomes complete: the torso remembers how the piece glues to the rest. A decomposition is simplicial if every adhesion set induces a complete subgraph in \(G\) itself; pasting along complete subgraphs preserves properties like colourability and excluded minors, which is how local facts lift to global ones. A first structural reward, connecting to the chordal graphs of Chapter 5 (graphs in which every cycle of length at least four has a chord): a graph is chordal if and only if it has a tree-decomposition into complete parts (Proposition 12.3.6). The graph of Figure 12.2 is chordal, and its three parts are triangles.
Finally, tree-decompositions generalize the block-cutvertex tree of Chapter 3 to every level of connectivity. Call a set of at least \(k\) vertices \((<k)\)-inseparable if no two of its members can be separated by deleting fewer than \(k\) other vertices; a maximal such set is a \(k\)-block. A theorem of Carmesin, Diestel, Hundertmark and Stein says that for each \(k\), every graph has a single tree-decomposition of adhesion less than \(k\) that puts distinct \(k\)-blocks into different bags, separates every two of them as cheaply as the graph itself allows, and is canonical: it is defined without arbitrary choices, so every symmetry of the graph is a symmetry of the decomposition (Theorem 12.3.7)[3].
A tree-decomposition is not a partition. The bags must overlap wherever the graph is connected across them, and the overlaps (the adhesion sets) are precisely the separators that carry all the structure. If you demand disjoint bags you get the connected components and nothing more. Also: a \(k\)-block need not look connected from inside; its vertices may even be pairwise non-adjacent, with all the inseparability supplied by paths through the rest of the graph.
Why must every tree-decomposition of \(K^5\) have a bag holding all five vertices?
In Figure 12.2, the tree is \(t_1\)–\(t_2\)–\(t_3\) with bags \(\{a,b,c\}, \{b,c,d\}, \{c,d,e\}\). Which set is guaranteed to separate \(a\) from \(e\)?
Tree-width and brambles: measuring tree-likeness
Now put a number on it. The width of a tree-decomposition \((T, \mathcal V)\) is \(\max_{t \in T} |V_t| - 1\): the size of its largest bag, minus one. The tree-width \(\mathrm{tw}(G)\) is the smallest width over all tree-decompositions of \(G\). The "minus one" exists purely for calibration: real trees get bags of size two (one per edge), hence tree-width 1, and \(K^n\) gets tree-width \(n - 1\), matching the scales used in connectivity.
Some values to calibrate your intuition: forests have tree-width at most 1; cycles have tree-width 2; the graph of Figure 12.2 has tree-width 2 (the decomposition shown has width 2, and a triangle forbids width 1); \(K^n\) has tree-width \(n-1\); and the \(k \times k\) grid, the graph with \(k^2\) vertices in a square array and edges between horizontal and vertical neighbours, has tree-width exactly \(k\). Grids will turn out to be the heroes of the whole story.
Width is largest bag size minus one. Trees have tree-width 1, not 2; \(K^n\) has \(n-1\), not \(n\). Forgetting the minus one silently shifts every theorem in this chapter by one, and boundary cases (\(k\) versus \(k-1\) versus \(k+1\)) are where most calculation slips happen.
Two facts make tree-width the right parameter for minor theory. First, it is minor-monotone: if \(H \preccurlyeq G\) then \(\mathrm{tw}(H) \le \mathrm{tw}(G)\), since decompositions pass to subgraphs and minors (Lemma 12.4.1). So "tree-width less than \(k\)" is itself a minor-closed property. Second, within any fixed tree-width bound, the summit theorem is already true: for every \(k\), the graphs of tree-width less than \(k\) are well-quasi-ordered by the minor relation (Theorem 12.4.2, Robertson & Seymour)[4]. The proof, not given in the book, iterates the minimal bad sequence argument up a tree-decomposition, in the spirit of Kruskal's theorem. This is one of the two pillars on which the graph minor theorem stands.
How do you certify that tree-width is large? Saying "I checked all decompositions" is not a certificate. The right dual object is the bramble. Two vertex sets touch if they share a vertex or are joined by an edge. A bramble is a family of connected vertex sets, every two of which touch. A set of vertices covers the bramble if it meets every member; the order of the bramble is the minimum size of a cover. A bramble is a sprawling system of mutually-in-contact blobs; its order measures how many vertices you must delete to hit every blob.
The running example: in the \(k \times k\) grid, let the cross \(C_{ij}\) be the union of row \(i\) and column \(j\). Any two crosses touch (cross \(C_{ij}\) and cross \(C_{i'j'}\) meet where row \(i\) crosses column \(j'\)), and each cross is connected, so the \(k^2\) crosses form a bramble. Its order is exactly \(k\): any full row covers every cross, while any set of fewer than \(k\) vertices misses some row \(i\) entirely and some column \(j\) entirely, hence misses the cross \(C_{ij}\). Note carefully: the bramble has \(k^2\) member sets but order \(k\). Order counts covering vertices, not members.
A graph has tree-width less than \(k\) if and only if it contains no bramble of order greater than \(k\). Equivalently: the tree-width of any graph equals the largest order of a bramble in it, minus one. (Diestel, §12.4, Theorem 12.4.3.)[4]
Small tree-width and a high-order bramble are exact opposites: one of the two always exists, never both. The easy direction: given a bramble, each edge of any decomposition tree splits the graph, and Lemma 12.3.1 makes the bramble, whose blobs are connected and mutually touching, fall entirely on one side; orienting every tree edge toward that side and following the arrows leads to a single bag that must cover the whole bramble. A bramble of order greater than \(k\) therefore forbids all bags of size at most \(k\). The hard direction builds a bramble out of the very failure of small decompositions, using Menger's theorem from Chapter 3 (the min-cut equals max-disjoint-paths theorem) to merge families of "overflow" pieces that allegedly failed to touch. The theorem is a genuine min-max result for width: the crosses bramble instantly certifies that the \(k \times k\) grid has tree-width at least \(k - 1\), no inspection of decompositions needed.
Three refinements round out the picture, each stated here only in outline. Tree-width can be computed through the chordal graphs: \(\mathrm{tw}(G)\) is the minimum, over all chordal graphs \(H\) containing \(G\) as a subgraph, of the clique number \(\omega(H)\) minus one (Proposition 12.4.4). Every graph has a tree-decomposition that is simultaneously of optimal width and lean: no bag carries fat that the graph's own connectivity does not force (Thomas's theorem, 12.4.5); leanness is what the iterated wqo proof of Theorem 12.4.2 needs. And if you insist that all parts be connected subgraphs you get connected tree-width \(\mathrm{ctw}(G)\), which can be much larger than \(\mathrm{tw}(G)\): a long cycle has tree-width 2 but connected tree-width about half its length. The obstruction is precisely long geodesic cycles, cycles along which distances agree with distances in the whole graph (Theorem 12.4.6)[4].
Tree-width is the single most consequential export of this chapter. Many problems that are believed intractable on general graphs can be solved by dynamic programming along a tree-decomposition, bag by bag, in time exponential only in the width, not in the graph size. The flagship consumer is probabilistic inference: computing probabilities in a Bayesian network (a graph of random variables used in diagnosis and decision support) is done by exact algorithms whose running time is exponential exactly in the tree-width of the network's graph. Kwisthout, Bodlaender and van der Gaag proved a converse: under a standard complexity assumption (the Exponential Time Hypothesis), no algorithm can do inference efficiently on networks of unbounded tree-width, so bounded tree-width is not just one route to fast inference but the only route[9]. Computing tree-width itself has become an engineering discipline: the PACE 2017 implementation challenge fielded 44 participants from 11 countries building tree-width solvers for use in phylogenetics, constraint satisfaction and graphical models[10]. A measured caution: Maniu, Senellart and Jog computed tree-width bounds for 25 real datasets and found that social networks tend to have high tree-width, while infrastructure networks such as roads are far more tractable; partial decompositions can still help in the hard cases[11].
Which of these graphs has tree-width exactly 2?
You exhibit a bramble of order 6 in a graph \(G\). What does that certify?
Tangles: pointing at a highly connected region
Tree-width tells you how tree-like a graph is globally. The next question is local: where in the graph do the highly connected regions sit, and how can we talk about one without listing its vertices? The answer, tangles, is the most abstract idea in the book, so we build up to it slowly.
Recall separations from Chapter 3: a separation of \(G\) is a pair \(\{A, B\}\) of vertex sets with \(A \cup B = V(G)\) such that no edge runs between \(A \setminus B\) and \(B \setminus A\). Its order is \(|A \cap B|\), the size of the overlap. A separation of low order is a cheap cut. Now give each separation a direction: the oriented separation \((A, B)\) is \(\{A, B\}\) "pointed at \(B\)", declaring \(B\) the important side. Orientations compare naturally: \((A,B) \ge (C,D)\) means \(A \subseteq C\) and \(B \supseteq D\), that is, the arrow \((A,B)\) points at least as deep inward as \((C,D)\). Two separations are nested if they have comparable orientations; otherwise they cross.
Crossing separations can be "uncrossed". From crossing separations \(\{A,B\}\) and \(\{C,D\}\) you can form four corners, such as \(\{A \cup C,\ B \cap D\}\): unite one side of each, intersect the other two. Corners come in opposite pairs, and the key accounting identity, called submodularity, says that two opposite corners together cost no more than the two original separations together: \(|c| + |d| \le |r| + |s|\). The consequence used on nearly every page: if both original separations have order less than \(k\), at least one corner of each opposite pair does too. Figure 12.5 shows the geometry.
Now the main definition. Fix \(k\) and consider \(S_k\), the set of all separations of order less than \(k\). An orientation of \(S_k\) chooses one direction for every separation in it. The orientation is consistent if no two chosen arrows point away from each other: it never contains \((B,A)\) when it contains \((C,D)\) with \((A,B) \ge (C,D)\). Intuitively, a consistent orientation is a way for every cheap cut to answer the question "on which of your two sides does the important thing live?" without the answers contradicting each other.
A tangle of order \(k\) (a \(k\)-tangle) is an orientation of \(S_k\) that avoids the family \(\mathcal T\): no collection of up to three of its chosen small sides covers the whole graph, meaning we never have \(G[A_1] \cup G[A_2] \cup G[A_3] = G\) for chosen orientations \((A_1,B_1), (A_2,B_2), (A_3,B_3)\). In plain words: a tangle is a coherent way for "somewhere big" in the graph to declare, for every cut of order below \(k\), which side it is on, so robustly that not even three of the rejected sides can add up to the whole graph. Avoiding \(\mathcal T\) forces consistency automatically. (Diestel, §12.5.)[5]
A tangle is a highly connected region described the way you would describe a city to someone who keeps proposing borders: you never hand over a map of the city, you just say, for every proposed border, "the city is on that side". If all your answers are coherent, and no three of the discarded sides could possibly cover everything, then your pointing behaviour itself is the evidence that something big and coherent is there. The point of the definition is that the region never needs to be named: there may be no single set of vertices lying on the big side of every cut.
A concrete example makes the pointing visible. Take the \(5 \times 5\) grid and any separation of order less than 3, say the one that cuts off the corner vertex behind its two neighbours. The bulk of the grid cannot fit on the small side: a tangle of order 3 orients this separation, and every other separation of order less than 3, toward the side holding the bulk. The grid's connectivity guarantees all these choices are consistent and non-degenerate, so the grid has a tangle of order 3, and bigger grids have tangles of every order up to about their side length.
Tangles satisfy a property reminiscent of ultrafilters in set theory, the profile property: if \((A,B)\) and \((C,D)\) are in a tangle, then the corner orientation \((B \cap D,\ A \cup C)\) is not. Two big sides cannot intersect down into a small side. Orientations with this property are called profiles, and the theory below actually works for all robust profiles, a wider class than tangles; we stay with tangles for concreteness.
Here is the first central theorem about them. Say a separation distinguishes two tangles if they orient it in opposite directions, and distinguishes them efficiently if no separation of lower order also distinguishes them.
Every graph has a nested set of separations that distinguishes every two distinguishable tangles in it, of all orders at once, efficiently. (Diestel, §12.5, Theorem 12.5.1.)[5]
Read it slowly: all the highly connected regions of a graph, at every scale simultaneously, can be pairwise split apart by a system of cuts that do not cross each other, each cut as cheap as any cut separating that pair could possibly be. A nested system of separations is exactly what a tree-decomposition can realize, so the theorem says every graph decomposes, tree-fashion, into its highly connected pieces. It generalizes the block-cutvertex tree of Chapter 3 from order 2 to every order at once.
Diestel gives two proofs. The first isolates the combinatorial core into the splinter lemma: whenever a family of candidate-sets of separations has the property that any two crossing candidates from different sets can be traded for a corner belonging to one of the sets, then one can pick one member from each set with no crossings at all. Its proof leans on the fish lemma: a separation nested with two crossing separations is also nested with all four of their corners, so uncrossing never creates new conflicts with bystanders that were at peace. One then checks, using submodularity and the profile property, that the sets of efficient distinguishers do splinter. The second proof (Carmesin & Kurkofka, 2024) achieves more: by selecting, from each family of efficient distinguishers, those crossing the fewest other distinguishers, it produces a nested system by a rule with no arbitrary choices. The resulting tree of tangles is canonical: every automorphism of the graph maps it to itself, so it is an invariant of the graph rather than an artifact of the construction (Theorem 12.5.8)[5].
The second central theorem is the tangle analogue of tree-width duality. It needs one more notion, stated informally: an \(S_k\)-tree is a tree each of whose edges is labelled by a separation of order less than \(k\), compatibly with the tree's shape; at each node, the labels of the incoming edges form a star, a set of oriented separations all pointing at one another (Figure 12.5 without the crossing). The relevant stars are those in \(\mathcal T^*\): stars whose small sides jointly cover the graph, certifying that no tangle could live at that node.
For every graph \(G\) and every \(k > 0\): \(G\) has no tangle of order \(k\) if and only if \(G\) has an \(S_k\)-tree over \(\mathcal T^*\). In plain words: either the graph contains an order-\(k\) highly connected region, or the whole graph falls apart along a tree of cuts of order less than \(k\) into pieces each too small to host one. Never both, never neither. (Diestel, §12.5, Theorem 12.5.9.)[5]
The easy direction: a tangle would orient every edge of such a tree, consistency would funnel all arrows toward some node, and that node's star would be a forbidden subset of the tangle. The hard direction is an induction that orients more and more of \(S_k\), gluing partial trees across a minimum-order separation, with submodularity keeping the accounting honest. The same machinery, run with a different forbidden family \(\mathcal F_k\) in place of \(\mathcal T^*\), outputs a tangle-style duality for tree-width itself (Theorem 12.5.11), and this abstract duality framework of Diestel and Oum now covers many width parameters at once.
Because a tangle never names its region, the definition survives transplantation to settings that are not graphs at all: any collection of objects with a notion of "cheap cut" will do. This abstract theory of separation systems has been applied to clustering in data analysis, to identifying mindsets in social science, and to consumer-behaviour analysis in economics; Diestel's book Tangles (2024) develops these applications, and the notes to the chapter point to them[8]. The mental shift is the same one this section made: instead of defining a cluster by listing its members, define it by how every low-cost split of the data points toward it.
A tangle is not a set of vertices and not a subgraph. It is an orientation of all low-order separations, and there may be no single vertex set lying on the big side of every one of them. Also mind the notation clash: \(S_k\) means "separations of order less than \(k\)" throughout this section, but the same letter names the perimeter cycles of hexagonal grids in the last section of the chapter. Diestel's 6th edition orients \((A,B)\) toward \(B\); older editions used the reverse convention, and mixing the two breaks every corner argument.
Two separations, both of order less than \(k\), cross. What does submodularity give you?
Tangle–tree duality says exactly one of two things holds for a graph \(G\) and a number \(k\). Which pair?
Excluded minors: the grid theorem and graph structure
We now have the language (wqo), the measure (tree-width) and the local theory (tangles). This section connects them to forbidden minors, which is where the summit proof needs them. First, the framing lemma: a graph property can be expressed by forbidden minors if and only if it is minor-closed (Lemma 12.6.1)[6]. One direction is immediate; for the other, a minor-closed property \(\mathcal P\) equals \(\mathrm{Forb}_{\preccurlyeq}(\overline{\mathcal P})\), forbidding everything outside it. The interesting question is how small the forbidden set can be, and the graph minor theorem will answer: finite.
The smallest non-trivial example is worth doing by hand. Which graphs have no \(K^4\) minor?
A graph has tree-width less than 3 if and only if it has no \(K^4\) minor. (Diestel, §12.6.)[6]
One direction is Corollary 12.3.5: a \(K^4\) minor forces a bag of four vertices. For the other, Chapter 7 showed that edge-maximal graphs without a \(K^4\) minor are built by pasting triangles along edges; the pasting pattern is a tree, and reading each triangle as a bag gives width 2. Analogous explicit lists are known only a little further: tree-width less than 2 means no \(K^3\) (forests), and the forbidden-minor set for tree-width less than 4 has four members, \(K^5\) among them. Beyond that, finiteness is known (by the summit theorem) but the lists are not.
Now the second pillar of the whole theory, answering: what does enormous tree-width actually force?
For every \(r\) there is a \(k\) such that every graph of tree-width at least \(k\) has the \(r \times r\) grid as a minor. (Diestel, §12.6, Theorem 12.6.3.)[6]
Grids are the canonical reason for large tree-width. Grids themselves have tree-width equal to their side length, so containing a big grid minor forces big tree-width; the grid theorem says the converse: any graph of huge tree-width literally contains a big grid pattern. A warning about reading it: the theorem is qualitative. The \(k\) that guarantees an \(r \times r\) grid is far larger than \(r\); do not read it as "tree-width \(k\) contains a grid of side about \(\sqrt k\)".
The grid theorem converts instantly into a dichotomy about excluded minors (Corollary 12.6.4): the class \(\mathrm{Forb}_{\preccurlyeq}(H)\) has bounded tree-width if and only if \(H\) is planar. If \(H\) is planar, fatten a drawing of \(H\) and overlay a fine grid: \(H\) is a minor of some grid, so by the grid theorem, unbounded tree-width would force an \(H\) minor. If \(H\) is not planar, no grid contains it (grids are planar, and planarity is minor-closed), so the grids themselves form a family of \(H\)-free graphs of unbounded tree-width.
From the dichotomy flows a packing-versus-covering theorem generalizing the Erdős–Pósa theorem for cycles from Chapter 2. For every connected planar graph \(H\) there is a function \(f\) such that every graph contains either \(k\) disjoint copies of \(H\) as minors, or a set of at most \(f(k)\) vertices meeting every such copy: many disjoint copies or a small hitting set, never neither (Theorem 12.6.5)[6]. The proof splits on tree-width: if it is large, the grid theorem supplies \(k\) disjoint \(H\)-minors inside a huge grid; if small, one walks the decomposition tree and splits off one copy at a time. Planarity of \(H\) is necessary, not decorative: for every non-planar \(H\) the statement fails, precisely because the grid theorem is where planarity enters.
Finally, the deepest ingredient, stated qualitatively. What do graphs excluding an arbitrary complete minor \(K^n\) look like? They need not have small tree-width (that required a planar excluded minor), and they need not embed in any fixed surface. But Robertson and Seymour proved they are close to that:
For every \(n\) there is a \(k\) such that every graph with no \(K^n\) minor has a tree-decomposition whose torsos are \(k\)-nearly embeddable in surfaces in which \(K^n\) does not embed. (Diestel, §12.6, Theorem 12.6.6.)[6]
"\(k\)-nearly embeddable" unpacks as: after removing at most \(k\) exceptional apex vertices, which may connect to anything, the torso consists of a graph drawn on a surface of bounded genus, plus at most \(k\) vortices: strips of bounded path-like width sewn around holes in the surface. So: forbid a big clique minor, and the graph is forced to be a tree of pieces, each a surface drawing decorated with boundedly many wild vertices and boundedly many bounded-width swirls. Every ingredient (tree, surface, apexes, vortices) is genuinely needed. There is an analogue for excluding topological minors (Grohe & Marx, 2012), and for infinite graphs there are exact characterizations of the graphs excluding the countably infinite clique \(K^{\aleph_0}\) as a minor: tree-decompositions of finite adhesion into nearly planar torsos (Theorem 12.6.8), with a topological-minor analogue via a finiteness condition on tree-width (Theorem 12.6.9)[6].
Which statement is the grid theorem, read correctly?
The graph minor theorem
Everything is now on the table. Here is the summit again, with its two headline corollaries[7].
Every minor-closed property \(\mathcal P\) of finite graphs has a finite Kuratowski set: \(\mathcal P = \mathrm{Forb}_{\preccurlyeq}(\mathcal K_{\mathcal P})\) with \(\mathcal K_{\mathcal P}\) finite. The set \(\mathcal K_{\mathcal P}\), the minor-minimal graphs outside \(\mathcal P\), is an antichain, and the graph minor theorem forbids infinite antichains. (Diestel, §12.7.)[7]
For every surface \(S\) there are finitely many graphs \(H_1, \dots, H_n\) such that a graph embeds in \(S\) (can be drawn on it without crossings) if and only if it has none of the \(H_i\) as a minor. (Diestel, §12.7.)[7]
The generalized Kuratowski theorem deserves a pause. Embeddability in a fixed surface is minor-closed, so Corollary 12.7.2 covers it; but Diestel also gives a direct, self-contained proof, and it is the one place in the book where you can watch a genuine Robertson–Seymour-style argument, minors meeting topology, from start to finish. The pivot is a lemma about hexagonal grids: honeycomb-shaped pieces \(H^r\) of the hexagonal lattice, with perimeter cycles \(S_1, S_2, \dots\) around a central face and rings \(R_k\) between consecutive perimeters (Figure 12.9). Hexagonal grids have maximum degree 3, and for graphs of maximum degree 3, minor containment and topological-minor containment coincide (a fact from Chapter 1), which is exactly why hexagons are preferred to squares here.
The lemma (12.7.4) says: for each surface \(S\) there is an \(r\) such that no minor-minimal graph outside the \(S\)-embeddable class contains \(H^r\) as a topological minor. The proof is surgery. Let \(G\) be minimally non-embeddable in \(S\) and suppose it contains a huge honeycomb. Delete one edge: the rest embeds in \(S\) by minimality; adding a handle to \(S\) even embeds all of \(G\) in a slightly bigger surface. An Euler-genus counting argument (the genus of a surface, written \(\varepsilon(S)\), is a single number measuring its complexity: sphere 0, projective plane 1, torus 2) shows that in the bigger surface a sizable sub-honeycomb must lie flat, its hexagons bounding disjoint discs. Now delete instead an edge from the centre of that flat patch, embed the rest in \(S\), and cut-and-paste: transplant the flat central piece of the big-surface embedding into a flat ring of the \(S\)-embedding. The result embeds all of \(G\) in \(S\), contradicting non-embeddability. Given the lemma, the corollary falls out in three lines: minimal non-embeddable graphs contain no big hexagonal grid, hence (grid theorem) have bounded tree-width, hence (Theorem 12.4.2) are well-quasi-ordered; a wqo class has no infinite antichain, and the minimal bad graphs form an antichain, so there are finitely many of them.
The proof of the full graph minor theorem is sketched in the book along the same skeleton, scaled up enormously. Given a would-be bad sequence \(G_0, G_1, G_2, \dots\), assume no later graph contains \(G_0\) as a minor; then all later graphs exclude some fixed \(K^n\), so the structure theorem decomposes each into a tree of nearly-surface-embeddable pieces. A generalization of the bounded-tree-width wqo theorem, run in the spirit of Kruskal's proof, reduces the problem to well-quasi-ordering graphs on a fixed surface. That is proved by induction on the surface's Euler genus: cutting along a suitable circle and capping the holes lowers the genus, and Higman's finite-subsets lemma, sharpened to track the vertices along the cut, reassembles good pairs of pieces into good pairs of graphs. The floor of the induction is the sphere, which is the bounded-tree-width case via the grid theorem. Every tool of this chapter appears in that one paragraph.
Three closing remarks. First, algorithms: Robertson and Seymour also proved that for each fixed \(H\), testing \(H \preccurlyeq G\) takes cubic time (with astronomically large constants), so every minor-closed property is decidable in cubic time by testing its finite Kuratowski set[7]. Second, limits: the theorem fails for graphs of uncountable size, and whether it holds for countably infinite graphs is open; Seymour's self-minor conjecture, that every countably infinite graph is a proper minor of itself, would imply the finite theorem and remains open. Third, philosophy: a theorem can prove that a fast algorithm exists without telling anyone how to write it, as the next box explains.
Call a graph knotless if it can be built in 3-dimensional space (vertices as points, edges as curves) so that no cycle forms a non-trivial knot; the notion matters, for instance, when graphs model spatial molecular structures. Knotlessness is minor-closed: contracting an edge of a knotless embedding cannot create a knot. So by the graph minor theorem it has a finite forbidden-minor set, and by cubic-time minor testing it is decidable in cubic time. Yet nobody knows the forbidden set, so nobody can write the algorithm down: we possess a proof that a fast algorithm exists and no way to exhibit it. This "non-constructive polynomial time" phenomenon, discussed in the closing pages of Diestel's chapter, reshaped how complexity theorists think about what it means to have an algorithm, and it pairs with the older idea of a good characterization: forbidden-minor theorems give quickly checkable certificates both for membership (a drawing, an embedding) and for non-membership (an explicit forbidden minor inside your graph)[7].
And that is the summit. Looking back down the mountain: sets and functions became graphs (Chapter 1), graphs acquired connectivity (Chapter 3), drawings (Chapter 4) and colourings (Chapter 5), and in this chapter the entire universe of finite graphs turned out to be arranged, under the minor relation, in an order with no infinite antichains, so that every minor-closed property whatsoever is governed by a finite list of forbidden patterns. Kuratowski's two graphs were never a coincidence. They were the first visible outcrop of a law.
Why does the proof of the generalized Kuratowski theorem work with hexagonal grids instead of square ones?
Check your understanding
What does \(H \preccurlyeq G\) mean?
In a tree-decomposition \((T, \mathcal V)\), what is the width?
A good pair in an infinite sequence \(x_0, x_1, x_2, \dots\) is:
A vertex \(v\) appears in the bags of tree nodes \(t_1\) and \(t_3\), and \(t_2\) lies on the tree-path between them, but \(v \notin V_{t_2}\). Which axiom fails?
Why do the crosses of the \(k \times k\) grid form a bramble of order exactly \(k\)?
Which statement about a tangle of order \(k\) is correct?
The tree-width duality theorem of Seymour and Thomas states that a graph has tree-width less than \(k\) if and only if:
Knotless embeddability in 3-space is decidable in cubic time, yet no explicit algorithm is known. Which chain of reasoning explains this?
Why does excluding a planar graph \(H\) as a minor bound tree-width, while excluding a non-planar \(H\) does not?
Someone claims to have an infinite collection of finite graphs, pairwise incomparable under the minor relation. Which is true?
Sources and further reading
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §12.1 (well-quasi-ordering; Proposition 12.1.1, Corollary 12.1.2, Lemma 12.1.3).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §12.2 (Kruskal's theorem, Theorem 12.2.1).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §12.3 (tree-decompositions; Lemma 12.3.1, Corollary 12.3.5, Proposition 12.3.6, Theorem 12.3.7).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §12.4 (tree-width; Lemma 12.4.1, Theorems 12.4.2, 12.4.3, 12.4.5, 12.4.6, Proposition 12.4.4).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §12.5 (tangles; Theorems 12.5.1, 12.5.8, 12.5.9, 12.5.11).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §12.6 (forbidden minors; Lemma 12.6.1, Proposition 12.6.2, Theorems 12.6.3, 12.6.5, 12.6.6, 12.6.8, 12.6.9, Corollary 12.6.4).
- R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §12.7 (the graph minor theorem, Theorem 12.7.1; Corollaries 12.7.2, 12.7.3; Lemma 12.7.4; algorithmic discussion and self-minor conjecture).
- R. Diestel, Tangles, Cambridge University Press (2024); referenced, with applications of tangle theory beyond graphs, in the notes to Chapter 12 of Graph Theory, 6th ed.
- 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, pp. 237–242. ebooks.iospress.nl/publication/5774.
- H. Dell, C. Komusiewicz, N. Talmon, M. Weller, "The PACE 2017 Parameterized Algorithms and Computational Experiments Challenge: The Second Iteration", IPEC 2017, LIPIcs vol. 89, Dagstuhl (2018). drops.dagstuhl.de.
- S. Maniu, P. Senellart, S. Jog, "An Experimental Study of the Treewidth of Real-World Graph Data", ICDT 2019. arXiv:1901.06862.