A short proof of the middle levels theorem

Consider the graph that has as vertices all bitstrings of length $2n+1$ with exactly $n$ or $n+1$ entries equal to 1, and an edge between any two bitstrings that differ in exactly one bit. The well-known middle levels conjecture asserts that this graph has a Hamilton cycle for any $n\geq 1$. In this paper we present a new proof of this conjecture, which is much shorter and more accessible than the original proof.


Introduction
The question whether a graph has a Hamilton cycle or not is one of the oldest and most fundamental problems in graph theory, with a wide range of practical applications. Hamilton cycles are named after the Irish mathematician Sir William Rowan Hamilton, who lived in the 19th century and who invented a puzzle that consists of finding such a cycle in the graph of the dodecahedron. There are plenty of other families of highly symmetric graphs for which the existence of Hamilton cycles is a notoriously hard problem. Consider e.g. the graph G n that has as vertices all bitstrings of length 2n + 1 with exactly n or n + 1 entries equal to 1, and an edge between any two bitstrings that differ in exactly one bit. The graph G n is a subgraph of the (2n + 1)-dimensional hypercube, or equivalently, of the cover graph of the lattice of subsets of a (2n + 1)-element ground set ordered by inclusion. The well-known middle levels conjecture asserts that G n has a Hamilton cycle for every n ≥ 1. This conjecture is a special case of Lovász' conjecture on the Hamiltonicity of connected vertex-transitive graphs [Lov70], which can be considered the most far-ranging generalization of Hamilton's original puzzle. The middle levels conjecture was raised in the 80s [Hav83,BW84], and has been attributed to Erdős, Trotter and various others [KT88]. It also appears in the popular books [Win04,Knu11,DG12] and in Gowers' recent expository paper [Gow17]. This seemingly innocent problem has attracted considerable attention over the last 30 years (see e.g. [Sav93,FT95,SW95,DKS94,Joh04]), and a positive solution has been announced only recently.
Theorem 1 ( [Müt16]). For any n ≥ 1, the graph G n has a Hamilton cycle.
The proof of Theorem 1 given in [Müt16] is long and technical (40 pages), so the main purpose of this paper is to give a shorter and more accessible proof. This is achieved by combining ingredients developed in [MSW17] with new ideas that allow us to avoid most of the technical obstacles in the original proof. The new construction also yields the stronger result from [Müt16] that the graph G n has at least 1 4 2 2 (n+1)/4 = 2 2 Ω(n) different Hamilton cycles. It also greatly simplifies the constanttime algorithm from [MN17] to generate each bitstring of the corresponding Hamilton cycle and several generalizations of it presented in [GM17]. Since its first proof, Theorem 1 has been used as an induction basis to prove several far-ranging generalizations, in particular Hamiltonicity of the bipartite Kneser graphs [MS15], so our new proof also shortens this chain of arguments considerably. Moreover, in two subsequent papers we apply the techniques developed here to resolve the case k = 1 of a generalized version of the middle levels conjecture where the vertex set of the underlying graph are all bitstrings with exactly w many 1s with w ∈ {n − k, . . . , n + 1 + k} (the case k = 0 is the original conjecture), and to prove that the sparsest Kneser graphs K(2n + 1, n), also known as odd graphs, have a Hamilton cycle for any n ≥ 3, settling an old conjecture from the 70s.
We start right away by giving an explicit description of a Hamilton cycle in the graph G n . The construction proceeds in two steps: We first define a 2-factor in G n , i.e., a collection of disjoint cycles which together visit all vertices of the graph. We then modify this 2-factor locally to join the cycles to a single cycle.
1.1. Description of the Hamilton cycle. Specifically, the 2-factor C n is defined as the union of two edge-disjoint perfect matchings in G n , namely the (n − 1)-lexical and the n-lexical matching introduced in [KT88], which will be defined later. The modification operation consists in taking the symmetric difference of C n with a carefully chosen set of edge-disjoint 6-cycles. Each 6-cycle used has the following properties: it shares two non-incident edges with one cycle C from the 2-factor C n , and one edge with a second cycle C from the 2-factor, such that taking the symmetric difference between the edge sets of C, C and the 6-cycle joins C and C to one cycle, see Figure 3. Note that every 6-cycle in G n can be described uniquely as a string x of length 2n + 1 over {0, 1, * } with n − 1 many 1s, n − 1 many 0s and three * s. The 6-cycle corresponding to this string x is obtained by substituting the three * s by all six combinations of symbols from {0, 1} that use each symbol at least once. We let D i for i ≥ 0 denote the set of all bitstrings of length 2i with exactly i many 1s with the property that in every prefix, the number of 1s is at least as large as the number of 0s, and we define D := i≥0 D i as the set of all such Dyck words. Let S n denote the set of all 6-cycles in G n encoded by strings of length 2n + 1 for some d ≥ 0 and u 1 , . . . , u d , v 0 , . . . , v d , w ∈ D. We later prove that the 6-cycles from S n are pairwise edge-disjoint and that this set contains a subset T n ⊆ S n such that the symmetric difference of the edge sets C n T n is a Hamilton cycle in G n .
1.2. Proof outline. After setting up some important definitions in Section 2, our proof of Theorem 1 proceeds as follows: We first establish crucial properties about the 2-factor C n and about the set of 6-cycles S n in Sections 3 and 4, captured in Propositions 2 and 3, respectively. In Section 5 we combine these properties into the final proof.

Preliminaries
Bitstrings and Dyck paths. Recall the definition of D n from before. We define the set D − n similarly, but we require that in exactly one prefix, the number of 1s is strictly smaller than the number of 0s. We often interpret a bitstring x in D n as a Dyck path in the integer lattice Z 2 that starts at the origin and that consists of n upsteps and n downsteps that change the current coordinate by (+1, +1) or (+1, −1), respectively, corresponding to 1s or 0s in x, see Figure 2. By the prefix property, the corresponding lattice path never moves below the abscissa. Similarly, the lattice paths corresponding to D − n move below the abscissa exactly once. We refer to a subpath of x from the set D as a hill in x. Any bitstring x ∈ D n can be written uniquely as x = (1, u, 0, v) with u, v ∈ D. We refer to this as the canonic decomposition of x. For any bitstring x, rev(x) denotes the reversed and complemented bitstring. In terms of Dyck paths, rev(x) is obtained by mirroring x at a vertical line. For a set of bitstrings X and a bitstring x, we write X • x for the set obtained by concatenating each bitstring from X with x. The length of a sequence x is denoted by |x|.
Rooted trees and plane trees. An (ordered) rooted tree is a tree with a specified root vertex, and the children of each vertex have a specified left-to-right ordering. We think of a rooted tree as pull rotation C n Figure 1. Cycle structure of the 2-factor C n and auxiliary graph H n (before contraction of cycles into single vertices) for n = 4.
a tree embedded in the plane with the root on top, with downward edges leading from any vertex to its children, and the children appear in the specified left-to-right ordering. A rotation operation moves the root to the leftmost child of the root, yielding another rooted tree, see Figure 1. Using a standard Catalan bijection, every Dyck path x ∈ D n can be interpreted as a rooted tree with n edges, see [Sta15] and Figure 2. Plane trees are obtained as equivalence classes of rooted trees under rotation, so they have no root, but a cyclic ordering of all neighbors at each vertex.
Lexical matchings. We recap the definition of the (n − 1)-lexical and n-lexical matchings in G n from [KT88]. We denote the two matchings as bijections M, N : B n → B n , where B n and B n are the sets of bitstrings of length 2n + 1 with exactly n or n + 1 many 1s, respectively. These sets are the two partition classes of the bipartite graph G n . Given x ∈ B n , we sort all prefixes of x ending in 0 in decreasing order according to the surplus of 0s compared to 1s, breaking ties by sorting according to increasing lengths of the prefixes, yielding a total order on all these prefixes. Then M (x) is obtained by flipping the last bit of the second prefix in this total order, and N (x) is obtained by flipping the last bit of the first prefix in this total order. E.g., for x = 1101000 the prefixes are ordered 1101000, 110100, 110, 11010, so M (x) = 1101010 and N (x) = 1101001. Clearly, It is also easy to check that M and N are bijections. In fact, M −1 and N −1 are obtained by considering prefixes ending in 1 and by changing only the secondary criterion in the above definition of a total order by sorting according to decreasing (instead of increasing) lengths of the prefixes. It follows that M and N are edge-disjoint perfect matchings in G n , and their union is our 2-factor C n = M ∪ N .

Properties of the 2-factor
Proposition 2 below states all relevant properties of the 2-factor C n that we use. In particular, it gives an explicit description of the bitflip sequences that are encountered when following each cycle from our 2-factor C n . These sequences can be described nicely in terms of vertices of the form (x, 0) where x ∈ D n . Specifically, we define for any x ∈ D n a bitflip sequence σ(x) as follows: We consider the canonic decomposition x = (1, u, 0, v) and define a := 1, b := |u| + 2 and where σ a (x ) is defined for any substring x ∈ D of x starting at position a in x by considering the canonic decomposition x = (1, u , 0, v ), by defining b := a + |u | + 1 and by recursively computing Note that in these definitions, a and b are the positions of the first and last bit, respectively, of the substrings (1, u, 0) and (1, u , 0) in x. We denote by P σ (x) the sequence of vertices in the 2ncube obtained by starting at the vertex x and flipping bits one after the other at the positions in the sequence σ(x). We will prove in Proposition 2 that P σ (x) • 0 is in fact a path in the middle levels graph G n . E.g., if x = 110100, then we have σ(x) = (6, 1, 3, 2, 1, 3, 5, 4, 3, 5), so P σ (x) = (110100, 110101, 010101, 011101, 001101, . . . , 101001).
This definition has a straightforward interpretation in terms of Dyck paths. In (2a), we consider the first hill (1, u, 0) of the Dyck path x, first flip its last step (position b), then its first step (position a), and then recursively steps inside the hill. In (2b), we consider the first hill (1, u , 0) of the Dyck path x , first flip its last step (position b), then its first step (position a), then recursively steps inside the hill, then the step to the left of the first step (position a − 1), then the last step again (position b), and finally we recurse into the remaining part v .
Proposition 2. For any n ≥ 1, the 2-factor C n defined in Section 1.1 has the following properties: (i) Removing from C n the edges that flip the last bit yields two sets of paths P n • 0 and rev(P n ) • 1.
(ii) Each path from P n starts at a vertex from D n and ends at a vertex from D − n . The sets of all first and last vertices are D n and D − n , respectively. (iii) For any path P ∈ P n and its first vertex x ∈ D n we have P = P σ (x) with σ defined in (2). (iv) For any path P ∈ P n , consider its first vertex x ∈ D n and last vertex y ∈ D − n . If x = (1, u, 0, v) is the canonic decomposition of x, then we have y = (u, 0, 1, v). Moreover, the distance between x and y along P is 2|u| + 2.
(v) For any cycle C ∈ C n , consider two consecutive vertices of the form (x, 0), (y, 0), x, y ∈ D n . If x = (1, u, 0, v) is the canonic decomposition of x, then we have y = (u, 1, v, 0). In terms of rooted trees, y is obtained from x by a rotation operation. Moreover, the distance between (x, 0) and (y, 0) along C is 4n + 2. (vi) The set of cycles of C n is in bijection with the set of plane trees with n edges.
The interpretation of the cycles of C n in terms of rooted trees is illustrated in Figure 1 (ignore the solid arrows for the moment).
Proof. To prove (i), let C − n denote the spanning subgraph of G n obtained from C n by removing the edges that flip the last bit. As C n is a union of cycles, C − n is a union of paths P n •0, P n •1 and possibly some cycles R n • 0, R n • 1. Consider the automorphism f (x 1 , . . . , x 2n+1 ) := (rev(x 1 , . . . , x 2n ), x 2n+1 ) of the graph G n . It is easy to check that f (M ) = M and f (N ) = N , implying that P n = rev(P n ) and R n = rev(R n ), so we have This almost proves (i). The only thing left to verify is that R n = ∅, which will be done later.
To prove (ii)-(iv), consider an end vertex x of a path from P n . It corresponds to a vertex (x, 0) ∈ B n such that either M or N flips the last bit of (x, 0). By the definition of M and N , this happens if and only if x ∈ D − n or x ∈ D n , respectively. Consequently, the end vertices of P n are given by D n ∪ D − n . Now consider a path P ∈ P n with end vertex x ∈ D n , and let x = (1, u, 0, v) be the canonic decomposition of x. We now show that P = P σ (x). Note that every recursion step in the definition (2) corresponds to a pair of indices 1 ≤ a < b ≤ |u| + 2 in x such that (x a , . . . , x b ) = (1, w , 0) with w ∈ D. We refer to such a pair (a, b) as a base pair of x. For any such base pair (a, b), we can partition x uniquely as x = (1, u 1 , 1, u 2 , . . . , 1, u d , 1, w , 0, with d ≥ 0 and u 1 , . . . , u d , v 1 , . . . , v d ∈ D, see Figure 2. Note that a = 1 + d i=1 (1 + |u i |) and b = a + |w | + 1. Let x and x denote the entries of the sequence P σ (x) at positions 2a − 1 and 2b − 1, respectively. These are well-defined vertices as σ(x) has length 2|u| + 2 by the definition (2) and a < b ≤ |u| + 2. Using the definition (2), a straightforward computation shows that for any base pair (a , b ) and the corresponding substring (1, u , 0) ∈ D of x, applying the bitflips in σ(x) to this substring, every bit x i followed by x i+1 = x i is flipped twice, whereas every bit x i followed by x i+1 = x i is flipped once or three times, depending on whether x i = 1 or x i = 0, respectively. This effectively shifts the bitstring to the left, yielding (u , 0, x b +1 ). Using this observation, the vertices x and x can be computed from (4) as By (2a) and (2b), the next two bits flipped after x are at positions b and a. Using (5a) and the definition of the mappings M and N −1 , these are exactly the two bits flipped along the edge from M that starts at (x , 0) ∈ B n and along the edge from N that starts at M (x , 0) ∈ B n , respectively. Similarly, if b < |u| + 2, then by (2b), the next two bits flipped after x are at positions a − 1 and b. Using (5b) and the definition of M and N −1 , these are exactly the two bits flipped along the edge from M that starts at (x , 0) ∈ B n and along the edge from N that starts at M (x , 0) ∈ B n , respectively. As this argument holds for all base pairs (a, b) of x, we obtain P = P σ (x), proving (iii). Applying (5b) for the base pair (a, b) = (1, |u| + 2) of x (in this case d = 0 and w = u), the last vertex y reached on the path P = P σ (x) is y = (u, 0, 1, v) ∈ D − n . This proves (ii). Recall that |σ(x)| = 2|u| + 2, so the distance between x and y along P is 2|u| + 2, proving (iv).
To prove (v), consider a path P ∈ P n with first vertex x = (1, u, 0, v) ∈ D n , where u, v ∈ D, and last vertex y := (u, 0, 1, v) ∈ D − n . We consider the cycle C ∈ C n containing the path P • 0 and continue to follow this cycle. The next edge of C after traversing P • 0 flips the last bit, so from (y , 0) we reach the vertex (y , 1). By (3), the path traversed by C until the last bit is flipped again is rev(P ) • 1 for some P ∈ P n . As the last vertex of P is rev(y ) = (rev(v), 0, 1, rev(u)) ∈ D − n , its first vertex is x := (1, rev(v), 0, rev(u)) ∈ D n by (iv). As the path rev(P ) • 1 is traversed backwards by C, the next vertex on C after traversing rev(P ) • 1 is (y, 0) with y := rev(x ) = (u, 1, v, 0) ∈ D n . The distance between (x, 0) and (y, 0) along C is (2|u| + 2) + (2|v| + 2) + 2 by (iv), which equals 2(|u| + |v| + 2) + 2 = 4n + 2. This almost proves (v), assuming that R n = ∅ in (3). However, the total number of vertices visited by the paths P n • 0 and rev(P n ) • 1 is (4n + 2)|D n |. As the cardinality of D n is given by the n-th Catalan number [Sta15], this quantity equals 2 2n+1 n , the total number of vertices of G n . It follows that R n = ∅ in (3), completing the proofs of (i) and (v). Claim (vi) is an immediate consequence of (ii), (v), and the definition of plane trees.
for some d ≥ 0 and u 1 , . . . , u d , v 0 , . . . , v d , w ∈ D. In terms of rooted trees, the tree y is obtained from x by moving a pending edge from a vertex in the left subtree to its predecessor, see Figure 2. We refer to (1, 1, 0, w, 0) and (1, 0, 1, w, 0) as flippable substrings of x and y corresponding to this flippable pair. The corresponding subpaths are highlighted with gray boxes in the figure. Note that a bitstring x may appear in multiple flippable pairs, as it may contain multiple flippable substrings.
Clearly, the set of 6-cycles S n defined in Section 1.1 is given by considering all flippable pairs (x, y), x, y ∈ D n , as in (6), by defining and by taking the union of all 6-cycles C 6 (x, y) • 0. Note here that (1) and (7) differ only in the additional 0-bit in the end. In particular, all 6-cycles S n that we use to join the cycles in the 2-factor C n belong to the subgraph of G n given by all vertices whose last bit equals 0.
Proposition 3. For any n ≥ 1, the 6-cycles C 6 (x, y) defined in (7) have the following properties: (i) Let (x, y) be a flippable pair. The symmetric difference of the edge sets of the two paths P σ (x) and P σ (y) with the 6-cycle C 6 (x, y) gives two paths P (x) and P (y) on the same set of vertices as P σ (x) and P σ (y), interconnecting x with the last vertex of P σ (y), and y with the last vertex of P σ (x), respectively. (ii) Let (x, y) be a flippable pair and let a be the starting position of the corresponding flippable substring in x. The 6-cycle C 6 (x, y) intersects P σ (x) in the (2a − 1)-th and the (2a + 4)-th edge, and it intersects P σ (y) in the (2a − 1)-th edge. (iii) For any flippable pairs (x, y) and (x , y ), the 6-cycles C 6 (x, y) and C 6 (x , y ) are edge-disjoint. (iv) For any flippable pairs (x, y) and (x, y ), the two pairs of edges that the two 6-cycles C 6 (x, y) and C 6 (x, y ) have in common with the path P σ (x) are not interleaved, but one pair appears before the other pair along the path.
Informally, the first property asserts that a 6-cycle from S n can be used to join two cycles from the 2-factor C n to a single cycle. The last two properties ensure that no two 6-cycles interfere with each other when iterating this joining operation.
Comparing (7) and (9) shows that these vertices belong to the 6-cycle C 6 (x, y). From (8a) we observe that the 6-cycle C 6 (x, y) is then traversed as depicted in Figure 3. In particular, x and y are the first vertices from the paths P σ (x) and P σ (y) hitting the 6-cycle. By taking the symmetric difference of these edge sets, we obtain paths P (x) and P (y) on the same vertex set as P σ (x) and P σ (y) with flipped end vertices. Formally, P (x) and P (y) are obtained by starting at x and y and flipping bits according to the modified bitflip sequences τ (x) := (α, a + 2, a, δ) , τ (y) := (α, b, a, a + 1, a + 2, a, a + 1, γ) , respectively. This proves (i).
Recall from the previous argument that the distance between x and x along the path P σ (x) is |α| = 2a − 2, and the same holds for the distance between y and y along the path P σ (y). The 6-cycle C 6 (x, y) intersects P σ (x) in the next edge after x and in the edge that is five edges further away, and it intersects P σ (y) in the next edge after y . Combining these facts proves (ii).
To prove (iii), consider two 6-cycles C 6 (x, y) and C 6 (x , y ). Instead of comparing them directly, we consider how they intersect a fixed path P σ (z) with z ∈ {x, y} ∩ {x , y }. This is possible because all edges of these 6-cycles either lie on such a path or they go between two such paths. Consider the two flippable substrings of z corresponding to C 6 (x, y) and C 6 (x , y ) starting at positions a and a in z, respectively. We assume w.l.o.g. that a ≥ a + 1.
We first consider the case z = y and z ∈ {x , y }. By (ii) we know that the 6-cycle C 6 (x, y) intersects the path P σ (y) in the edge 2a − 1. However, we also have 2a − 1 ≥ 2(a + 1) − 1 = 2a + 1, so the edge(s) that the cycle C 6 (x , y ) has in common with P σ (y) are separated by at least one edge along the path, proving that the two 6-cycles do not share any vertices on this path.
We now consider the case z = x and z ∈ {x , y }. By (ii) we know that the 6-cycle C 6 (x, y) intersects the path P σ (x) in the edges 2a−1 and 2a+4. If a ≥ a+4, then we have 2a −1 ≥ 2(a+4)−1 = 2a+7, so the edges that the cycle C 6 (x , y ) has in common with P σ (x) are separated by at least two edges along the path, proving that the two 6-cycles do not share any vertices on this path. It remains to consider the subcases a ∈ {a + 1, a + 2, a + 3}. The case a = a + 2 can be excluded, because this would mean that x has a 0-bit at position a + 2 and x has a 1-bit at position a = a + 2 by (6), which is a contradiction. If a = a + 1, then since x has a 0-bit at position a + 2, it follows from (6) that y = x and that the flippable substring of x corresponding to (x, y) has the form (1, 1, 0, w, 0) = (1, 1, 0, 1, w , 0, 0). Consequently, by (ii) C 6 (x , y ) intersects the path P σ (x) in the edge 2a − 1 = 2(a + 1) − 1 = 2a + 1, which is separated by at least one edge from both edges 2a − 1 and 2a + 4, so the two 6-cycles do not share any vertices on this path. If a = a + 3, then either of the two cases x = x or y = x can occur, and in both cases the cycle C 6 (x , y ) intersects P σ (x) in the edge 2a − 1 = 2(a + 3) − 1 = 2a + 5, and if x = x also in another edge with larger number (which is safe for sure). The edge 2a + 5 is different from the edge 2a + 4 on P σ (x), but both share an end vertex, so the other two edges of the 6-cycles C 6 (x, y) and C 6 (x , y ) starting at this vertex and not belonging to P σ (x) could be identical. However, this is not the case as the corresponding edge from C 6 (x, y) leads back to P σ (x), whereas the corresponding edge from C 6 (x , y ) leads to P σ (y ) if This completes the proof of (iii).
The previous analysis in the last case where z = x = x also proves (iv).

Proof of Theorem 1
With Propositions 2 and 3 in hand, we are now ready to prove Theorem 1.
Proof of Theorem 1. Let C n and S n be the 2-factor and the set of 6-cycles defined in Section 1.1.
Consider two different cycles C, C ∈ C n containing paths P •0 ⊆ C and P •0 ⊆ C , where P, P ∈ P n , with first vertices x, y ∈ D n , respectively, such that (x, y) is a flippable pair. By Proposition 3 (i), the symmetric difference of the edge sets (C ∪ C ) (C 6 (x, y) • 0) forms a single cycle on the same vertex set as C ∪ C , i.e., this joining operation reduces the number of cycles in the 2-factor by one, see Figure 3. Recall from (6) that in terms of rooted trees, the tree y is obtained from x by moving a pending edge from a vertex in the left subtree to its predecessor. We refer to this as a pull operation, see Figure 2.
We repeat this joining operation until all cycles in the 2-factor are joined to a single Hamilton cycle. For this purpose we define an auxiliary graph H n whose nodes represent the cycles in the 2-factor C n and whose edges connect pairs of cycles that can be connected to a single cycle with such a joining operation that involves a 6-cycle from the set S n , see Figure 1. Formally, the node set of H n is given by partitioning the set of all rooted trees with n edges into equivalence classes under tree rotation. By Proposition 2 (v) and (vi), each cycle C of C n can be identified with one equivalence class under tree rotation, so the nodes of H n indeed correspond to the cycles in the 2-factor C n . Specifically, each rooted tree belonging to some node of H n equals the first vertex x ∈ D n of some path P ∈ P n such that P • 0 lies on the cycle corresponding to that node. For every flippable pair (x, y), x, y ∈ D n , we add the edge to H n that connects the node containing the tree x to the node containing the tree y. In Figure 1, those edges are drawn as solid arrows directed from x to y. By our initial argument, such a flippable pair yields a 6-cycle C 6 (x, y) that can be used in G n to join the two corresponding cycles to a single cycle. Note that H n may contain multiple edges or loops.
To complete the proof, it therefore suffices to prove that the graph H n is connected. Indeed, if H n is connected, then we can pick a spanning tree in H n , corresponding to a collection of 6-cycles T n ⊆ S n , such that the symmetric difference between the edge sets C n T n forms a Hamilton cycle in G n . Here we need properties (iii) and (iv) in Proposition 3, which ensure that whatever subset of 6-cycles we use in this joining process, they will not interfere with each other, guaranteeing that inserting each 6-cycle indeed reduces the number of cycles by one, as desired.
At this point we reduced the problem of proving that G n has a Hamilton cycle to showing that the auxiliary graph H n is connected, which is much easier. Indeed, all we need to show is that any rooted tree with n edges can be transformed into any other tree by a sequence of rotations and pulls, and their inverse operations. Recall that rotations correspond to following the same cycle from C n (staying at the same node in H n ), and a pull corresponds to a joining operation (traversing an edge in H n to another node). For this we show that any rooted tree x can be transformed into the special tree s := (1, 1, 0, 1, 0, . . . , 1, 0, 0) ∈ D n , i.e., a star with n rays rooted at a leaf, by a sequence of rotations and pulls. This can be achieved by rotating x until it is rooted at a leaf. Now the left subtree is the entire tree, so we can repeatedly pull pending edges towards the unique child of the root until we end up at the star s.
This completes the proof.