1 Introduction

Sparse Kneser graphs are Hamiltonian

Torsten Mütze Institut für Mathematik Technische Universität Berlin 10623 Berlin, Germany muetze@math.tu-berlin.de Jerri Nummenpalo Department of Computer Science ETH Zürich 8092 Zürich, Switzerland njerri@inf.ethz.ch

[7mm] Bartosz Walczak Department of Theoretical Computer Science Faculty of Mathematics and Computer Science Jagiellonian University 30-348 Kraków, Poland walczak@tcs.uj.edu.pl

Abstract. For integers and , the Kneser graph is the graph whose vertices are the -element subsets of and whose edges connect pairs of subsets that are disjoint. The Kneser graphs of the form are also known as the odd graphs. We settle an old problem due to Meredith, Lloyd, and Biggs from the 1970s, proving that for every , the odd graph has a Hamilton cycle. This and a known conditional result due to Johnson imply that all Kneser graphs of the form with and have a Hamilton cycle. We also prove that has at least distinct Hamilton cycles for . Our proofs are based on a reduction of the Hamiltonicity problem in the odd graph to the problem of finding a spanning tree in a suitably defined hypergraph on Dyck words.
Keywords: Hamilton cycle, Kneser graph, odd graph, vertex-transitive graph

## 1. Introduction

The question whether a given graph has a Hamilton cycle is one of the oldest and most fundamental problems in graph theory and computer science, shown to be NP-complete in Karp’s seminal paper [Kar72]. The problem originates from the 19th-century “Hamilton puzzle”, which involves finding a Hamilton cycle along the edges of a dodecahedron. Efficient methods of generating Hamilton cycles in highly symmetric graphs (in particular, so-called Gray codes) are particularly important from the point of view of practical applications [Sav97, Knu11]. Still, for various natural and extensively studied families of graphs, it is conjectured that a Hamilton cycle always exists, but finding one is a notoriously hard problem; see for instance [MN17, SW17]. In this paper, we focus on a well-known instance of this phenomenon—the so-called Kneser graphs.

### 1.1. Kneser graphs

For any two integers and , the Kneser graph has the -element subsets of as vertices and the pairs of those subsets that are disjoint as edges. These graphs were introduced by Lovász in his celebrated proof of Kneser’s conjecture [Lov78]. The proof uses topological methods to show that the chromatic number of is equal to . Lovász’s result initiated an exciting line of research [Bár78, Gre02, Zie02, Mat04] and gave rise to the nowadays flourishing field of topological combinatorics. Apart from the above, Kneser graphs have many other interesting properties. For instance, the maximum size of an independent set in is equal to , by the famous Erdős-Ko-Rado theorem [EKR61].

### 1.2. Hamilton cycles in Kneser graphs

As indicated before, it has long been conjectured that Kneser graphs have Hamilton cycles. Apart from one obvious exception, namely the Petersen graph shown in Figure 1, no other negative instances are apparent. Observe that Kneser graphs are vertex-transitive, that is, they look the same from the point of view of any vertex. This makes them an excellent test case for a famous and vastly more general conjecture due to Lovász [Lov70], which asserts that any connected and vertex-transitive graph has a Hamilton cycle, apart from the Petersen graph and four other exceptional instances.

We proceed by giving an account of the long history of finding Hamilton cycles in Kneser graphs. The degree of every vertex in is , so for fixed , increasing also increases the vertex degrees, which intuitively makes the task of finding a Hamilton cycle easier. The density is also witnessed by cliques of size , which are present for and absent for . The sparsest case, for which finding a Hamilton cycle is intuitively hardest, is when . The corresponding graphs , for , are known as odd graphs. They include the Petersen graph . The odd graphs and are illustrated in Figures 1 and 2, respectively. Note that all vertices in the odd graph have degree , which is only logarithmic in the number of vertices. The conjecture that the odd graph has a Hamilton cycle for every , originated in the 1970s, in papers by Meredith and Lloyd [ML72, ML73] and by Biggs [Big79]. A stronger version of the conjecture asserts that even has edge-disjoint Hamilton cycles. Already Balaban [Bal72] exhibited a Hamilton cycle for the cases and , and Meredith and Lloyd described one for and . Later, Mather [Mat76] also solved the case . With the help of computers, Shields and Savage [SS04] found Hamilton cycles in for all values of up to . They also found Hamilton cycles in for all and all with .

There is a long line of research devoted to proving that sufficiently dense Kneser graphs have a Hamilton cycle. Heinrich and Wallis [HW78] showed that has a Hamilton cycle if . This was improved by B. Chen and Lih [CL87], whose results imply that has a Hamilton cycle if , see [CI96]. In another breakthrough, Y. Chen [Che00] showed that is Hamiltonian when . A particularly nice and clean proof for the cases where , , was obtained by Y. Chen and Füredi [CF02]. Their proof uses Baranyai’s well-known partition theorem for complete hypergraphs [Bar75] to partition the vertices of into cliques of size . The asymptotically best result currently known, again due to Y. Chen [Che03], is that has a Hamilton cycle if .

Another line of attack towards proving Hamiltonicity is to find long cycles in . To this end, Johnson [Joh04] showed that there exists a constant such that the odd graph has a cycle that visits at least a -fraction of all vertices, which is almost all vertices as tends to infinity. This was generalized and improved in [MS16], where it was shown that has a cycle visiting a -fraction of all vertices. The last result implies that has a cycle visiting a -fraction of the vertices (e.g., the Petersen graph has a cycle that visits of its vertices).

A different relaxation of proving Hamiltonicity is to construct a cycle factor, that is, a collection of vertex-disjoint cycles that together cover all vertices of the graph. From this point of view, a Hamilton cycle is a cycle factor consisting of a single cycle. In this direction, Johnson and Kierstead [JK04] showed that the edges of can be partitioned into cycle factors for odd and into cycle factors and one matching for even . A different cycle factor in , which turns out to be crucial for our present result, was constructed in [MSW17]. It is shown in Figure 2 for the case .

### 1.3. Bipartite Kneser graphs

Bipartite Kneser graphs form another family of vertex-transitive graphs closely related to Kneser graphs. The bipartite Kneser graph has all -element and all -element subsets of as vertices and all pairs of these subsets such that one is contained in the other as edges. It has been a long-standing problem to show that has a Hamilton cycle. A detailed account of the historic developments is given in [MS16]. Also here, the sparsest case resisted all attacks for more than three decades, and the question whether has a Hamilton cycle became known as the middle levels conjecture. This conjecture has been recently solved affirmatively in [Müt16, GMN17], and the general case, the Hamiltonicity of , has been settled subsequently in [MS16]. Note that proving Hamiltonicity for the Kneser graph is arguably harder than for the bipartite Kneser graph . In particular, proving that the odd graphs are Hamiltonian is harder than the middle levels conjecture. Specifically, from a Hamilton cycle in , where , we can easily construct a Hamilton cycle or a Hamilton path in , as follows. Consider the sequences and , where . If is odd, then and together form a Hamilton cycle in . If is even, then and are two cycles in that can be joined to form a Hamilton path.

### 1.4. Our results

We prove that the odd graphs (except for the Petersen graph) contain Hamilton cycles. That is, we resolve the sparsest case of the conjecture on the Hamiltonicity of Kneser graphs in the affirmative.

###### Theorem 1.

For every integer , the odd graph has a Hamilton cycle.

Using the conditional results proved by Johnson [Joh11], Theorem 1 immediately yields the following more general statement.

###### Theorem 2.

For any integers and , the Kneser graph has a Hamilton cycle.

We also establish the following counting version of Theorem 1.

###### Theorem 3.

For every integer , the odd graph has at least distinct Hamilton cycles.

The double-exponential growth of the number of Hamilton cycles guaranteed by Theorem 3 is essentially best possible: since has vertices, the number of Hamilton cycles in is at most . Note also that applying automorphisms of to a a single Hamilton cycle yields at most distinct Hamilton cycles, substantially less than guaranteed by Theorem 3. In other words, Theorem 3 is not an immediate consequence of Theorem 1.

### 1.5. Gray code algorithms

Hamilton cycles in Kneser graphs and bipartite Kneser graphs are closely related to Gray codes. A combinatorial Gray code is the algorithmic problem of generating all objects in a combinatorial class, such as bitstrings, permutations, combinations, partitions, trees, or triangulations, etc., in some well-defined order. Gray codes have found widespread use in areas such as circuit testing, signal encoding, data compression, graphics, and image processing etc.—see the survey [Sav97] and the references therein. The ultimate goal for Gray code algorithms is to generate each new object from the previous one in constant time, which entails that consecutive objects may differ only by a constant amount. A Gray code thus corresponds to a Hamilton cycle in a graph whose vertices are the combinatorial objects and whose edges connect objects that differ only by such an elementary transformation. More than half of the most recent volume of Knuth’s seminal series The Art of Computer Programming [Knu11] is devoted to this fundamental subject. The two hardest Gray code problems mentioned in Knuth’s book (Problem 71 in Section 7.2.1.2 and Problem 56 in Section 7.2.1.3), including the middle levels conjecture, have been solved in the meantime, and efficient algorithms to generate these Gray code have been developed in [MN17] and [SW17]. Recall from Section 1.3 that Hamiltonicity of the odd graphs is arguably harder than the middle levels conjecture.

Our proof of Theorem 1 is constructive and translates straightforwardly into an algorithm to compute a Hamilton cycle in the odd graph in polynomial time (polynomial in the size of the graph, which is exponential in ). We can identify each -element subset of with a bitstring of length , where the th bit is set to if the element is contained in the set and it is set to otherwise; see Figure 1. A Hamilton cycle in the odd graph thus corresponds to a Gray code listing of all bitstrings of length with exactly many -bits, such that consecutive bitstrings differ in all but one position. It remains open whether our proof can be translated into a constant-time algorithm to generate this Gray code, that is, an algorithm that in each step computes the bit that is not flipped in constant time, using only memory space and polynomial initialization time. To avoid costly complementation operations, such an algorithm could maintain two bitstrings, one the complement of the other, along with a flag indicating which of the two bitstrings is the current one; then, in each step, only a single bit in both bitstrings and the flag would need to be flipped.

### 1.6. Proof idea

We construct a Hamilton cycle in the odd graph as follows; see Figure 2. We start with the cycle factor in the odd graph described in [MSW17]. It has the property that all of its cycles have the same length and the number of cycles is the th Catalan number. Furthermore, the cycles in can be identified with so-called Dyck words of length , that is, bitstrings of length with the property that every prefix has at least as many -bits as -bits. It is well known that the number of such Dyck words is equal to the th Catalan number [Sta99].

Given the cycle factor , we modify it locally to join its cycles into a single Hamilton cycle in . Each such modification involves cycles from the factor and a -cycle that shares exactly one edge with each of . Specifically, shares every second of its edges with one of the cycles, and every other edge of goes between two different cycles. Consequently, taking the symmetric difference of the edge set of with the edge sets of yields a single cycle on the vertex set of all . We call a cycle with this property a flipping cycle. In Figure 2, two flipping -cycles are highlighted with dashed and dotted lines. We perform this operation simultaneously with an appropriate set of mutually edge-disjoint flipping cycles so as to join all cycles in into a single cycle. Although the joining operation can work with flipping -cycles for any , we will use only -cycles () and -cycles (). We cannot use flipping -cycles (), because the odd graph has no -cycles at all.

This approach can be formalized as follows. We construct a hypergraph whose vertices are the Dyck words of length representing the cycles of the factor . Each -edge (-edge or -edge) of represents a flipping -cycle (-cycle or -cycle, respectively) that can be used to join cycles from as described before. In the example illustrated in Figure 2, the hypergraph consists of three hyperedges labelled , , and of cardinalities , , and , respectively. Here is the key insight about the hypergraph : in order to prove that the odd graph has a Hamilton cycle, it suffices to prove that the hypergraph has a spanning tree, that is, a connected and acyclic set of hyperedges. In such a spanning tree, any two hyperedges intersect in at most one element. For instance, the hypergraph in Figure 2 has a spanning tree . The hypergraph that we construct has the property that the flipping cycles represented by the hyperedges in any spanning tree are mutually edge-disjoint. Consequently, every spanning tree in corresponds to a collection of flipping cycles such that the symmetric difference of their edge sets and the edges of the cycles in results in a Hamilton cycle in the odd graph .

The proof of Theorem 3 exploits the degrees of freedom that are inherent in the construction above to provide double-exponentially many distinct spanning trees in , which give rise to double-exponentially many distinct Hamilton cycles in .

### 1.7. Outline of the paper

In Section 2, we introduce notation and terminology that will be used throughout this paper, and we recall the construction of the cycle factor given in [MSW17]. In Section 3, we describe how the cycles in are joined to form a Hamilton cycle in , and we present the proofs of Theorems 13. The proofs of some technical lemmas formulated in that section are deferred to Sections 4 and 5.

## 2. Preliminaries

### 2.1. Bitstrings and Dyck paths

A bitstring is a finite sequence of digits and called the bits of the bitstring. The empty bitstring is denoted by . The concatenation of two bitstrings and is denoted by . For every bitstring , we define and for . The length of a bitstring is denoted by . The complement of a bitstring , denoted by , is the bitstring obtained from by flipping every bit, that is, by replacing every -bit by a -bit and vice versa.

The weight of a bitstring is the number of -bits in . We let and denote the sets of bitstrings of length with weights and , respectively. We let denote the set of bitstrings of length with weight and with the property that in every prefix, the number of -bits is at least the number of -bits. We also define , and we call any bitstring in a Dyck word.

It is sometimes convenient to represent a Dyck word by a Dyck path of length in the integer lattice . Every -bit in the Dyck word is represented by an up-step, which changes the current coordinates by , and every -bit is represented by a down-step, which changes the current coordinates by ; see Figure 3. The prefix property from the definition of corresponds to the property that the lattice path never goes below the abscissa.

For a Dyck word , where , we define . That is, is the complement of the reverse of , which is itself a Dyck word in . For example, if , then . We call the operation mirroring. In terms of Dyck path representation, it corresponds to taking the mirror image with respect to the vertical line .

### 2.2. Graphs Gk and G+k

We use standard graph-theoretic terminology, where the edges of every graph that we consider are unordered pairs of vertices of the form . We define as the graph with vertex set and with edges that connect pairs of bitstrings that differ by exactly one bit. In other words, is the subgraph of the -dimensional hypercube induced by the bitstrings with weights and . We also define as the graph obtained from by adding all edges of the form where . This construction is illustrated on the right hand side of Figure 1, where the edges are highlighted in black. Observe that while the graph is bipartite, the graph is not.

###### Lemma 4.

For every , the graph is isomorphic to the odd graph .

###### Proof.

A natural isomorphism between and is obtained by mapping every to and every to and by interpreting the resulting bitstrings of length and weight as characteristic vectors of -element subsets of . It is straightforward to verify that this mapping preserves edges and non-edges. ∎

To prove Theorems 1 and 3, we will use Lemma 4 and construct Hamilton cycles in for all .

### 2.3. Cycle factor \cCk in G+k

A cycle factor in a graph is a collection of vertex-disjoint cycles that together cover all vertices of the graph. The cycle factor in , which we will define shortly, was introduced and analyzed in [MSW17]. The cycles in correspond to Dyck words in as follows. For every Dyck word , we define a permutation of the set . Then, we define a path in whose subsequent vertices are obtained by starting from and flipping the bits one by one at positions determined by the sequence , ending at . Finally, we add the edge to , obtaining a cycle in that becomes a member of .

We let denote the sequence of integers . We generalize this notation allowing to be itself an integer sequence—in that case, if , then is shorthand for . The empty integer sequence is denoted by . For an integer sequence and an integer , we define

 a+π:=(a+a1,…,a+an),a−π:=(a−a1,…,a−an).

It is clear that every non-empty Dyck word has a unique decomposition of the form , where ; see Figure 3. Using this fact, for every Dyck word , we define an integer sequence of length as follows, by induction on :

 π(ϵ) :=(), (1) π(1u0v)

The following two properties of the sequence for follow by straightforward induction:

1. is a permutation of the set ;

2. if , then the bit of at position is for odd and for even.

In terms of Dyck path representation, we can interpret as the alternating order of down-steps and up-steps of the Dyck path ; see Figure 3. The first term of represents the first down-step that touches the abscissa—it goes from to where . The next part of represents the up-steps and down-steps of the part of the Dyck path between to in the order obtained recursively on the mirror image of . The next term of represents the first up-step, which goes from to . The final part of represents the down-steps and up-steps of the part of the Dyck path between to ordered recursively.

Now, let , , and . Using the properties 1 and 2 above, we define a path in the graph so that and is obtained from by flipping the bit at position for every , whence it follows that . We call the bit-flip sequence for . We define the set of paths by

 \cPk:={P(x)∣x∈Dk}.

The set of paths with the corresponding bit-flip sequences is illustrated in Figure 4.

###### Lemma 5 ([Msw17]).

For every , the paths in are mutually vertex-disjoint, and together they cover all vertices of .

For every Dyck word and every bit position , we let denote the edge of the path along which the th bit is flipped. That is, if , then the path contains edges is this order along the path from to . For example, for as in Figure 4, we have and .

For every Dyck word , the first vertex and the last vertex of are adjacent in . We let denote the cycle in obtained by adding the edge to the path . We define

 \cCk:={C(x)∣x∈Dk}.

It follows from Lemma 5 that the set of cycles is a cycle factor in . Figure 2 illustrates the cycles in , which are obtained by closing the paths in illustrated in Figure 4 and applying the isomorphism between and mentioned in the proof of Lemma 4.

## 3. Construction of a Hamilton cycle

We describe how to modify the cycle factor to join its cycles to a single Hamilton cycle. As indicated in Section 1.6, the modification operation consists in taking the symmetric difference with a carefully chosen set of cycles of length or . The key ingredient of our argument is Lemma 6 below, which reduces the Hamiltonicity problem to a spanning tree problem in a suitably defined hypergraph. To make these ideas formal, we introduce a few definitions.

A flipping cycle on is a cycle in of length that has exactly edges in common with distinct paths in the set (one common edge with each path).

A marked Dyck word is a non-empty Dyck word in which exactly one bit has been marked. More formally, a marked Dyck word is a pair with and for some , where is the position of the marked bit in . We simplify notation of marked Dyck words by underlining the marked bit. For instance, denotes the marked Dyck word . We define prepending to, appending to, and mirroring a marked Dyck word in a natural way, as follows:

 u(x,m)v :=(uxv,|u|+m)for any bitstrings u and v % such that uv∈D, (2) \revinv(x,m) :=(\revinvx,|x|+1−m).

In terms of Dyck path representation, is a Dyck path where the th step is marked; see Figure 5. Under the operations of prepending, append and mirroring, the marked step remains at the same relative position. For instance, if , then and .

A marked -tuple on a set of Dyck words is an unordered -tuple of marked Dyck words of the form , where are distinct Dyck words in , , and . The set is called the support of such a marked -tuple and it is denoted by . The index is called the mark of in . A marked -tuple on is called a flippable -tuple on if there is a flipping -cycle in that contains exactly the edges of the paths , respectively. We say that such a flipping cycle witnesses the flippable tuple .

To get an intuition for these definitions, consider the Dyck words , , and in the first three columns in Figure 4. Then is a marked triple on with support . In fact, it is a flippable triple on witnessed by a flipping -cycle that contains the edges of , of , and of , indicated in Figure 4 by dashed frames. By taking the symmetric difference with , the cycles , , and become joined into a single cycle. This observation motivates the definitions that follow.

Let (where ), let be a set of flippable tuples on , and let . We call such a structure a flippability hypergraph on , and we apply a few standard hypergraph-theoretic terms to (as follows), although the reader should realize that the members of convey the marks as extra information in addition to the standard hypergraph structure. Thus, the subhypergraph of induced by a non-empty set is defined as

 \cH[U]:=(U,{τ∈\cX∣\suppτ⊆U}).

A spanning tree of is a subset of defined as follows, by induction on . If , then the only spanning tree of is the empty set. If , then a set is a spanning tree of if and only if there are a flippable -tuple , a partition of into non-empty subsets , and spanning trees of (respectively) such that and for each . For instance, a one-element set is a spanning tree of if and only if , and a two-element set is a spanning tree of if and only if and . In general, straightforward induction shows that the supports of any two flippable tuples in a spanning tree have at most one element of in common. A spanning tree of is conflict-free if the following condition is satisfied: for any two distinct flippable tuples whose supports have a common element , the mark of in is different from the mark of in .

The following lemma is the cornerstone behind our proofs of Theorems 1 and 3. It reduces the problem of finding a Hamilton cycle in the graph (which is isomorphic to the odd graph ) to the problem of finding a conflict-free spanning tree in a flippability hypergraph on .

###### Lemma 6.

Let be a flippability hypergraph on , where . If has a conflict-free spanning tree, then the graph has a Hamilton cycle. Moreover, distinct conflict-free spanning trees of give rise to distinct Hamilton cycles in .

###### Proof.

For every flippable tuple on , fix a flipping cycle in that witnesses . For a non-empty set , let denote the subgraph of induced by the set of all vertices of the cycles with . For a non-empty set and a conflict-free spanning tree of , let denote the symmetric difference of the edge sets of the cycles with and the cycles with . We prove the following statement, which immediately yields the lemma:

###### Claim.

Let be a non-empty subset of . For every conflict-free spanning tree in , the set forms a Hamilton cycle in . Moreover, the mapping is one-to-one.

The proof of the claim goes by induction on . If , then the empty set is the unique conflict-free spanning tree in , and for the unique . For the rest of the proof, suppose that and that the claim holds for all subsets of smaller than .

Let be a conflict-free spanning tree in . By the definition of a spanning tree, there are a flippable -tuple , a partition of into non-empty subsets , and spanning trees of (respectively) such that and for each . Since , the spanning trees are conflict-free. Therefore, by the induction hypothesis, the sets form Hamilton cycles in . Suppose , where and for . The unique common edge of with is the edge , which belongs to , as is conflict-free, for . The set is the symmetric difference of and , which is therefore a single cycle—a Hamilton cycle in .

Now, suppose that has another conflict-free spanning tree such that . For each , the only edges in that connect with are those that precede and follow on , which therefore belong to the same cycle witnessing some flippable tuple in . It follows that witnesses one of the flippable tuples in , which implies . The symmetric difference of and is the disjoint union of . Therefore, we have , where is a set of flippable tuples on for each . It easily follows that is a conflict-free spanning tree of such that for each . This and the induction hypothesis yield for each and therefore . ∎

To use Lemma 6, we need to provide an appropriate flippability hypergraph on . We start by defining a set of marked tuples called patterns. We let , where

 α(w) :={1w1100–0,1w10100–,1w1–0010}, γ :={11–001100,11011000–,111010–00}, (3) β :={111000–,10110–0,1–01010}, δ :={111000–,11010–0,101–100,1–01010}.

The Dyck path representation of these tuples is shown in Figure 5. The next lemma asserts that these definitions indeed yield flippable tuples.

###### Lemma 7.

Every pattern in defined by (3) is a flippable tuple.

Figure 4 shows three flipping cycles that witness the patterns , , and .

The next lemma allows us to generate more flippable tuples from the ones in by prepending and appending certain bitstrings to them. We introduce the following auxiliary notation for every flippable tuple on :

 uτv :={u(x1,m1)v,…,u(xℓ,mℓ)v}={(ux1v,|u|+m1),…,(uxℓv,|u|+mℓ)} (4) for any bitstrings u and v such% that uv∈D, \revinvτ :={\revinv(x1,m1),…,\revinv(xℓ,mℓ)}={(\revinvx1,2k+1−m1),…,(\revinvxℓ,2k+1−mℓ)}.
###### Lemma 8.

If is a flippable tuple, then

1. is a flippable tuple for any bitstrings and such that and is even,

2. is a flippable tuple for any bitstrings and such that and is odd.

We use Lemmas 7 and 8 to construct a set of flippable tuples. Namely, we define

 Ψ:={uφv∣φ∈Φ,uv∈D,and |u| is even}∪{u\revinvφv∣φ∈Φ,uv∈D,and |u| % is odd}. (5)

By Lemmas 7 and 8, every marked tuple in is flippable. Observe that the set of flippable tuples is already closed with respect to the operation described in Lemma 8, that is,

 Ψ={uτv∣τ∈Ψ,uv∈D,and |u| is even}∪{u\revinvτv∣τ∈Ψ,uv∈D,and |u| is odd}. (6)

Next, we define the set for each by extracting only the flippable tuples on from :

 Ψ2:=∅,Ψk:={τ∈Ψ∣τ is a % flippable tuple on Dk}for k≥3. (7)

Finally, we define a flippability hypergraph for .

###### Lemma 9.

For every , the set of flippable tuples defined by (7) has the property that for any , if where , then the mark of in is different from the mark of in . In particular, every spanning tree of the hypergraph is conflict-free.

In view of Lemmas 6 and 9, it remains to prove that the hypergraph has a spanning tree (many distinct spanning trees) to complete the proofs of Theorems 1 and 3.

###### Lemma 10.

For every , the hypergraph has a spanning tree.

###### Lemma 11.

For every , the hypergraph has at least distinct spanning trees.

###### Proof of Theorem 1.

Combine Lemma 6, Lemma 9, and Lemma 10. ∎

###### Proof of Theorem 2.

Combine Theorem 1 and [Joh11, Theorem 1]. ∎

###### Proof of Theorem 3.

Combine Lemma 6, Lemma 9, and Lemma 11. ∎

## 4. Proofs of Lemmas 7, 8, and 9

###### Proof of Lemma 7.

Consider the sequences

 Cα(w):=(1w00101,1w00111,1w00110,1w10110,1w10100,1w10101)for w∈D,Cβ:=(111000,111001,011001,011011,011010,111010),Cγ:=(11011100,10011100,10011101,10011001,11011001,11011000),Cδ:=(111000,111001,110001,110011,010011,011011,011010,111010). (8)

It is easy to verify that each of these sequences is a cycle in some for the appropriate value of .

We claim that for each pattern the cycle from (8) is a flipping cycle that witnesses . For this can be verified directly from Figure 4, as follows. The bitstrings on the cycles and are indicated in the figure by dotted and solid frames, respectively. Both cycles intersect exactly once each of the paths that start at the respective vertices in the tuples and . Furthermore, the bits flipped along the indicated edges are precisely those that are marked in and .

In the same way, the claim can be verified for when . The bitstrings on the cycle are indicated in Figure 4 by dashed frames. For general , by the definition (1), the initial parts of the paths in that start at the members of look as follows:

 P(1w11000) =(1w11000,1w11001,1w01001,1w01101,1w00101,1w00111,…), (9) P(1w10100) =(1w10100,1w10101,…), P(1w10010) =(1w10010,1w10110,1w00110,…).

For , these paths are exactly the same as , , and in Figure 4. The -cycle defined by (8) intersects every path from (9) exactly in the last edge explicitly shown in (9). Furthermore, the bits flipped along the intersection edges are exactly the marked bits of the members of as defined by (3).

Finally, we consider the case . The initial parts of the paths in that start at the members of look as follows:

 P(11001100) =(11001100,11011100,10011100,…), (10) P(11011000) =(11011000,11011001,…), P(11101000) =(11101000,11101001,10101001,10111001,10011001,10011101,…).

The cycle defined by (8) intersects every path from (10) exactly in the last edge explicitly shown in (10), and the bits flipped along the intersection edges are exactly the marked bits of the members of as defined by (3). ∎

###### Proof of Lemma 8.

Let . Let be a flipping cycle of length that witnesses . It follows from the definition (1) that for each , the sequence is a concatenation of three sequences , , and , where the concatenation of the sequences and is a permutation of , and and are the same for each .

If is even, then . As a consequence, the paths each contain a subpath of the form , obtained from by prepending and appending to all bitstrings of , for some bitstrings and that are the same for each and satisfy and . Therefore, the cycle is a flipping cycle that witnesses . This proves (i).

If is odd, then . As a consequence, the paths each contain a subpath of the form , obtained from by mirroring each bitstring and then prepending and appending to it, for some bitstrings and that are the same for each and satisfy and . Therefore, the cycle is a flipping cycle that witnesses (recall that ). This proves (ii). ∎

###### Proof of Lemma 9.

Let . Let and be flippable tuples in such that