Part III · The Deep Theory

Chapter 8: Infinite Graphs

Created by

Every graph so far had finitely many dots and lines. This chapter lets a graph run on forever, teaches the three proof tools that keep infinity under control, and introduces something genuinely new: the ends of a graph, its points at infinity.

What changes when a graph never ends

Picture the natural numbers \(0, 1, 2, 3, \ldots\) as dots, with a line between each number and the next. Or picture the street corners of a city whose grid of streets extends forever north and forever east. These are perfectly ordinary graphs in the sense of Chapter 1: a set of vertices, a set of edges, each edge joining two vertices. Nothing in the definition ever said the sets had to be finite.

Almost all the vocabulary survives unchanged: degrees, paths, trees, connectedness, colourings all mean what they meant before. What changes is the reasoning. A finite argument often works by repeating a step until the vertices run out; in an infinite graph they never do, and a construction that looks fine at every step can still produce garbage in the limit. The first half of this chapter teaches the three standard tools that repair this: Zorn's lemma, transfinite induction, and compactness. The second half is about a concept with no finite counterpart at all: the ends of a graph, the distinct directions in which one can walk to infinity.

Two pieces of vocabulary first. Throughout the chapter, "countable" means finite or as large as the set \(\mathbb{N}\) of natural numbers, and \(\aleph_0\) (read "aleph-nought") is the size of \(\mathbb{N}\): the smallest infinite size. The complete graph on countably many vertices is written \(K^{\aleph_0}\). (Diestel writes complete graphs with a superscript, \(K^n\) and \(K^{\aleph_0}\); many other books write \(K_n\).)

Definition — ray, double ray, tail

A ray is a one-way infinite path: vertices \(x_0, x_1, x_2, \ldots\), all distinct, with edges \(x_0x_1, x_1x_2, x_2x_3, \ldots\) A double ray is the two-way version, with vertices \(\ldots, x_{-1}, x_0, x_1, \ldots\) A tail of a ray is what remains after deleting a finite initial piece: for example \(x_5 x_6 x_7 \ldots\) is a tail of \(x_0 x_1 x_2 \ldots\) In plain words: a ray is a path that walks off to infinity in one direction, a double ray walks off in both, and any two tails of a ray agree except for a finite start.

x0 x1 x2 x3 x4 x5 … x-2 x-1 x0 x1 x2 x3 … …
Figure 8.1. Top: the ray \(x_0 x_1 x_2 \ldots\), with the tail starting at \(x_3\) highlighted. Bottom: the double ray. Up to isomorphism there is only one ray and only one double ray; the double ray is the unique infinite connected graph in which every vertex has degree exactly 2.
Definition — locally finite

A graph is locally finite if every vertex has finite degree, where the degree \(d(v)\) is, as always, the number of edges at the vertex \(v\). In plain words: no single vertex touches infinitely many edges, so infinity can only come from having infinitely many vertices. The ray and the endless street grid are locally finite; the infinite star (one hub joined to infinitely many tips) is not.

Local finiteness separates the two kinds of infinity a graph can have: being infinitely long (containing rays) and being infinitely wide (containing a vertex of infinite degree). Most of the cleanest theory in this chapter, especially the topological second half, is about locally finite graphs, where only the "long" kind occurs.

Common mistake

"Infinite just means very large, so limits of good steps are good." No. The sets \(A_n = \{n, n+1, n+2, \ldots\}\) are infinite and nested, yet their common intersection is empty: every number \(m\) is missing from \(A_{m+1}\). The same trap catches graph constructions: a process can be harmless at every finite stage and still destroy what you wanted at the limit. The chapter's core skill is recognizing when limits are safe (when the forbidden object, like a cycle, is finite and would already appear at some finite stage) and when they are not (when the forbidden object, like a ray, can materialize only at the limit).

Black-and-white portrait photograph of a bearded man in a hat and spectacles, facing the camera.
Plate 8.A. Hilbert about 1912, on one of the Göttingen faculty postcards sold to students. The hotel named after him, infinitely many rooms all occupied and still room for one more guest, was a lecture-room device and never a building. The box above makes the same point about graphs: what holds at every finite stage can fail in the limit. before 1912. Wikimedia Commons, public domain.

Which of these infinite graphs is locally finite?

  1. The double ray
  2. \(K^{\aleph_0}\), the complete graph on countably many vertices
  3. The infinite star: one hub joined to infinitely many tips
  4. A ray together with one extra vertex joined to every vertex of the ray
Answer: A. Local finiteness is a condition on each vertex, not on the size of the graph: every vertex of the double ray has degree 2. The other three are infinite in the "wide" way, each containing a vertex of infinite degree.

New notation in this chapter

Three symbols get recycled with new meanings here, so read this table carefully: in this chapter \(|G|\) and \(\|G\|\) are topological spaces (not the order and size of \(G\) from Chapter 1), and the letter \(\omega\) names an end (not the clique number).

SymbolRead it asMeaningTiny example
\(\aleph_0\)"aleph-nought"The smallest infinite cardinal: the size of \(\mathbb{N}\); "countably infinite."The ray has \(\aleph_0\) vertices.
\(K^{\aleph_0}\)"K aleph-nought"The complete graph on countably infinitely many vertices.Any two of its vertices are adjacent.
\(TX\)"a subdivision of X"A copy of the graph \(X\) with each edge possibly replaced by a longer path.Replacing every edge of a triangle by a 2-edge path gives a \(TK^3\).
\(\omega\)"an end omega"An end: an equivalence class of rays that no finite vertex deletion can separate.All rays of the infinite grid form one end.
\(\Omega(G)\)"the ends of G"The set of all ends of \(G\); one also writes \(G = (V, E, \Omega)\).For the double ray, \(|\Omega| = 2\).
\(T_2\)"the binary tree"The rooted tree whose vertices are the finite 0–1 strings; each string \(s\) has upper neighbours \(s0\) and \(s1\).Vertex \(01\) has upper neighbours \(010\) and \(011\).
\(H^\infty\)"the hexagonal quarter grid"A brick-wall-patterned subgraph of the infinite grid; every vertex has degree at most 3.Halin's grid theorem finds a \(TH^\infty\) in any graph with a thick end.
\(nH\), \(\aleph_0 H\)"n copies of H"The disjoint union of \(n\), respectively countably many, copies of \(H\).\(3K^3\) is three disjoint triangles.
\(R\)"the Rado graph"The unique countable graph with the extension property \((\ast)\).Deleting finitely many vertices of \(R\) leaves a copy of \(R\).
\((\ast)\)"the extension property"For any disjoint finite vertex sets \(U, W\) some vertex is adjacent to all of \(U\) and none of \(W\).Used back-and-forth to prove \(R\) unique.
\(|G|\)"the space of G"The topological space made of \(G\) plus its ends (Section 8.6). Not the order of \(G\) in this chapter.For \(G\) a ray, \(|G|\) is a closed interval.
\(\mathring e\), \(\overline X\)"the interior of e; the closure of X"\(\mathring e\): the inside of edge \(e\), without its endpoints; \(\overline X\): the point set \(X\) plus all points it approaches in \(|G|\).\(\overline V = V \cup \Omega\).
arc, circle, circuit—Arc: a topological copy of the segment \([0,1]\) inside \(|G|\); circle: a topological copy of the round circle; circuit: the edge set of a circle.A double ray plus its two distinct ends is an arc.
\(\mathcal{C}(G)\)"the topological cycle space"All thin sums of circuits, finite or infinite (Section 8.7).Both rails of the ladder plus one rung form a member.
\(\mathcal{C}_{\text{fin}}(G)\)"the finitary cycle space"Finite sums of finite circuits, as in Chapter 1.\(\mathcal{C}_{\text{fin}}(G) \subseteq \mathcal{C}(G)\); the inclusion is proper as soon as \(G\) has an infinite circuit, as the ladder does.
\(C_e\), \(D_f\)"fundamental circuit; fundamental cut"For a topological spanning tree: the unique circuit through chord \(e\); the set of edges joining the two pieces of the tree minus \(f\).\(e \in D_f\) exactly when \(f \in C_e\).
\(G/p\)"G contracted by p"The finite multigraph obtained by collapsing each class of a finite vertex partition \(p\) to a single vertex.Collapsing all of \(G\) minus a finite set, component by component.
\(\|G\| = \varprojlim |G/p|\)"the inverse limit"The space of all consistent choices of one point in every finite view \(|G/p|\). Not the size of \(G\) in this chapter.Theorem: \(\|G\| \cong |G|\) for connected locally finite \(G\).

In this chapter, what does the symbol \(|G|\) stand for?

  1. The number of vertices of \(G\)
  2. The number of edges of \(G\)
  3. The set of ends of \(G\)
  4. The topological space made of \(G\) together with its ends
Answer: D. The Chapter 1 reading of \(|G|\) as the order of \(G\) is retired here, and \(\|G\|\) likewise stops meaning the size. The set of ends on its own is \(\Omega(G)\), which is option C's mistake.

Three tools for taming infinity

Why do we need new tools at all? Take the most innocent statement imaginable: every connected graph has a spanning tree, a cycle-free connected subgraph containing every vertex. The finite proof grows the tree one vertex at a time and stops when the vertices are used up. In an infinite graph that procedure never stops, so the proof says nothing. The statement is still true[1], but each of its proofs demonstrates one of the chapter's tools.

Tool 1: Zorn's lemma. Instead of building the object step by step, grab a maximal one all at once. Zorn's lemma says: in a partially ordered collection, if every chain (totally ordered sub-collection) has an upper bound in the collection, the collection has a maximal element. For spanning trees, order all trees inside \(G\) by inclusion. A chain of trees has an upper bound, its union: any cycle in the union would be finite, hence would already lie inside one single tree of the chain. Zorn hands us a maximal tree, which must reach every vertex (a missed vertex adjacent to the tree could be added). Note where finiteness of cycles did the real work: it made the limit safe.

Tool 2: transfinite induction. Keep the step-by-step construction, but let it continue past infinity, with ordinal numbers as the clock: after steps \(0, 1, 2, \ldots\) comes a limit step, then further steps beyond it. At ordinary steps you add a vertex; at limit steps you take the union of everything so far, and again finiteness of cycles makes the unions safe. The formal machinery of ordinals lives in Diestel's Appendix A[9]; the mental picture "step-by-step, with union steps sprinkled in" is enough for this course.

Tool 3: compactness. Solve the problem on every finite piece, then glue the finite solutions into one infinite solution. This is the tool with the biggest payoff, and its graph-theoretic engine is a lemma of Dénes Kőnig.

Theorem — König's Infinity Lemma (Kőnig, 1927)

Let \(V_0, V_1, V_2, \ldots\) be disjoint, non-empty, finite sets of vertices, and suppose every vertex \(v\) in \(V_n\) (for \(n \geq 1\)) has at least one neighbour in \(V_{n-1}\). Then there is a ray \(v_0 v_1 v_2 \ldots\) with \(v_n \in V_n\) for every \(n\).[1]

Read it as a picture: an infinite stack of finite levels, each pointing back into the previous one, always contains one infinite thread. Proof idea: walk backwards along the pointers from every vertex. Since \(V_0\) is finite, infinitely many of these backward walks land on the same vertex of \(V_0\); among those, infinitely many agree on their \(V_1\) vertex too, and so on. The choices that survive every round form the ray. Finiteness of the levels is essential: with even one infinite level the conclusion can fail.

V0 V1 V2 V3 a b c d e f g h i j k l …
Figure 8.2. König's Infinity Lemma. Each vertex of level \(V_n\) has an edge back into \(V_{n-1}\). Finitely many choices per level force one infinite thread: here the highlighted ray \(a\,e\,g\,j\ldots\)
The first printed page of a 1927 German mathematics paper, showing its title, subtitle, author line and opening paragraph.
Plate 8.B. König's paper, 1927. Its title promises a way of reasoning from the finite into the infinite, which is exactly what the compactness tool above does. The subtitle names the places he expected to use it: point sets, map colourings, kinship relations, and chess. The lemma is the paragraph marked A). Dénes Kőnig, 1927. Wikimedia Commons, public domain.

Here is compactness earning its keep. Recall from Chapter 5 that the chromatic number \(\chi(G)\) is the least number of colours needed to colour the vertices so that adjacent vertices get different colours.

Theorem — colouring by finite pieces (de Bruijn & Erdős, 1951)

Let \(k\) be a natural number. If every finite subgraph of \(G\) can be coloured with \(k\) colours, then \(\chi(G) \leq k\): the whole infinite graph can be coloured with \(k\) colours.[1]

Proof idea via the Infinity Lemma, for countable \(G\): enumerate the vertices and let \(V_n\) be the set of proper \(k\)-colourings of the first \(n\) vertices: finite (at most \(k^n\)) and non-empty by hypothesis, with restriction as the backward pointer. A ray through the levels is a coherent family of colourings that together colour every vertex. Diestel gives two further proofs, via an abstract compactness principle and via Tychonoff's theorem from topology; all three are the same idea in different clothes.[1]

In the real world

This finite-to-infinite gluing pattern is one of the most exported ideas in mathematics. In logic it appears as the compactness theorem: if every finite subset of an infinite list of constraints can be satisfied, the whole list can. In tiling problems the same argument shows that if every finite region of the plane can be covered by a given set of tile shapes, then the entire plane can be tiled. And in computer science, König's lemma is the reason an infinite computation tree with finite branching and arbitrarily long runs must contain one infinite run, an observation that sits under arguments about program termination. The graph-theoretic statement behind all of these is exactly Lemma 8.1.2 of the book.[1]

One warning keeps compactness honest: sometimes the finite statement must be reshaped before it can pass to the limit. The chapter's showcase is the unfriendly partition conjecture: every countable graph should admit a split of its vertices into two camps such that every vertex has at least as many neighbours in the other camp as in its own. Finite graphs are easy: take the split with the most cross-edges; a vertex with more friends than enemies could profitably defect. For infinite graphs "most cross-edges" makes no sense, and the conjecture is open for countable graphs in general. The book proves it for locally finite graphs, by an Infinity Lemma argument that deliberately weakens the requirement at each finite stage, and for countable rayless graphs in Section 8.5; for some uncountable graphs it fails.[1]

Common mistake

"Compactness transfers every finite fact to infinity." It does not. It transfers facts whose finite witnesses fit together coherently. The chromatic number transfers; the colouring number (a greedy-ordering variant met in Chapter 5) does not: there are graphs all of whose finite subgraphs are well-behaved for greedy colouring while the whole graph is not. Before invoking compactness, always ask: is the property of the whole graph really determined by its finite pieces?

Zorn's lemma is applied to the trees inside \(G\), ordered by inclusion. Why can no cycle appear in the union of a chain of such trees?

  1. Because a union of trees is always acyclic
  2. Because a cycle is finite, so all its edges already lie in one tree of the chain
  3. Because a chain of trees contains only finitely many trees
  4. Because Zorn's lemma guarantees that the union is a tree
Answer: B. The chain is totally ordered, so any finite set of edges sits inside a single member; a cycle in the union would therefore already be a cycle in one tree. Option A is false in general, and it is exactly the finiteness of cycles, not Zorn's lemma itself, that makes this limit safe.

Every finite subgraph of an infinite graph \(G\) can be coloured with 3 colours. What follows?

  1. \(\chi(G) \leq 3\): the whole graph has a proper 3-colouring
  2. \(\chi(G) = 3\) exactly
  3. Nothing: colourability never passes from finite pieces to the whole graph
  4. \(G\) is locally finite
Answer: A. This is de Bruijn and Erdős: the finite colourings fit together coherently, and the Infinity Lemma glues them. The bound is an upper bound only, so option B overreaches: a graph with no edges also passes the hypothesis and needs one colour.

Ends: the points at infinity

Now for the genuinely new idea. Watch someone walk forever along a ray in the two-way infinite ladder (two parallel double rays joined by rungs). Eventually they drift off to the left, or off to the right. No matter how the ray wiggles between the rails, one of those two fates awaits it. The ladder has, in a sense we can now make precise, exactly two points at infinity. In the endless street grid, by contrast, all escapes lead to the same place: delete any finite set of corners and the remaining infinite part is still one connected piece, so any two rays can always be re-joined beyond the deletion. One graph, one point at infinity.

To define this precisely we first need the right notion of "an infinite set of vertices accumulating in some direction," and for that Diestel uses a charming object called a comb.

Definition — comb

A comb is a ray \(R\) (the spine) together with infinitely many disjoint finite paths, each having exactly its first vertex on \(R\). The last vertices of those paths are the teeth. A path is allowed to be trivial (a single vertex), in which case its vertex lies on the spine and is itself a tooth. In plain words: a ray with infinitely many disjoint whiskers; the whisker-tips are the teeth.

x0 x1 x2 x3 x4 x5 t1 p1 t2 t3 …
Figure 8.3. A comb. The spine is the ray \(x_0 x_1 x_2 \ldots\) (bold); the whisker paths \(x_1 t_1\), \(x_2 p_1 t_2\), and \(x_4 t_3\) are disjoint and touch the spine only at their first vertices. The teeth (gold) are \(x_0\) (a trivial path), \(t_1\), \(t_2\), \(t_3\), and so on along the spine.
Definition — end

Call two rays \(R_1, R_2\) of a graph \(G\) equivalent if for every finite vertex set \(S \subseteq V(G)\), both rays have a tail in the same component of \(G - S\) (the graph left after deleting \(S\)). An end of \(G\) is an equivalence class of rays under this relation; ends are typically denoted \(\omega\). The set of all ends is written \(\Omega(G)\), and a graph together with its ends is written \(G = (V, E, \Omega)\). In plain words: two rays point to the same end when no finite roadblock can ever separate them; an end is such a shared destination at infinity.

Convince yourself that this is an equivalence relation, and notice what it does not depend on: where the rays start, or whether they share any vertices. Two disjoint rays can point to the same end (any two vertical rays of the grid do), and equivalent rays can always be joined to each other by infinitely many disjoint paths. The definition captures where a ray goes, not how it gets there.

u1 u2 u3 u4 u5 u6 v1 v2 v3 v4 v5 v6 ω1 ω2
Figure 8.4. The two-way ladder and its two ends (gold), drawn as ideal points beyond the graph. Every ray in the ladder eventually commits to going left or going right; the two equivalence classes of rays are \(\omega_1\) and \(\omega_2\). Deleting any single rung's two endpoints separates left-going tails from right-going tails, which is why the two classes really are distinct.

How many ends can a graph have? The double ray has two, the grid has one, and here is the surprise: a countable, locally finite tree can have as many ends as there are real numbers. Consider the binary tree \(T_2\), whose vertices are the finite strings of 0s and 1s, with each string \(s\) joined to \(s0\) and \(s1\). A ray from the root is exactly an infinite 0–1 sequence, read digit by digit. In a tree, two rays are equivalent only if they eventually merge (deleting the last common vertex separates them otherwise), so distinct infinite sequences give distinct ends. There are uncountably many infinite 0–1 sequences, so \(T_2\) has uncountably many ends: continuum many points at infinity attached to countably many vertices.[1]

∅ 0 1 00 01 10 11 …
Figure 8.5. The binary tree \(T_2\): vertices are finite 0–1 strings, the root is the empty string, and each string \(s\) has upper neighbours \(s0\) and \(s1\). The highlighted branch \(\emptyset, 0, 01, 011, \ldots\) is one ray. Ends correspond one-to-one with infinite 0–1 sequences, so this countable tree has continuum many ends.

Ends come in different widths. The vertex-degree of an end \(\omega\) is the maximum number of pairwise disjoint rays belonging to \(\omega\); the edge-degree is the same with "edge-disjoint" in place of "disjoint." Both values live in \(\mathbb{N} \cup \{\infty\}\), and it is a theorem, not an observation, that the maximum is actually attained (more on this below). An end of infinite vertex-degree is called thick; an end of finite vertex-degree is thin. Each end of the ladder is thin, with vertex-degree 2: the two rails are disjoint rays, and any three rays going the same way would need to squeeze through rungs of width 2. The single end of the grid is thick: the vertical lines are infinitely many disjoint rays, all equivalent.[1]

00 10 20 30 01 11 21 31 02 12 22 32 03 13 23 33 … …
Figure 8.6. The \(\mathbb{N} \times \mathbb{N}\) grid: vertex \(nm\) sits at column \(n\), row \(m\). Deleting any finite vertex set leaves exactly one infinite component, so all rays are equivalent: the grid has a single end. The highlighted vertical rays are three of infinitely many disjoint rays in that end, so the end is thick. The set of all vertical rays will return in Section 8.6 as a topological spanning tree.
Common mistake

Three tempting misreadings of "end." First, an end is not a vertex: no vertex of the ladder is \(\omega_1\); the end is a new kind of point we attach at infinity. Second, an end is not a ray: it is an equivalence class of rays, and two disjoint rays may belong to the same end (grid) while two disjoint rays may also belong to different ends (ladder). Third, ends are not "leaves" or "endvertices of an edge"; the overlap in everyday language is unfortunate, and the book explicitly reserves the word "end" for points at infinity in this chapter. Also resist "a tree has few ends, one per direction": Figure 8.5 shows a countable tree with uncountably many.

Two rays of a graph are disjoint. What does that tell you about the ends they belong to?

  1. They must belong to different ends
  2. They must belong to the same end
  3. Either is possible: same end in the grid, different ends in the ladder
  4. They belong to the same end only when the graph is locally finite
Answer: C. Equivalence of rays is about where they go, not about sharing vertices: the grid's vertical rays are disjoint and all equivalent, while the ladder's two rails are disjoint and separated by any rung's endpoints. Option D fails on that same ladder, which is locally finite.

Why is the single end of the \(\mathbb{N} \times \mathbb{N}\) grid thick?

  1. Because the grid has infinitely many vertices
  2. Because every vertex of the grid has degree at most 4
  3. Because the grid has infinitely many ends
  4. Because infinitely many pairwise disjoint rays all belong to that one end
Answer: D. Thickness measures the vertex-degree of the end, the largest number of pairwise disjoint rays inside it, and the grid's vertical lines supply infinitely many. Option A confuses the size of the graph with the width of an end: the ladder also has infinitely many vertices, yet both of its ends are thin.

Long or wide: paths, trees, and ends

The first structural theorem of the chapter says that the two kinds of infinity we identified are the only ones. Every infinite connected graph contains a ray or a vertex of infinite degree (and if it is locally finite, therefore a ray).[2] Proof idea: fix a vertex and sort all other vertices into classes by their distance from it. If all degrees are finite, each distance class is finite and non-empty; each vertex at distance \(n\) has a neighbour at distance \(n-1\), and König's Infinity Lemma threads a ray through the classes. The Star–Comb Lemma refines this dichotomy from graphs to vertex sets:

Theorem — Star–Comb Lemma

Let \(U\) be an infinite set of vertices in a connected graph \(G\). Then \(G\) contains either a comb with all its teeth in \(U\), or a subdivided infinite star with all its leaves in \(U\).[2]

In plain words: an infinite crowd of vertices must either string out along some ray (the comb catches infinitely many of them along one direction to infinity) or cluster around a single hub (the star's centre reaches infinitely many of them by disjoint paths). In a locally finite graph the star is impossible, so infinite vertex sets always point at an end. This little lemma is the standard bridge between "a set of vertices" and "a direction at infinity," and it will reappear in the topological sections.

Next, a structural tool that tames the potentially wild set of ends. Recall from Chapter 1 that a rooted spanning tree \(T\) of \(G\) is normal if the endpoints of every edge of \(G\) not in \(T\) are comparable in the tree order (one lies on the root-path of the other). Normal spanning trees organize a finite graph beautifully, and the same is true at infinity, where the branches climbing up from the root become normal rays.

Theorem — normal spanning trees index the ends (Jung, 1967)

If \(T\) is a normal spanning tree of \(G\), then every end of \(G\) contains exactly one normal ray of \(T\). Moreover, every countable connected graph has a normal spanning tree.[2]

So a normal spanning tree is a perfect catalogue: one root-based branch per point at infinity. The existence half imitates the finite construction, growing finite normal trees \(T_0 \subseteq T_1 \subseteq \cdots\) that swallow the vertices in some fixed enumeration, with care taken so that each new branch is grafted at the top of the relevant part of the tree order. Countability matters: the uncountable complete graph has no normal spanning tree. Diestel calls normal spanning trees the single most important structural tool of infinite graph theory, and Section 8.6 will convert that praise into a theorem: they characterize exactly when the space \(|G|\) can be given a metric.

Now for one of the chapter's celebrated results. Say you know that your graph contains \(k\) pairwise disjoint rays for every natural number \(k\): 5 disjoint rays, 500, 5 million, as many as you ever ask for. Must it contain infinitely many disjoint rays at once? Be careful: this is not a triviality. A single badly chosen ray can wander everywhere and block all others, so you cannot just greedily pick rays one at a time. For general structures the answer is no; graphs \(H\) exist for which arbitrarily many disjoint copies do not force infinitely many. Halin proved that for rays the answer is yes.

Theorem — ubiquity of the ray (Halin, 1965)

If a graph contains \(k\) pairwise disjoint rays for every \(k \in \mathbb{N}\), then it contains infinitely many pairwise disjoint rays. The same holds with "edge-disjoint" in place of "disjoint."[2]

Proof idea: build the infinite family in infinitely many rounds. At round \(n+1\), take a fresh supply of very many disjoint rays, discard the few that collide with the finite initial segments frozen so far, and use Menger's theorem from Chapter 3 (the finite max-paths-equals-min-separator theorem) inside a well-chosen finite auxiliary graph to reroute the current \(n\) rays plus one newcomer so that all of them extend their frozen initial segments. The actual infinite rays exist only in the limit, but each vertex's fate is sealed at some finite round, so the limit is safe. This argument is also what guarantees that the vertex-degree of an end is attained as a maximum, so "thick" and "thin" are well defined.

The general phenomenon has a name: call a graph \(H\) ubiquitous with respect to a containment relation (subgraph, minor, and so on) if, whenever a graph contains \(n\) disjoint copies of \(H\) for every \(n\), written \(nH\), it contains \(\aleph_0 H\), countably many disjoint copies. Halin's theorem says the ray is ubiquitous for the subgraph relation. Andreae's Ubiquity Conjecture, still open, asserts that every locally finite connected graph is ubiquitous with respect to the minor relation.[2]

Halin also proved that thickness has a canonical shape. The hexagonal quarter grid \(H^\infty\) is what you get by carving a brick-wall pattern out of the quarter-plane grid: infinitely many vertical rays, joined by horizontal edges in alternating positions, so that every vertex has degree at most 3.

Theorem — the grid theorem (Halin, 1965)

Whenever a graph has a thick end \(\omega\), it contains a subdivision \(TH^\infty\) of the hexagonal quarter grid all of whose rays belong to \(\omega\).[2]

In plain words: an end with infinitely many parallel lanes to infinity always organizes itself into a grid. (Hexagonal rather than square because a subdivision, which must respect degrees, can only be found for a target graph of small maximum degree; and the ordinary grid is a minor of \(H^\infty\), so nothing is lost.) The proof repeatedly picks a new "vertical" ray and infinitely many disjoint "horizontal" connecting paths to the previous verticals, exploiting the fact that rays in a common end can always be linked by infinitely many disjoint paths; König's Infinity Lemma then organizes the connection pattern into the grid. Readers who go on to Chapter 12 will recognize this as the infinite ancestor of the excluded-grid theme in the theory of graph minors.

\(U\) is an infinite set of vertices in a connected, locally finite graph. What does the Star–Comb Lemma give you?

  1. A comb with all its teeth in \(U\); the star alternative cannot occur here
  2. A subdivided infinite star with all its leaves in \(U\)
  3. Either outcome, with no way to decide which
  4. A normal spanning tree whose rays all meet \(U\)
Answer: A. The lemma is a dichotomy, but a subdivided infinite star needs a centre of infinite degree, which local finiteness forbids; so the comb must occur and \(U\) points at an end. Option C is the right answer only when arbitrary degrees are allowed.

The Rado graph: one graph to contain them all

Infinite graphs make possible a kind of object that simply cannot exist in the finite world: a single countable graph that contains every countable graph. Call a countable graph \(G^\ast\) universal (for a fixed containment relation, within a class of graphs) if every countable graph in the class is contained in \(G^\ast\) under that relation. For the induced-subgraph relation and the class of all countable graphs, a universal graph exists, it is unique, and it is wonderful. Its defining feature is the extension property we met in the notation table:

Definition — the extension property \((\ast)\)

A graph \(R\) has property \((\ast)\) if for every pair of disjoint finite vertex sets \(U, W \subseteq V(R)\) there is a vertex \(v\) outside \(U \cup W\) that is adjacent to every vertex of \(U\) and to no vertex of \(W\). In plain words: whatever finite pattern of required friends and required strangers you write down, some vertex of \(R\) realizes it exactly.

u1 u2 w1 w2 v
Figure 8.7. Property \((\ast)\) in one instance: for \(U = \{u_1, u_2\}\) and \(W = \{w_1, w_2\}\), the vertex \(v\) is adjacent to all of \(U\) (solid violet) and to none of \(W\) (dashed lines mark the required non-edges). The grey edge \(u_2 w_1\) belongs to the ambient graph and is irrelevant to the requirement. The Rado graph satisfies every such request at once.
Theorem — the Rado graph (Erdős & Rényi, 1963)

There is exactly one countable graph \(R\), up to isomorphism, with property \((\ast)\).[3]

Existence is brute force: start with one vertex, and at each stage add, for every subset \(U\) of the vertices built so far, one new vertex joined to exactly \(U\); iterate forever. Uniqueness is the classic back-and-forth argument: given two graphs with \((\ast)\), build an isomorphism vertex by vertex, alternating sides. At each step the next unmatched vertex on the current side has some finite pattern of adjacencies to the already-matched vertices, and \((\ast)\) on the other side supplies a partner realizing exactly that pattern. Alternating sides guarantees no vertex is left behind, so the final map is an isomorphism of the whole graphs. And universality falls out of the same idea run on one side only: to embed an arbitrary countable graph \(H\) into \(R\) as an induced subgraph, add the vertices of \(H\) one at a time, using \((\ast)\) to realize each one's adjacency pattern to its predecessors.

\(R\) is called the Rado graph, and it has a habit of shrugging off damage: delete any finite set of vertices, or flip any finite set of edges and non-edges, and the resulting graph still satisfies \((\ast)\), so it is again isomorphic to \(R\). Stronger still, however you split the vertices of \(R\) into two parts, at least one part induces a copy of \(R\); and \(R\) is essentially the only countable graph with that self-reproducing property.[3]

The Rado graph is also as symmetric as a countable graph can be: it is homogeneous, meaning every isomorphism between two finite induced subgraphs extends to an automorphism of the whole graph. Any local identification globalizes. Homogeneity is so demanding that all countable homogeneous graphs are known: by the classification of Lachlan and Woodrow, they are the disjoint unions of complete graphs of one size and their complements, the generic \(K^r\)-free graphs \(R^r\) (Rado-like constructions that never build a complete graph on \(r\) vertices) and their complements, and \(R\) itself.[3] The classification's proof is beyond this course and the book alike.

Universality depends delicately on the containment relation. For the subgraph or induced-subgraph relation there is no universal planar graph, but Diestel and Kühn proved that a universal planar graph does exist for the minor relation[3]: one countable planar graph containing every countable planar graph as a minor. Same class of graphs, different relation, opposite answer.

In the real world

The Rado graph is also called the countable random graph, and it deserves the name literally. Take countably many vertices and flip a fair coin for every pair, drawing the edge on heads. With probability 1 the resulting graph satisfies the extension property, so with probability 1 it is the Rado graph: infinite random graphs are not diverse, there is essentially just one.[3] The finite counterpart of this coin-flipping model is the random graph of Erdős and Rényi, whose 1960 study of how random graphs evolve as edges accumulate founded the theory taken up in Chapter 11 and became the baseline model of modern network science.[10] Where the finite theory studies what a typical network probably looks like, the countable theory collapses: almost surely, the one graph \(R\).

Why does the extension property \((\ast)\) make \(R\) contain every countable graph \(H\) as an induced subgraph?

  1. Because \(R\) is a complete graph, so it contains everything
  2. Because deleting finitely many vertices of \(R\) leaves a copy of \(R\)
  3. Because the vertices of \(H\) can be added one at a time, \((\ast)\) supplying a vertex with exactly the right friends and strangers among the earlier ones
  4. Because \(R\) has infinitely many vertices
Answer: C. Each new vertex of \(H\) demands a finite pattern of edges and non-edges to its predecessors, and \((\ast)\) fills exactly such requests, so the embedding never gets stuck. Option B is a true property of \(R\) but says nothing about embedding \(H\), and \(R\) is not complete.

Connectivity and matching without counting

The deepest part of the chapter asks what becomes of the great min-max theorems of Part II: Menger's theorem from Chapter 3 and the matching theorems of Chapter 2. The lesson, learned slowly over fifty years, is that for infinite graphs counting is too blunt an instrument, and every one of these theorems must be restated structurally before it becomes true and interesting again.

See the problem in the case of Menger. The finite theorem says: for vertex sets \(A\) and \(B\), the maximum number of disjoint \(A\)–\(B\) paths equals the minimum number of vertices needed to separate \(A\) from \(B\). Read with infinite cardinalities, this equality is true but worthless. Take any inclusion-maximal set \(\mathcal{P}\) of disjoint \(A\)–\(B\) paths (Zorn's lemma provides one). The union of all vertices of those paths separates \(A\) from \(B\), since any path avoiding it could be added to \(\mathcal{P}\). And when \(\mathcal{P}\) is infinite, that union has the same cardinality as \(\mathcal{P}\) itself: infinitely many paths have infinitely many vertices, but no more in cardinal arithmetic. So "max paths = min separator" holds for silly reasons, while enormously wasteful separators pass the test unnoticed. Erdős proposed the right fix: ask for a separator that is not merely small but efficient, using exactly one vertex from each path. After half a century as the Erdős–Menger conjecture, this became:

Theorem — Aharoni & Berger, 2009 (the Erdős–Menger conjecture)

For every graph \(G\) and any two vertex sets \(A, B \subseteq V(G)\), there is a set \(\mathcal{P}\) of disjoint \(A\)–\(B\) paths together with an \(A\)–\(B\) separator consisting of exactly one vertex from each path in \(\mathcal{P}\).[4]

For finite graphs this is equivalent to Menger's theorem. For infinite graphs it is the correct statement, and it is hard: the book proves the countable case in full, over several pages, and the general case (which also covers ends and edge-versions) is one of the deepest results in the book. The central device of the proof is the wave.

Definition — wave

An \(A \to B\) wave is a family \(\mathcal{W} = (W_a \mid a \in A)\) of disjoint paths, one starting at each vertex of \(A\), such that the set \(Z\) of their final vertices separates \(A\) from \(B\). (Paths may be trivial: a single vertex.) The boundary of the wave is the set \(X \subseteq Z\) of final vertices that can still reach \(B\); it is a minimal \(A\)–\(B\) separator. In plain words: a wave pushes a front line from \(A\) toward \(B\) using disjoint paths, in such a way that the front still blocks every route.

a1 a2 a3 a4 p2 p4 z2 z3 z4 b1 b2 b3
Figure 8.8. An \(A \to B\) wave in a graph with \(A = \{a_1, \ldots, a_4\}\) and \(B = \{b_1, b_2, b_3\}\). The wave's paths (violet) start at the vertices of \(A\); the path from \(a_1\) is trivial. The final vertices \(a_1, z_2, z_3, z_4\) form the separating front (dashed curve). The boundary consists of \(z_2\) and \(z_4\) (gold), the front vertices with onward routes to \(B\) (grey edges).

Why waves rather than the augmenting-path arguments of Chapter 2? Because iterating augmentations can toggle one edge in and out forever, so the sequence of improvements has no meaningful limit. Waves fix this: they grow all paths simultaneously, they are partially ordered in a way where every chain of waves has a limit wave, and Zorn's lemma therefore supplies a maximal wave. Its boundary is a minimal separator, and the heart of the proof is showing, vertex by delicate vertex, that when no further progress by waves is possible, every boundary vertex can be linked onward to \(B\) without stranding the others. The full argument is in Section 8.4 of the book[4]; it is honest to say it is the hardest proof in this course's orbit, and we only wave at it from the shore.

The same "structure instead of counting" philosophy rebuilt all of matching theory. Three highlights, in increasing depth:

Worked example — Cantor–Bernstein as a graph fact

The Cantor–Bernstein theorem of set theory says: if there is an injection (a one-to-one map) from set \(A\) into set \(B\) and an injection from \(B\) into \(A\), then there is a bijection between them. As a graph fact: let \(G\) be bipartite with sides \(A\) and \(B\); if \(G\) has a matching covering all of \(A\) and a matching covering all of \(B\), then \(G\) has a 1-factor, a matching covering every vertex.[4] Proof in two lines: overlay the two matchings. Every vertex has degree at most 2 in the union, so every component of the union is a finite path, a finite even cycle, or an infinite path, in which the two matchings alternate. In each component, choose the matching edges of whichever matching covers all that component's vertices (in an even cycle or a two-way infinite path, either one works; in a one-way infinite path, take alternate edges starting at the first vertex). A famous theorem of set theory, proved by looking at a drawing.

A nineteenth-century visiting-card studio portrait of a bearded man in dark formal dress, shown from the chest up.
Plate 8.C. Cantor in Halle, 1884 or 1885, the years he spent fighting over transfinite cardinals. The set-theory result the box above proves by overlaying two matchings carries his name and Felix Bernstein's. The photograph comes from an album assembled for Karl Weierstrass, which puts Cantor inside the German mathematical establishment rather than outside it. Otto Zeth, 1884. Wikimedia Commons, public domain.

Second highlight: Hall's marriage theorem. The finite condition from Chapter 2, "every set \(S \subseteq A\) has at least \(|S|\) neighbours," is nearly meaningless for infinite sets: an infinite \(S\) with an infinite neighbourhood \(N(S)\) passes the size test even when a matching is clearly impossible. The correct infinite bookkeeping uses matchability: say \(X\) is matchable to \(Y\) if the graph between them has a matching covering all of \(X\). Aharoni's infinite marriage theorem then reads: a bipartite graph has a matching of \(A\) unless some \(S \subseteq A\) is not matchable to \(N(S)\) while \(N(S)\) is matchable to \(S\).[4] That asymmetric pair of conditions is the structural translation of "\(S\) is strictly bigger than its neighbourhood," and it survives infinity. Behind it stands an infinite König duality theorem in exactly the Erdős–Menger style: every bipartite graph has a matching \(M\) and a vertex cover using exactly one vertex of every edge of \(M\).

Third highlight: 1-factors of arbitrary graphs. For countable graphs, Steffens proved the clean criterion: a 1-factor exists if and only if, for every matching \(M\) and every vertex that \(M\) leaves uncovered, some \(M\)-augmenting path starts there, where an augmenting path is now allowed to be an infinite ray of alternating edges (swapping along an infinite alternating ray still matches every vertex on it).[4] For arbitrary cardinalities, Aharoni found the Tutte-type condition: \(G\) has a 1-factor if and only if, for every vertex set \(S\), the factor-critical components of \(G - S\) are matchable to \(S\) in the natural auxiliary bipartite graph. Notice the pattern one more time: the finite theorem's number comparison (odd components versus \(|S|\), from Tutte's theorem in Chapter 2) is replaced by a matchability statement. The section closes with an infinite Gallai–Edmonds structure theorem obtained from a maximal such pair, and with the Aharoni–Korman conjecture on infinite perfect graphs, still open.[4]

One more result of this section deserves its plain-words statement, because it is beautiful and its proof style is instructive: a graph decomposes into edge-disjoint cycles if and only if it has no odd cut, a cut with a finite, odd number of edges (Nash-Williams). Cycles cross every cut an even number of times, so odd cuts are an obvious obstruction; the theorem says they are the only one. The proof first chops the graph, however uncountable, into countable pieces that respect all small cuts (Laviolette's bond-faithful decomposition), then handles a countable graph by enumerating edges and repeatedly deleting a cycle through the first surviving edge.[4]

Common mistake

"Hall's condition \(|S| \leq |N(S)|\) works verbatim for infinite graphs." It does not. Example: let \(A = \{a_0, a_1, a_2, \ldots\}\) and \(B = \{b_1, b_2, \ldots\}\), join \(a_0\) to every \(b_i\), and join \(a_i\) to \(b_i\) for \(i \geq 1\). Every \(S\) satisfies \(|S| \leq |N(S)|\). But a matching covering \(A\) would need to give \(a_0\) some partner \(b_i\), leaving \(a_i\) without one: no such matching exists. Cardinality comparisons are blind to this; matchability is not (here all of \(N(S)=B\) is matchable to \(S = A \setminus \{a_0\}\) while \(A\) is not matchable to \(B\)... the asymmetry detects the failure). When infinity enters, always translate size conditions into structural ones.

Why does the proof of the Aharoni–Berger theorem use waves instead of the augmenting paths of Chapter 2?

  1. Because waves count how many paths an infinite system has
  2. Because augmenting paths cannot be found in infinite graphs at all
  3. Because waves show that every infinite graph has a finite separator
  4. Because waves advance all paths at once, every chain of waves has a limit, and Zorn's lemma then supplies a maximal wave
Answer: D. Augmenting one path at a time can toggle the same edge in and out forever, so the sequence of improvements has no meaningful limit; waves are built precisely so that limits exist. Option B misstates the trouble: augmenting paths exist, but iterating them does not converge.

Why does Hall's condition \(|S| \leq |N(S)|\) fail to characterize matchability in infinite bipartite graphs?

  1. Because infinite bipartite graphs never have matchings
  2. Because an infinite \(S\) and an infinite \(N(S)\) pass the size test even when \(S\) cannot be matched
  3. Because \(N(S)\) can be infinite while \(S\) is finite
  4. Because Hall's theorem needs the graph to be locally finite
Answer: B. In the section's example every set passes the cardinality test, yet giving \(a_0\) a partner \(b_i\) always strands \(a_i\); cardinal arithmetic cannot see that. Option C describes a harmless situation: a finite \(S\) with a large neighbourhood is easy to match.

Induction past infinity: recursive structures

Finite graph theory leans constantly on induction: prove the statement for small graphs, then reduce big ones to smaller ones. Section 8.5 shows how to salvage induction for infinite graphs by defining graph classes recursively, so that each infinite object is built from strictly simpler ones, with ordinals keeping score.[5]

Two examples. First, call a rooted tree recursively prunable if the following labelling process eventually labels every vertex: at each stage, label those vertices whose set of unlabelled ancestors-and-descendants above them forms a single chain (intuitively: repeatedly shave off the simple, path-like fringe). Proposition 8.5.1: a rooted tree is recursively prunable exactly when it contains no subdivision of the binary tree \(T_2\). Infinite binary branching is precisely what pruning can never exhaust.

Second, and more important: the rank of rayless graphs. Finite graphs have rank 0; a graph has rank \(\alpha\) if it has no smaller rank and some finite vertex set \(U\) exists such that every component of \(G - U\) has rank smaller than \(\alpha\). For instance, a star with infinitely many finite paths of unbounded lengths attached has rank 1: delete the hub (a finite set) and only finite components remain. Lemma 8.5.2: a graph has a rank if and only if it contains no ray. So the rayless graphs form a hierarchy indexed by ordinals, and one can do induction on rank. The section's payoff theorem: every countable rayless graph has an unfriendly partition, proved by exactly such an induction, carefully stitching together partitions of the components of \(G - U\).[5] (The result extends to rayless graphs of any cardinality, by Bruhn, Diestel, Georgakopoulos and Sprüssel.)

A graph has a rank, in the sense of this section, exactly when:

  1. It is finite
  2. It is countable
  3. It contains no ray
  4. It contains no subdivision of the binary tree \(T_2\)
Answer: C. Rank is exactly the rayless hierarchy: finite graphs have rank 0, but infinite rayless graphs such as the hub-with-finite-paths have rank 1, so option A is too narrow. Option D is the separate criterion for a rooted tree to be recursively prunable.

The space \(|G|\): where rays arrive

Everything so far treated ends combinatorially. The last three sections of the chapter make a bolder move: they turn the graph and its ends into a single topological space, in which rays literally converge to their ends the way the sequence \(1, \frac{1}{2}, \frac{1}{4}, \ldots\) converges to 0. The reward is remarkable: several classical theorems that are false for infinite graphs when read naively become true again, in their original wording, once "path," "cycle," and "spanning tree" are reinterpreted topologically.

The construction, denoted \(|G|\), works like this. Draw \(G\) with every edge as a real unit-length segment: the points of the space are the vertices, the interior points \(\mathring e\) of every edge \(e\), and one new point for each end. Near vertices and inside edges, "close" means what it looks like. Near an end \(\omega\), closeness is measured by roadblocks: a basic neighbourhood of \(\omega\) is chosen by picking a finite vertex set \(S\) and taking everything beyond \(S\) in \(\omega\)'s direction: the component \(C(S, \omega)\) of \(G - S\) that contains tails of \(\omega\)'s rays, together with all ends living in that component and the inner initial pieces of the edges entering it. A ray in \(\omega\) eventually enters every such neighbourhood, so it converges to \(\omega\), just as intended. For \(G\) a ray, \(|G|\) is a closed interval: the ray plus one endpoint at infinity. This space is known in topology as the Freudenthal compactification.[6]

Theorem — compactness of \(|G|\)

If \(G\) is connected and locally finite, then \(|G|\) is a compact Hausdorff space: every sequence of points has a convergent subsequence, and distinct points have disjoint neighbourhoods.[6]

Compactness is the whole point: every infinite journey in \(|G|\) now has a destination. This is the licence for all the limit constructions that follow. A companion theorem determines when the space is metrizable, that is, when its topology comes from an honest distance function: \(|G|\) is metrizable exactly when \(G\) has a normal spanning tree (and, by a 2020 theorem of Pitz resolving a conjecture of Halin, exactly when all minors of \(G\) have countable colouring number).[6] The chapter's earlier hero thus returns with a purely topological job description.

Inside \(|G|\) we can now say what infinite paths and cycles should always have been. An arc is a homeomorphic copy of the closed interval \([0,1]\); a circle is a homeomorphic copy of the round circle; the circuit of a circle is the set of edges it traverses. A double ray whose two tails belong to two different ends forms an arc between those ends. A double ray whose two tails belong to the same end closes up through that end into a circle: an infinite cycle. Circles can be far wilder than that: the book constructs a "wild circle" in a graph built on the binary tree, a genuine topological circle passing through uncountably many ends.[6] Yet arcs are not lawless. The key discipline is:

Theorem — Jumping Arc Lemma

Let \(F\) be a cut of \(G\) with sides \(V_1, V_2\). If \(F\) is finite, no arc connects \(\overline{V_1}\) to \(\overline{V_2}\) without using an edge of \(F\). If \(F\) is infinite (and both sides are connected), such a jumping arc exists: it can sneak from one side to the other through a shared end.[6]

In plain words: finite cuts behave classically and cannot be jumped; infinite cuts can be jumped at infinity. This lemma marks the exact frontier between combinatorics and topology, and it is the reason parity arguments over finite cuts survive into the next section.

Now the payoff notion. A topological spanning tree of \(G\) is a standard subspace of \(|G|\) (the closure \(\overline H\) of some subgraph \(H\), meaning \(H\) plus every end it approaches) that is connected, contains every vertex, and contains no circle. This differs from an ordinary spanning tree in both directions, and the 1-way ladder shows how:

T1 u0 u1 u2 u3 u4 v0 v1 v2 v3 v4 ω T2 u0 u1 u2 u3 u4 v0 v1 v2 v3 v4 ω
Figure 8.9. Two spanning subgraphs of the 1-way ladder, whose single end is \(\omega\). Top: \(T_1\) (green) keeps the bottom rail and all rungs; its closure adds \(\omega\) and contains no circle: a topological spanning tree. Bottom: \(T_2\) (violet) keeps both rails and only the first rung; it is an ordinary spanning tree, but both rails converge to \(\omega\), so its closure contains a circle running out along the top rail, through the end, and back along the bottom rail to the first rung. \(T_2\)'s closure is not a topological spanning tree.

Both directions of the mismatch occur. An ordinary spanning tree can close a circle through an end, as \(T_2\) just did. And a topological spanning tree need not be connected as a graph: in the grid of Figure 8.6, the set of all vertical rays is a disconnected graph, but its closure (all vertical rays plus the single end, where they all meet) is connected, contains every vertex, and has no circle: a perfectly good topological spanning tree, held together only at infinity. The workhorse lemmas of the section say that for standard subspaces topological connectedness coincides with arc-connectedness, and can be tested by a purely finite criterion: a standard subspace is connected exactly when it has an edge in every finite cut of \(G\) whose two sides it meets. Also, closures of normal spanning trees are always topological spanning trees.[6]

Why go to all this trouble? Because it repairs broken theorems. The tree packing theorem of Nash-Williams and Tutte (Chapter 2) says a finite multigraph has \(k\) edge-disjoint spanning trees if and only if every partition of its vertex set into \(\ell\) parts is crossed by at least \(k(\ell - 1)\) edges. Read with ordinary spanning trees, this is false for infinite graphs: there are locally finite counterexamples of arbitrarily high edge-connectivity. Read with topological spanning trees, it is true verbatim:

Theorem — topological tree packing (Diestel, after Nash-Williams & Tutte)

A connected locally finite multigraph \(G\) has \(k\) edge-disjoint topological spanning trees if and only if every finite partition of \(V(G)\) into \(\ell\) sets has at least \(k(\ell - 1)\) cross-edges.[6]

The proof runs the finite theorem on finite contractions of \(G\), threads the finite solutions together with König's Infinity Lemma, and uses the finite-cut criterion to verify that the limit subspaces are connected. It is the flagship demonstration of the chapter's motto: the topological viewpoint restores the finite theory.

In the real world

Ends were not invented for graph theory. Freudenthal introduced them in the 1930s to compactify topological spaces, and Hopf used them to study groups; the space \(|G|\) built here is exactly the Freudenthal compactification of the graph.[8] In geometric group theory, the ends of a group's Cayley graph (the graph whose vertices are group elements, joined when they differ by a generator) are a fundamental invariant of the group itself, and a landmark theorem of Stallings classifies the groups with more than one end. The book's notes also record a modern variation: choosing different edge lengths in the construction of \(|G|\) produces other boundaries at infinity, among them the hyperbolic boundaries used to model the geometry of large real-world networks.[8]

In the 1-way ladder, both rails plus the first rung form an ordinary spanning tree. Why is its closure not a topological spanning tree?

  1. Because it misses some vertices of the ladder
  2. Because it has infinitely many edges
  3. Because it is disconnected as a graph
  4. Because both rails converge to the ladder's single end, closing a circle through it
Answer: D. A topological spanning tree must contain no circle in \(|G|\), and here the top rail, the end, and the bottom rail back to the first rung form one. The subgraph does span every vertex and is connected, so options A and C describe the wrong defect.

The topological cycle space

With circles in hand we can rebuild the cycle space. Recall from Chapter 1 that the cycle space of a finite graph consists of all edge sets obtainable by adding cycles mod 2, addition being symmetric difference: an edge belongs to a sum when it belongs to an odd number of summands. To make infinite sums meaningful, only one restriction is needed: call a family of edge sets thin if no edge appears in infinitely many members; then each edge is voted on finitely often, and its membership in the thin sum is well defined. The topological cycle space \(\mathcal{C}(G)\) is the set of all thin sums of circuits, where circuits are edge sets of circles in \(|G|\) and may be infinite.[7]

Given a topological spanning tree \(T\), the finite theory's chord-and-cut duality carries over. Each chord \(e\) (an edge outside \(T\)) closes a unique circle, whose circuit is the fundamental circuit \(C_e\); each tree edge \(f\) splits \(T\) into two arc-components, and the edges between them form the fundamental cut \(D_f\). The pleasant surprise, courtesy of the Jumping Arc Lemma: every fundamental cut is finite, even though fundamental circuits may be infinite. That finiteness is exactly what makes the following characterization legal:

Theorem — three faces of the topological cycle space

For a connected locally finite graph \(G\) and an edge set \(D\), the following are equivalent: \(D \in \mathcal{C}(G)\); \(D\) meets every finite cut of \(G\) in an even number of edges; \(D\) is a thin sum of fundamental circuits of any fixed topological spanning tree.[7]

Three consequences round out the theory: \(\mathcal{C}(G)\) is generated by the finite circuits alone (every element is a thin sum of them); every element of \(\mathcal{C}(G)\) is a disjoint union of circuits; and \(\mathcal{C}(G)\) is closed under thin sums, so infinitely many legal additions never lead out of the space.[7] The middle statement is the hard one, proved by the limit technology of the next section, and it reconstructs even the wild circle from parity data alone.

Worked example

Let \(G\) be the 1-way ladder of Figure 8.9 and let \(D\) consist of both full rails plus the leftmost rung. Is \(D \in \mathcal{C}(G)\)? Yes, twice over. Directly: \(D\) is itself a circuit; its closure is the circle through the end that we saw in \(T_2\)'s closure. Via the parity test: any finite cut of the ladder that \(D\) meets is crossed by \(D\) an even number of times. For instance, the cut \(\{u_0u_1, v_0v_1\}\) separating the first column from the rest contains two edges of \(D\); the cut \(\{u_0v_0, u_0u_1\}\) around the single vertex \(u_0\) also contains two. (A single rung on its own is not a cut: removing it leaves the ladder connected.) And consistently with the "generated by finite circuits" corollary, \(D\) is also the thin sum of all the ladder's squares: each rung except the first appears in exactly two squares and cancels; each rail edge and the first rung appear in exactly one and survive.

A family of edge sets is called thin when:

  1. No edge lies in infinitely many members of the family
  2. Every member of the family is a finite edge set
  3. The family has only finitely many members
  4. The members of the family are pairwise disjoint
Answer: A. Thinness is what makes an infinite sum legal: each edge is voted on only finitely often, so "belongs to an odd number of summands" still decides its membership. Options B and C would both rule out the infinite circuits that \(\mathcal{C}(G)\) exists to include.

Infinite graphs as limits of finite ones

The final section explains why the topological programme works so smoothly: the space \(|G|\) literally is a limit of finite graphs. The formal gadget is the inverse limit. Take a directed partially ordered set (any two elements have a common upper bound); attach to each element \(p\) a compact space \(X_p\); and for \(q\) above \(p\) give a continuous bonding map from \(X_q\) to \(X_p\), compatibly. The inverse limit \(\varprojlim (X_p)\) is the set of all consistent choices of one point from every \(X_p\), where "consistent" means the bonding maps carry each choice to the next. A fundamental lemma says: an inverse limit of non-empty compact spaces is non-empty and compact. König's Infinity Lemma is precisely the special case of finite sets indexed by \(\mathbb{N}\), so this section is compactness coming full circle.[8]

For a graph \(G\), the finite views are its contractions: for each partition \(p\) of \(V(G)\) into finitely many classes with only finitely many edges between different classes, collapse each class to a single vertex, getting a finite multigraph \(G/p\). Partitions refine one another, refinement makes the collection directed, and coarsening gives the bonding maps between the spaces \(|G/p|\). The inverse limit of all these finite views is denoted \(\|G\|\).

Theorem — the graph is the limit of its finite views

For every connected locally finite graph \(G\), the inverse limit \(\|G\|\) of the finite contractions \(|G/p|\) is homeomorphic to \(|G|\).[8]

In plain words: look at \(G\) through every possible finite lens at once; a point of the limit is a consistent answer to "where am I?" in every lens; and the space of all such answers is exactly the graph with its ends. Vertices and edge points are the answers that stabilize; ends are the answers that keep naming a collapsed "dummy" class in every view, the nested branches converging to infinity. Nothing about \(|G|\) is invented and nothing is lost.

The practical dividend is the lifting lemma: compatible objects in the finite views induce an object in the limit. Compatible families of finite paths yield arcs; compatible families of finite cycles yield circles; and compatible families of Hamilton cycles in the contractions yield a Hamilton circle: a circle in \(|G|\) through every vertex, and hence through every end. The two-way ladder shows the concept: its two outer double rays together with its two ends form a circle through all its vertices.[8] Hamilton circles are the infinite reading of the Hamilton cycles studied in Chapter 10, and extending classical Hamiltonicity theorems to them is an active research frontier.

Where does the chapter leave us? With a working toolkit (Zorn, transfinite induction, compactness), a new geography (ends, thick and thin), one extraordinary object (the Rado graph, which returns as the countable random graph in Chapter 11), a hard-won philosophy (replace counting by structure, as in the Aharoni–Berger theorem), and a topological completion \(|G|\) in which the finite theory's broken theorems are whole again. The infinity lemma will be back at work in Chapter 9 on Ramsey theory, and the study of ends deepens into the theory of tangles in Chapter 12.

Inside the limit \(\|G\| = \varprojlim |G/p|\), how does a point that is an end differ from a point that is a vertex?

  1. A vertex always names a collapsed class, while an end settles on one vertex
  2. A vertex's answers settle on that vertex, while an end keeps naming a collapsed class
  3. Ends have no answer in the finite views at all
  4. Ends occur only in views with infinitely many classes
Answer: B. A point of the limit is a consistent answer to "where am I?" in every finite view; for a vertex the answer stabilizes once the views separate it, while an end forever names the collapsed dummy class holding the branch that runs to infinity. Option A has the two cases the wrong way round.

Check your understanding

In this chapter, what does \(\Omega(G)\) denote?

  1. The set of odd-degree vertices of \(G\)
  2. The set of rays of \(G\)
  3. The set of ends of \(G\)
  4. The largest complete subgraph of \(G\)
Answer: C. \(\Omega(G)\) is the set of ends, the equivalence classes of rays; a graph with its ends is written \(G = (V, E, \Omega)\). Individual rays are not ends (option B confuses the class with its members), and the lowercase \(\omega(G)\) used elsewhere in the book for the clique number is a different symbol.

What is \(K^{\aleph_0}\)?

  1. The complete graph on countably infinitely many vertices
  2. A cycle of infinite length
  3. The complete bipartite graph with parts of size \(\aleph_0\)
  4. The binary tree
Answer: A. \(\aleph_0\) is the cardinality of \(\mathbb{N}\), so \(K^{\aleph_0}\) is the complete graph whose vertex set is countably infinite: every pair of its vertices is joined by an edge. The superscript is Diestel's notation for complete graphs; many other books write \(K_n\).

A graph is locally finite when:

  1. It has finitely many vertices
  2. It contains no ray
  3. Every component is finite
  4. Every vertex has finite degree
Answer: D. Local finiteness restricts each vertex's neighbourhood, not the size of the graph: the ray and the infinite grid are infinite, connected, and locally finite. Option A describes finite graphs, and options B and C describe entirely different conditions.

How many ends does the two-way infinite ladder have, and how many does the \(\mathbb{N} \times \mathbb{N}\) grid have?

  1. Ladder 2, grid 1
  2. Ladder 1, grid 1
  3. Ladder 2, grid infinitely many
  4. Ladder infinitely many, grid 1
Answer: A. Every ray in the ladder eventually escapes left or right, and a finite deletion (both endpoints of one rung) separates the two directions, so there are exactly two classes. In the grid, deleting any finite vertex set leaves a single infinite component, so all rays are equivalent: one end, and a thick one.

König's Infinity Lemma assumes the level sets \(V_0, V_1, \ldots\) are non-empty and finite, and that every vertex in \(V_n\) (\(n \geq 1\)) has a neighbour in \(V_{n-1}\). What does it conclude?

  1. The graph has a vertex of infinite degree
  2. There is a ray \(v_0 v_1 v_2 \ldots\) with \(v_n \in V_n\) for all \(n\)
  3. Every level contains a vertex of the same colour
  4. The graph is connected
Answer: B. The lemma threads one infinite path through all the levels, by repeatedly applying the pigeonhole principle to the finitely many choices per level. Finiteness of the levels is essential: with even one infinite level the conclusion can fail.

Which statement about the ends of the binary tree \(T_2\) is correct?

  1. \(T_2\) has countably many ends, one per vertex
  2. \(T_2\) has exactly two ends
  3. \(T_2\) has continuum many ends, one per infinite 0–1 sequence
  4. \(T_2\) has no ends, because it is a tree
Answer: C. Rays from the root correspond exactly to infinite 0–1 sequences, and in a tree two rays are equivalent only if they share a tail, so distinct sequences give distinct ends. A countable, locally finite graph can thus have uncountably many points at infinity, which is why option A undercounts so badly.

The Aharoni–Berger theorem (formerly the Erdős–Menger conjecture) states that any graph \(G\) with vertex sets \(A, B\) contains:

  1. As many disjoint \(A\)–\(B\) paths as the cardinality of a smallest separator
  2. An \(A\)–\(B\) separator smaller than every system of disjoint paths
  3. Infinitely many disjoint \(A\)–\(B\) paths whenever \(A\) and \(B\) are infinite
  4. A set of disjoint \(A\)–\(B\) paths together with an \(A\)–\(B\) separator consisting of exactly one vertex from each of those paths
Answer: D. For infinite graphs the cardinality comparison of option A is trivially satisfiable and says nothing; the correct strong form demands a separator lying on the path system, one vertex per path. For finite graphs this is equivalent to Menger's theorem from Chapter 3.

Why is the "cardinality version" of Menger's theorem (smallest separator size equals largest number of disjoint paths) considered trivial and unsatisfying when the separator is infinite?

  1. Because infinite graphs have no separators
  2. Because a maximal set \(\mathcal{P}\) of disjoint \(A\)–\(B\) paths always exists, and the union of its paths is itself a separator with the same cardinality as \(\mathcal{P}\)
  3. Because Menger's theorem is false for all infinite graphs
  4. Because separators in infinite graphs are always finite
Answer: B. Any maximal disjoint path system's union separates \(A\) from \(B\) (otherwise another path could be added), and by cardinal arithmetic that union is no larger in cardinality than the number of paths. The numerical equality therefore holds for silly reasons while wasteful separators go undetected, which is exactly what motivated Erdős's structural reformulation.

A graph \(G\) contains \(k\) pairwise disjoint rays for every natural number \(k\), all belonging to one end \(\omega\). Which of the following does the chapter let you conclude?

  1. \(\omega\) is a thin end
  2. \(G\) has exactly one end
  3. \(G\) has a Hamilton circle
  4. \(G\) contains infinitely many disjoint rays, \(\omega\) is thick, and \(G\) contains a subdivision of the hexagonal quarter grid \(H^\infty\) with all its rays in \(\omega\)
Answer: D. Halin's ubiquity theorem upgrades "arbitrarily many disjoint rays" to "infinitely many," so \(\omega\) has infinite vertex-degree and is thick, and Halin's grid theorem then produces the \(TH^\infty\) with all rays in \(\omega\). Nothing here forces the graph to have only one end or to admit a Hamilton circle.

Let \(G\) be the 1-way infinite ladder (two rails, with a rung at every step), and let \(D\) be the edge set consisting of both full rails plus the leftmost rung only. Is \(D\) in the topological cycle space \(\mathcal{C}(G)\), and why?

  1. No: \(D\) is infinite, and cycle spaces contain only finite edge sets
  2. No: \(D\) meets the leftmost rung, which is a cut, an odd number of times
  3. Yes: \(D\) is the circuit of a circle (the two rails converge to the ladder's unique end and close up through it with the leftmost rung), and it meets every finite cut of \(G\) in an even number of edges
  4. Yes, but only as a thin sum of infinitely many other infinite circuits
Answer: C. The closure of \(D\) is a homeomorphic image of the round circle passing through the end, so \(D\) is a circuit and belongs to \(\mathcal{C}(G)\); equivalently, it passes the finite-cut parity test. Option B fails because a single rung is not a cut of the ladder (removing it leaves the graph connected). Regarding option D: \(D\) is indeed also the thin sum of all the ladder's finite squares, but it belongs to \(\mathcal{C}(G)\) directly as a circuit, so "only" is wrong.

Sources and further reading

  1. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §8.1 (basic notions, König's Infinity Lemma, the de Bruijn–Erdős theorem, the unfriendly partition conjecture, ends).
  2. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §8.2 (the Star–Comb Lemma, normal spanning trees and Jung's theorem, Halin's ray theorem, ubiquity, Halin's grid theorem).
  3. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §8.3 (universal and homogeneous graphs, the Erdős–Rényi theorem on the Rado graph, the Lachlan–Woodrow classification, the Diestel–Kühn universal planar graph).
  4. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §8.4 (Laviolette's decomposition, the Nash-Williams cycle decomposition theorem, the Aharoni–Berger theorem and waves, Cantor–Bernstein, Pym, Aharoni's König duality, the infinite marriage theorem, Steffens's and Aharoni's 1-factor theorems).
  5. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §8.5 (recursively prunable trees, the rank of rayless graphs, unfriendly partitions of countable rayless graphs).
  6. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §8.6 (the space \(|G|\), compactness and metrizability, the Jumping Arc Lemma, arcs, circles, topological spanning trees, the topological tree packing theorem).
  7. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §8.7 (thin sums, fundamental circuits and cuts, the topological cycle space and its characterizations).
  8. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), §8.8 and the Chapter 8 notes (inverse limits, the homeomorphism \(\|G\| \cong |G|\), the lifting lemma, Hamilton circles; historical notes on Freudenthal, Hopf, ends of groups, and boundaries induced by edge lengths).
  9. R. Diestel, Graph Theory, 6th ed., Springer GTM 173 (2024), Appendix A (Zorn's lemma, ordinals and transfinite induction, cardinals, the compactness principle).
  10. P. Erdős, A. Rényi, "On the Evolution of Random Graphs," Publications of the Mathematical Institute of the Hungarian Academy of Sciences 5 (1960), pp. 17–61. Rényi Institute archive.