Abstract
We consider three graphs, \(G_{7,3}\), \(G_{7,4}\), and \(G_{7,6}\), related to Keller’s conjecture in dimension 7. The conjecture is false for this dimension if and only if at least one of the graphs contains a clique of size \(2^7 = 128\). We present an automated method to solve this conjecture by encoding the existence of such a clique as a propositional formula. We apply satisfiability solving combined with symmetrybreaking techniques to determine that no such clique exists. This result implies that every unit cube tiling of \(\mathbb {R}^7\) contains a facesharing pair of cubes. Since a facesharefree unit cube tiling of \(\mathbb {R}^8\) exists (which we also verify), this completely resolves Keller’s conjecture.
Download conference paper PDF
1 Introduction
In 1930, Keller conjectured that any tiling of ndimensional space by translates of the unit cube must contain a pair of cubes that share a complete (\(n1\))dimensional face [13]. Figure 1 illustrates this for the plane and the 3dimensional space. The conjecture generalized a 1907 conjecture of Minkowski [24] in which the centers of the cubes were assumed to form a lattice. Keller’s conjecture was proven to be true for \(n \le 6\) by Perron in 1940 [25, 26], and in 1942 Hajós [6] showed Minkowski’s conjecture to be true in all dimensions.
In 1986 Szabó [28] reduced Keller’s conjecture to the study of periodic tilings. Using this reduction Corrádi and Szabó [3] introduced the Keller graphs: the graph \(G_{n,s}\) has vertices \(\{0,1,\ldots , 2s1\}^n\) such that a pair are adjacent if and only if they differ by exactly s in at least one coordinate and they differ in at least two coordinates. The size of cliques in \(G_{n,s}\) is at most \(2^n\) [5] and the size of the largest clique in \(G_{n,s}\) is at most the size of the largest clique in \(G_{n,s+1}\).
A clique in \(G_{n,s}\) of size \(2^n\) demonstrates that Keller’s conjecture is false for dimensions greater than or equal to n. Lagarias and Shor [19] showed that Keller’s conjecture is false for \(n \ge 10\) in 1992 by exhibiting clique of size \(2^{10}\) in \(G_{10,2}\). In 2002, Mackey [22] found a clique of size \(2^8\) in \(G_{8,2}\) to show that Keller’s conjecture is false for \(n \ge 8\). In 2011, Debroni, Eblen, Langston, Myrvold, Shor, and Weerapurage [5] showed that the largest clique in \(G_{7,2}\) has size 124.
In 2015, Kisielewicz and Łysakowska [14, 16] made substantial progress on reducing the conjecture in dimension 7. More recently, in 2017, Kisielewicz [15] reduced the conjecture in dimension 7 as follows: Keller’s conjecture is true in dimension 7 if and only if there does not exist a clique in \(G_{7,3}\) of size \(2^7\) [21].
The main result of this paper is the following theorem.
Theorem 1
Neither \(G_{7,3}\) nor \(G_{7,4}\) nor \(G_{7,6}\) contains a clique of size \(2^7 = 128\).
Although proving this property for \(G_{7,3}\) suffices to prove Keller’s conjecture true in dimension 7, we also show this for \(G_{7,4}\) and \(G_{7,6}\) to demonstrate that our methods need only depend on prior work of Kisielewicz and Łysakowska [14, 16]. In particular, the argument for \(G_{7,6}\) [14] predates and is much simpler than the one for \(G_{7,4}\) [16] (although the publication dates indicate otherwise). It is not explicitly stated in either that it suffices to prove that \(G_{7,4}\) or \(G_{7,6}\) lacks a clique of size 128 to prove Keller’s conjecture. We show this in the Appendix of the extended version, available at https://arxiv.org/abs/1910.03740.
We present an approach based on satisfiability (SAT) solving to show the absence of a clique of size 128. SAT solving has become a powerful tool in computeraided mathematics in recent years. For example, it was used to prove the Erdős discrepancy conjecture with discrepancy 2 [17], the Pythagorean triples problem [10], and Schur number five [7]. Modern SAT solvers can also emit proofs of unsatisfiability. There exist formally verified checkers for such proofs as developed in the ACL2, Coq, and Isabelle theoremproving systems [4, 20].
The outline of this paper is as follows. After describing some background concepts in Sect. 2, we present a compact encoding whether \(G_{n,s}\) contains a clique of size \(2^n\) as a propositional formula in Sect. 3. Without symmetry breaking, these formulas with \(n > 5\) are challenging for stateoftheart tools. However, the Keller graphs contain many symmetries. We perform some initial symmetry breaking that is hard to express on the propositional level in Sect. 4. This allows us to partially fix three vertices. On top of that we add symmetrybreaking clauses in Sect. 5. The soundness of their addition has been mechanically verified. We prove in Sect. 6 the absence of a clique of size 128 in \(G_{7,3}\), \(G_{7,4}\) and \(G_{7,6}\). We optimize the proofs of unsatisfiability obtained by the SAT solver and certify them using a formally verified checker. Finally we draw some conclusions in Sect. 7 and present directions for future research.
2 Preliminaries
We present the most important background concepts related to this paper and introduce some properties of \(G_{n,s}\). First, for positive integers k, we define two sets: \([k]:=\{1,2,\ldots ,k\}\) and \(\langle k\rangle := \{0,1,\ldots , k1\}\).
Keller Graphs. The Keller graph \(G_{n,s}\) consists of the vertices \(\langle 2s\rangle ^n\). Two vertices are adjacent if and only if they differ by exactly s in at least one coordinate and they differ in at least two coordinates. Figure 2 shows a visualization of \(G_{2,2}\).
As noted in [5], \(\{s w + \langle s\rangle ^n : w \in \{0, 1\}^n \}\) is a partition of the vertices of \(G_{n,s}\) into \(2^n\) independent sets. Consequently, any clique in \(G_{n,s}\) has at most \(2^n\) vertices. For example, \(V(G_{2,2})\) is partitioned as follows:
We use the above observation for encoding whether \(G_{n,s}\) has a clique of size \(2^n\). Instead of searching for such a clique on the graph representation of \(G_{n,s}\), which consists of \((2s)^n\) vertices, we search for \(2^n\) vertices, one from each \(s w + \langle s\rangle ^n\), such that every pair is adjacent.
For every \(i \in \langle 2^n\rangle \), we let \(w(i) = (w_1, w_2,\dots , w_n) \in \{0,1\}^n\) be defined by \(i=\sum _{k=1}^n2^{k1}\cdot w_k\). Given a clique of size \(2^n\), we let \(c_i\) be its unique element in \(s w(i) + \langle s\rangle ^n\) and we let \(c_{i,j}\) be the jth coordinate of \(c_i\).
Useful Automorphisms of Keller Graphs. Let \(S_n\) be the set of permutations of [n] and let \(H_s\) be the set of permutations of \(\langle 2s\rangle \) generated by the swaps \((i\ i+s)\) composed with any permutation of \(\langle s\rangle \) which is identically applied to \(s + \langle s \rangle \). The maps
where \(\sigma \in S_n\) and \(\tau _1,\tau _2,\dots ,\tau _n \in H_s\) are automorphisms of \(G_{n,s}\). Note that applying an automorphism to every vertex of a clique yields another clique of the same size.
Propositional Formulas. We consider formulas in conjunctive normal form (CNF), which are defined as follows. A literal is either a variable x (a positive literal) or the negation \(\overline{x}\) of a variable x (a negative literal). The complement \(\overline{l}\) of a literal l is defined as \(\overline{l} = \overline{x}\) if \(l = x\) and \(\overline{l} = x\) if \(l = \overline{x}\). For a literal l, \( var (l)\) denotes the variable of l. A clause is a disjunction of literals and a formula is a conjunction of clauses.
An assignment is a function from a set of variables to the truth values 1 (true) and 0 (false). A literal l is satisfied by an assignment \(\alpha \) if l is positive and \(\alpha ( var (l)) = 1\) or if it is negative and \(\alpha ( var (l)) = 0\). A literal is falsified by an assignment if its complement is satisfied by the assignment. A clause is satisfied by an assignment \(\alpha \) if it contains a literal that is satisfied by \(\alpha \). A formula is satisfied by an assignment \(\alpha \) if all its clauses are satisfied by \(\alpha \). A formula is satisfiable if there exists an assignment that satisfies it and unsatisfiable otherwise.
Clausal Proofs. Our proof that Keller’s conjecture is true for dimension 7 is predominantly a clausal proof, including a large part of the symmetry breaking. Informally, a clausal proof system allows us to show the unsatisfiability of a CNF formula by continuously deriving more and more clauses until we obtain the empty clause. Thereby, the addition of a derived clause to the formula and all previously derived clauses must preserve satisfiability. As the empty clause is trivially unsatisfiable, a clausal proof shows the unsatisfiability of the original formula. Moreover, it must be checkable in polynomial time that each derivation step does preserve satisfiability. This requirement ensures that the correctness of proofs can be efficiently verified. In practice, this is achieved by allowing only the derivation of specific clauses that fulfill some efficiently checkable criterion.
Formally, clausal proof systems are based on the notion of clause redundancy. A clause C is redundant with respect to a formula F if adding C to F preserves satisfiability. Given a formula \(F = C_1 \wedge \dots \wedge C_m\), a clausal proof of F is a sequence \((C_{m+1},\omega _{m+1}), \dots , (C_n, \omega _n)\) of pairs where each \(C_i\) is a clause, each \(\omega _i\) (called the witness) is a string, and \(C_n\) is the empty clause [9]. Such a sequence gives rise to formulas \(F_m, F_{m+1}, \dots , F_n\), where \(F_i = C_1 \wedge \dots \wedge C_i\). A clausal proof is correct if every clause \(C_i\) (\(i > m\)) is redundant with respect to \(F_{i1}\), and if this redundancy can be checked in polynomial time (with respect to the size of the proof) using the witness \(\omega _i\).
An example for a clausal proof system is the resolution proof system, which only allows the derivation of resolvents (with no or empty witnesses). However, the resolution proof system does not allow to compactly express symmetry breaking. Instead we will construct a proof in the resolution asymmetric tautology (RAT) proof system. This proof system is also used to validate the results of the SAT competitions [11]. For the details of RAT, we refer to the original paper [9]. Here, we just note that (1) for RAT clauses, it can be checked efficiently that their addition preserves satisfiability, and (2) every resolvent is a RAT clause but not vice versa.
3 Clique Existence Encoding
Recall that \(G_{n, s}\) has a clique of size \(2^n\) if and only if there exist vertices \(c_i \in sw(i) + \langle s \rangle ^n\) for all \(i \in \langle 2^n \rangle \) such that for all \(i \ne i'\) there exists at least two \(j \in [n]\) such that \(c_{i,j} \ne c_{i',j}\) and there exists at least one \(j \in [n]\) such that \(c_{i,j} = c_{i',j} \pm s\).
Our CNF will encode the coordinates of the \(c_i\). For each \(i \in \langle 2^n\rangle \), \(j \in [n]\), \(k \in \langle s \rangle \), we define Boolean variables \(x_{i, j, k}\) which are true if and only if \(c_{i,j} = sw(i)_j + k\). We therefore need to encode that exactly one of \(x_{i, j, 0}\), \(x_{i, j, 1}\), \(\ldots \), \(x_{i, j, s1}\) is true. We use the following clauses
Next we enforce that every pair of vertices \(c_i\) and \(c_{i'}\) in the clique differ in at least two coordinates. For most pairs of vertices, no clauses are required because w(i) and \(w(i')\) differ in at least two positions. Hence, a constraint is only required for two vertices if w(i) and \(w(i')\) differ in exactly one coordinate.
Let \(\oplus \) be the binary XOR operator and \(e_j\) be the indicator vector of the jth coordinate. If \(w(i) \oplus w(i') = e_j\), then in order to ensure that \(c_{i}\) and \(c_{i'}\) differ in at least two coordinates we need to make sure that there is some coordinate \(j' \ne j\) for which \(c_{i,j'} \ne c_{i',j'}\)
We use the PlaistedGreenbaum [27] encoding to convert the above constraint into CNF. We refer to the auxiliary variables introduced by the encoding as \(y_{i,i',j',k}\), which if true imply \(x_{i,j',k} \ne x_{i',j',k}\), or written as an implication
The following two clauses express this implication
Notice that the implication is only in one direction as PlaistedGreenbaum takes the polarity of constraints into account. The clauses that represent the other direction, i.e., \((y_{i,i',j',k} \vee x_{i,j',k} \vee \overline{x}_{i',j',k})\) and \((y_{i,i',j',k} \vee \overline{x}_{i,j',k} \vee x_{i',j',k})\) are redundant (and more specifically, they are blocked [18]).
Using the auxiliary variables, we can express the constraint (2) using clauses of length \(s\cdot (n1)\)
The last part of the encoding consists of clauses to ensure that each pair of vertices in the clique have at least one coordinate in which they differ by exactly s. Observe that \(c_{i,j} = c_{i',j} \pm s\) implies that \(c_{i,j} \ne c_{i',j}\) and \(x_{i,j,k} = x_{i',j,k}\) for all \(k \in \langle s \rangle \). We use auxiliary variables \(z_{i, i', j}\), whose truth implies \(c_{i,j} = c_{i',j} \pm s\), or written as an implication
Notice that the implication is again in one direction only. Below we enforce that some \(z_{i, i', j}\) variables must be true, but there are no constraints that enforce \(z_{i, i', j}\) variables to be false.
This can be written as a CNF using the following clauses:
Finally, to make sure that \(c_{i,j} = c_{i',j} \pm s\) for some \(j \in [n]\), we specify
The variables and clauses, including precise formulas for their counts, are summarized in Table 1. The sizes of the CNF encodings (before the addition of symmetry breaking clauses) of \(G_{7,3}\), \(G_{7,4}\), and \(G_{7,6}\) are listed in Table 2. Notice that for fixed n, the dependence on s is quadratic, which is better than the \(s^{2n}\) dependence one would get in the naive encoding of \(G_{n,s}\) as a graph. This compact encoding, when combined with symmetry breaking, is a core reason that we were able to prove Theorem 1.
The instances with \(n=7\) are too hard for stateoftheart SAT solvers if no symmetry breaking is applied. We experimented with generalpurpose symmetrybreaking techniques, similar to the symmetrybreaking predicates produced by shatter [1]. This allows solving the formula for \(G_{7,3}\), but the computation takes a few CPU years. The formulas for \(G_{7,4}\) and \(G_{7,6}\) with these symmetrybreaking predicates are significantly harder.
Instead we employ problemspecific symmetry breaking by making use of the observations in Sects. 4 and 5. This allows solving the clique of size \(2^n\) existence problem for all three graphs in reasonable time.
4 Initial Symmetry Breaking
Our goal is to prove that there exists no clique of size 128 in \(G_{7,s}\) for \(s \in \{3, 4, 6\}\). In this section, and the subsequent, we assume that such a clique exists and adapt some of the arguments of Perron [25, 26] to show that it may be assumed to have a canonical form. We will use \(\star _i\) to denote an element in \(\langle i \rangle \).
Lemma 1
If there is a clique of size 128 in \(G_{7,s}\), then there is a clique of size 128 in \(G_{7,s}\) containing the vertices (0, 0, 0, 0, 0, 0, 0) and (s, 1, 0, 0, 0, 0, 0).
Proof
Let K be a clique of size 128 in \(G_{7,s}\). Consider the following sets of vertices in \(G_{6,s}\):
and
Every pair of vertices in \(K_{<s}\) differs by exactly s in at least one coordinate, because the corresponding pair of vertices in K can’t differ by exactly s in the first coordinate. Similarly, every pair of vertices in \(K_{\ge s}\) differs by exactly s in at least one coordinate. Although \(K_{<s}\) and \(K_{\ge s}\) are not necessarily cliques in \(G_{6,s}\), they satisfy the first condition of the adjacency requirement. The partition of Sect. 2 can thus be applied to deduce that \(K_{<s} \le 64\) and \(K_{\ge s} \le 64\). Since \(K_{<s} + K_{\ge s} = 128\), we conclude that \(K_{<s} = 64\) and \(K_{\ge s} = 64\).
By the truth of Keller’s conjecture in dimension 6, \(K_{<s}\) is not a clique in \(G_{6,s}\). Thus, some pair of vertices in \(K_{<s}\) are identical in five of the six coordinates. After application of an automorphism, we may without loss of generality assume that this pair is (s, 0, 0, 0, 0, 0) and (0, 0, 0, 0, 0, 0). Since the pair comes from \(K_{<s}\), there exist \(v_1 \ne v'_1 \in \langle s\rangle \) such that \((v_1,s,0,0,0,0,0)\) and \((v'_1,0,0,0,0,0,0)\) are in the clique.
After application of an automorphism that moves \(v_1\) to 1 and \(v'_1\) to 0, we deduce that without loss of generality (1, s, 0, 0, 0, 0, 0) and (0, 0, 0, 0, 0, 0, 0) are in the clique. Application of the automorphism that interchanges the first two coordinates yields a clique of size 128 containing the vertices \(c_0= (0, 0, 0, 0, 0, 0, 0)\) and \(c_1= (s, 1, 0, 0, 0, 0, 0)\). \(\square \)
Theorem 2
If there is a clique of size 128 in \(G_{7,s}\), then there is a clique of size 128 in \(G_{7,s}\) containing the vertices (0, 0, 0, 0, 0, 0, 0), (s, 1, 0, 0, 0, 0, 0), and \((s, s+1, \star _2, \star _2, 1, 1, 1)\).
Proof
Using the preceding lemma, we can choose from among all cliques of size 128 that contain \(c_0= (0, 0, 0, 0, 0, 0, 0)\) and \(c_1= (s, 1, 0, 0, 0, 0, 0)\), one in which \(c_3\) has the fewest number of coordinates equal to 0. Let \(\lambda \) be this least number.
Observe that the first two coordinates of \(c_3\) must be \((s,s+1)\) in order for it to be adjacent with both \(c_0\) and \(c_1\). Thus, we have
In the above, we can apply automorphisms that fix 0 in the last five coordinates to replace \(\star _s\) by \(\star _2\). We can apply an automorphism that permutes the last five coordinates to assume that the 0’s and 1’s in \(c_3\) are sorted in increasing order. Notice that not all of the \(\star _2\) coordinates in \(c_3\) can be 0, because \(c_1\) and \(c_3\) are adjacent and must therefore differ in at least two coordinates. Hence at least the last coordinate of \(c_3\) is 1.
Case 1) \(\lambda = 4\). In this case \(c_3 = (s, s+1, 0,0,0,0,1)\). In order for \(c_{67}\) to be adjacent with \(c_0\), \(c_1\), and \(c_3\), it must start with \((s,s+1)\) and end with \(s+1\):
Not all \(\star _s\) elements in \(c_{67}\) can be 0, because \(c_3\) and \(c_{67}\) differ in at least two coordinates. However, if one of the \(\star _s\) elements in \(c_{67}\) is nonzero, then we can swap 1 and \(s+1\) in the last coordinate to obtain a clique in which \(c_3\) has three or fewer coordinates equal to 0, contradicting \(\lambda = 4\). Thus, \(\lambda \le 3\).
Case 2) \(\lambda = 3\), in which case \(c_3 = (s, s+1, 0,0,0,1,1)\):
Since \(c_{67}\) is adjacent with \(c_0\), \(c_1\), and \(c_3\), it must start with \((s,s+1)\) and end with \(s+1\). Similarly, since \(c_{35}\) is adjacent with \(c_0\), \(c_1\), and \(c_3\), it must start with \((s,s+1)\) and have \(s+1\) as its penultimate coordinate. Since \(c_{35}\) and \(c_{67}\) are adjacent, either the last coordinate of \(c_{35}\) must be 1, or the penultimate coordinate of \(c_{67}\) must be 1. Without loss of generality we can assume that the penultimate coordinate of \(c_{67}\) is 1 as we can permute the last two coordinates which would swap \(c_{35}\) and \(c_{67}\) without involving the other cubes. The remaining three \(\star _s\) elements in \(c_{67}\) cannot all be 0, since \(c_3\) and \(c_{67}\) differ in at least two coordinates. However, if one of the \(\star _s\) elements is nonzero, then we can swap 1 and \(s+1\) in the last coordinate to obtain a clique in which \(c_3\) has two or fewer coordinates equal to 0, contradicting \(\lambda = 3\). Thus, we have \(\lambda \le 2\) and \(c_3 = (s, s+1, \star _2,\star _2,1,1,1)\), as desired. \(\square \)
Notice that most of the symmetry breaking discussed in this section is challenging, if not impossible, to break on the propositional level: The proof of Lemma 1 uses the argument that Keller’s conjecture holds for dimension 6, while the proof of Theorem 2 uses the interchangeability of 1 and \(s+1\), which is not a symmetry on the propositional level. We will break these symmetries by adding some unit clauses to the encoding. All additional symmetry breaking will be presented in the next section and will be checked mechanically.
5 Clausal Symmetry Breaking
Our symmetrybreaking approach starts with enforcing the initial symmetry breaking: We assume that vertices \(c_0 = (0,0,0,0,0,0,0)\), \(c_1 = (s,1,0,0,0,0,0)\) and \(c_3 = (s,s+1,\star _s,\star _s,1,1,1)\) are in our clique K, which follows from Theorem 2. We will not use the observation that \(\star _s\) occurrences in \(c_3\) can be reduced to \(\star _2\) and instead add and validate clauses that realize this reduction.
We fix the above initial vertices by adding unit clauses to the CNF encoding. This is the only part of the symmetry breaking that is not checked mechanically. Let \(\varPhi _{7,s}\) be the formula obtained from our encoding in Sect. 3 together with the unit clauses corresponding to the 19 coordinates fixed among \(c_0\), \(c_1\) and \(c_3\). In this section we will identify several symmetries in \(\varPhi _{7,s}\) that can be further broken at the CNF level by adding symmetry breaking clauses. The formula ultimately used in Sect. 6 for the experiments is the result of adding these symmetry breaking clauses to \(\varPhi _{7,s}\). Symmetry breaking clauses are added in an incremental fashion. For each addition, a clausal proof of its validity with respect to \(\varPhi _{7,s}\) and the clauses added so far is generated, as well. Each of these clausal proofs has been validated using the drattrim proof checker.
Our approach can be described in general terms as identifying groups of coordinates whose assignments exhibit interesting symmetries and calculating the equivalence classes of these assignments. Given a class of symmetric assignments, it holds that one of these assignments can be extended to a clique of size 128 if and only if every assignment in that class can be extended as well. It is then enough to pick a canonical representative for each class, add clauses forbidding every assignment that is not canonical, and finally determine the satisfiability of the formula under the canonical representative of every class of assignments: if no canonical assignment can be extended to a satisfying assignment for the formula, then the formula is unsatisfiable. In order to forbid assignments that are not canonical, we use an approach similar to the one described in [8].
5.1 The Last Three Coordinates of \(c_{19}\), \(c_{35}\) and \(c_{67}\)
The reasoning in the proof of Theorem 2 leads to the following forced settings, once we assign \(c_3 = (s,s+1,\star _s,\star _s,1,1,1)\) and apply unit propagation:

\((c_{19,1},c_{19,2},c_{19,5})=(s,s+1,s+1)\),

\((c_{35,1},c_{35,2},c_{35,6})=(s,s+1,s+1)\),

\((c_{67,1},c_{67,2},c_{67,7})=(s,s+1,s+1)\).
Let’s now focus on the \(3\times 3\) matrix of the coordinates below and do a case split on all of the \(s^6\) possible assignments of coordinates labeled with \(\star _s\).
Notice, however, that since the only positions in which \(c_{19}\) and \(c_{35}\) can differ by exactly s are positions 5 and 6, and since \(c_{19,5}\) and \(c_{35,6}\) are already set to \(s+1\), at least one of \(c_{19,6}\) and \(c_{35,5}\) has to be set to 1. Similarly, it is not possible for both \(c_{35,7}\) and \(c_{67,6}\) to not be 1 and for both \(c_{67,5}\) and \(c_{19,7}\) to not be 1. By the inclusionexclusion principle, this reasoning alone discards \(3(s1)^2s^43(s1)^4s^2+(s1)^6\) cases. All of these cases can be blocked by adding the binary clauses: \((x_{19,6,1}\vee x_{35,5,1}) \wedge (x_{35,7,1}\vee x_{67,6,1}) \wedge (x_{67,5,1}\vee x_{19,7,1})\). These three clauses are RAT clauses [12] with respect to the formula \(\varPhi _{7,s}\).
Furthermore, among the remaining \((2s1)^3\) cases, several assignment pairs are symmetric. For example, the following two assignments are symmetric because one can be obtained from the other by swapping columns and rows:
As with many problems related to symmetries, we can encode each assignment as a vertexcolored graph and use canonical labeling algorithms to determine a canonical assignment representing all the symmetric assignments of each equivalence class, and which assignments are symmetric to each canonical form. Our approach is similar to the one by McKay and Piperno for isotopy of matrices [23].
This additional symmetry breaking reduces the number of cases for the last three coordinates of the vertices \(c_{19}\), \(c_{37}\), and \(c_{67}\) from the trivial \(s^6\) to 25 cases for \(s=3\) and 28 cases for \(s\ge 4\). Figure 3 shows the 25 canonical cases for \(s=3\).
5.2 Coordinates Three and Four of Vertices \(c_3\), \(c_{19}\), \(c_{35}\) and \(c_{67}\)
The symmetry breaking in the previous subsection allows us to fix, without loss of generality, the last coordinate of \(c_{19}\) to 1. It also constrains the third and fourth coordinates of \(c_{3}\) to take values in \(\langle 2 \rangle \) instead of \(\langle s \rangle \).
We break the computation into further cases by enumerating over choices for the third and fourth coordinates of vertices \(c_{3}\), \(c_{19}\), \(c_{37}\), and \(c_{67}\) (Fig. 4). Up to this point, our description of the partial clique is invariant under the permutations of \(\langle s1 \rangle \) in the third and fourth coordinates as well as swapping the third and fourth coordinates. With respect to these automorphisms, for \(s=3\) there are only 861 equivalence classes for how to fill in the \(\star _s\) cases for these four vertices. For \(s=4\) there are 1326 such equivalence classes, and for \(s=6\) there are \(1378 \) such equivalence classes. This gives a total of \(25 \times 861 = 21\,525\) cases to check for \(s = 3\), \(28 \times 1326 = 37\,128\) cases to check for \(s = 4\), and \(28 \times 1378 = 38\,584\) cases to check for \(s=6\).
5.3 Identifying Hardest Cases
In initial experiments we observed for each \(s\in \{3,4,6\}\) that out of the many thousands of subformulas (cases), one subformula was significantly harder to solve compared to the other subformulas. Figure 5 shows the coordinates of the key vertices of this subformula for \(s\in \{3,4,6\}\). Notice that the third and fourth coordinates are all 0 for all the key vertices. We therefore applied additional symmetry breaking in case all of these coordinates are 0. Under this case, the third and the fourth coordinates of vertex \(c_2\) can be restricted to (0, 0), (0, 1), and (1, 1), and the last three coordinates of \(c_2\) can only take values in \(\langle 3 \rangle \). Furthermore, any assignment (a, b, c) to the last three coordinates of \(c_2\) is symmetric to the same assignment “shifted right”, i.e. (c, a, b), by swapping columns and rows appropriately. These symmetries define equivalence classes of assignments that can also be broken at the CNF level. Under the case shown in Fig. 5, there are only 33 nonisomorphic assignments remaining for vertex \(c_2\) for \(s \ge 3\). We replace the hard case for each \(s\in \{3,4,6\}\) by the corresponding 33 cases, thereby increasing the total number of cases mentioned above by 32.
5.4 SAT Solving
Each of the cases was solved using a SAT solver, which produced a proof of unsatisfiability that was validated using a formally verified checker (details are described in the following section). To ensure that the combined cases cover the entire search space, we constructed for each \(s\in \{3,4,6\}\) a tautological formula in disjunctive normal form (DNF). The building blocks of a DNF are conjuctions of literals known as cube. We will use \(\alpha \) as a symbol for cubes as they can also be considered variable assignments. For each cube \(\alpha \) in the DNF, we prove that the formula after symmetry breaking under \(\alpha \) is unsatisfiable. Additionally, we mechanically check that the three DNFs are indeed tautologies.
6 Experiments
We used the CaDiCaL^{Footnote 1} SAT solver developed by Biere [2] and ran the simulations on a cluster of Xeon E52690 processors with 24 cores per node. CaDiCaL supports proof logging in the DRAT format. We used DRATtrim [29] to optimize the emitted proof of unsatisfiability. Afterwards we certified the optimized proofs with ACL2check, a formally verified checker [4]. All of the code that we used is publicly available on GitHub.^{Footnote 2} We have also made the logs of the computation publicly available on Zenodo.^{Footnote 3}
6.1 Results for Dimension 7
Table 3 summarizes the running times are for experiment. The subformulasolving runtimes for \(s = 3, 4\) and 6 are summarized in cactus plots in Figs. 6, 7 and 8. The combined size of all unsatisfiability proofs of the subformulas of \(s=6\) is 224 gigabyte in the binary DRAT proof format. These proofs contained together \(6.18 \cdot 10^9\) proof steps (i.e., additions of redundant clauses). The DRATtrim proof checker only used \(6.39 \cdot 10^8\) proof steps to validate the unsatisfiability of all subformulas. In other words, almost \(90\%\) of the clauses generated by CaDiCaL are not required to show unsatisfiability. It is therefore likely that a single DRAT proof for the formula after symmetry breaking can be constructed that is about 20 gigabytes in size. That is significantly smaller compared to other recently solved problems in mathematics that used SAT solvers [7, 10].
We ran all three experiments simultaneously on 20 nodes on the Lonestar 5 cluster and computing on 24 CPUs per node in parallel. All instances were reported unsatisfiable and all proofs of unsatisfiability were certified by the formally verified checker. This proves Theorem 1.
6.2 Refuting Keller’s Conjecture in Dimension 8
To check the accuracy of the CNF encoding, we verified that the generated formulas for \(G_{8,2}\), \(G_{8,3}\), \(G_{8,4}\) and \(G_{8,6}\) are satisfiable — thereby confirming that Keller’s conjecture is false for dimension 8. These instances, by themselves, have too many degrees of freedom for the solver to finish. Instead, we added to the CNF the unit clauses consistent with the original clique found in the paper of Mackey [22] (as suitably embedded for the larger graphs). Specification of the vertices was per the method in Sect. 3 and 4. These experiments were run on Stanford’s Sherlock cluster and took less than a second to confirm satisfiability.
Figure 9 shows an illustration of a clique of size 256 in \(G_{8,2}\). This is the smallest counterexample for Keller’s conjecture, both in the dimension (\(n=8\)) as in the number of coordinates (\(s=2\)). The illustration uses a black circle, black square, white circle, or white square to represent a coordinate set to 0, 1, 2, or 3, respectively. Notice that for each pair of vertices it holds that they have a complementary (black vs white) circle or square and at least one other different coordinate (black/white or circle/square or both).
7 Conclusions and Future Work
In this paper, we analyzed maximal cliques in the graphs \(G_{7,3}\), \(G_{7,4}\), and \(G_{7,6}\) by combining symmetrybreaking and SATsolving techniques. For the initial symmetry breaking we adapt some of the arguments of Perron. Additional symmetry breaking is performed on the propositional level and this part is mechanically verified. We partitioned the resulting formulas into thousands of subformulas and used a SAT solver to check that each subformula cannot be extended to a clique of size 128. Additionally, we optimized and certified the resulting proofs of unsatisfiability. As a result, we proved Theorem 1, which resolves Keller’s conjecture in dimension 7.
In the future, we hope to construct a formally verified argument for Keller’s conjecture, starting with a formalization of Keller’s conjecture down to the relation of the existence of cliques of size \(2^n\) in Keller graphs and finally the correctness of the presented encoding. This effort would likely involve formally verifying most of the theory discussed in the Appendix of the extended version of the paper. On top of that, we would like to construct a single proof of unsatisfiability that incorporates all the clausal symmetry breaking and the proof of unsatisfiability of all the subformulas and validate this proof using a formally verified checker.
Furthermore, we would like to extend the analysis to \(G_{7,s}\), including computing the size of the largest cliques for various values of s. Another direction to consider is to study the maximal cliques in \(G_{8,s}\) in order to have some sort of classification of all maximal cliques.
Notes
 1.
Commit 92d72896c49b30ad2d50c8e1061ca0681cd23e60 of https://github.com/arminbiere/cadical.
 2.
 3.
References
Aloul, F.A., Markov, I.L., Sakallah, K.A.: Shatter: efficient symmetrybreaking for Boolean satisfiability. In: Proceedings of the 40th Annual Design Automation Conference, DAC 2003, pp. 836–839. ACM, Anaheim (2003)
Biere, A.: CaDiCaL, Lingeling, Plingeling, Treengeling and YalSAT entering the SAT competition 2018. In: Proceedings of SAT Competition 2018 – Solver and Benchmark Descriptions. Department of Computer Science Series of Publications B, vol. B20181, pp. 13–14. University of Helsinki (2018)
Corrádi, K., Szabó, S.: A combinatorial approach for Keller’s conjecture. Period. Math. Hungar. 21, 91–100 (1990)
CruzFilipe, L., Heule, M.J.H., Hunt Jr., W.A., Kaufmann, M., SchneiderKamp, P.: Efficient certified RAT verification. In: de Moura, L. (ed.) CADE 26. LNCS (LNAI), vol. 10395, pp. 220–236. Springer, Cham (2017)
Debroni, J., Eblen, J., Langston, M., Myrvold, W., Shor, P.W., Weerapurage, D.: A complete resolution of the Keller maximum clique problem. In: Proceedings of the TwentySecond Annual ACMSIAM Symposium on Discrete Algorithms, pp. 129–135. SIAM, Society for Industrial and Applied Mathematics, Philadelphia (2011)
Hajós, G.: Uber einfache und mehrfache Bedeckung des ndimensionalen Raumes mit einen Wurfelgitter. Math. Z. 47, 427–467 (1942)
Heule, M.J.H.: Schur number five. In: Proceedings of the 32nd AAAI Conference on Artificial Intelligence (AAAI 2018), pp. 6598–6606. AAAI Press (2018)
Heule, M.J.H., Hunt Jr., W.A., Wetzler, N.D.: Expressing symmetry breaking in DRAT proofs. In: Felty, A.P., Middeldorp, A. (eds.) CADE 2015. LNCS (LNAI), vol. 9195, pp. 591–606. Springer, Cham (2015)
Heule, M.J.H., Kiesl, B., Biere, A.: Short proofs without new variables. In: de Moura, L. (ed.) CADE 26. LNCS (LNAI), vol. 10395, pp. 130–147. Springer, Cham (2017)
Heule, M.J.H., Kullmann, O., Marek, V.W.: Solving and verifying the Boolean Pythagorean Triples problem via CubeandConquer. In: Creignou, N., Le Berre, D. (eds.) SAT 2016. LNCS, vol. 9710, pp. 228–245. Springer, Cham (2016)
Heule, M.J.H., Schaub, T.: What’s hot in the SAT and ASP competition. In: TwentyNinth AAAI Conference on Artificial Intelligence 2015, pp. 4322–4323. AAAI Press (2015)
Järvisalo, M., Heule, M.J.H., Biere, A.: Inprocessing rules. In: Gramlich, B., Miller, D., Sattler, U. (eds.) IJCAR 2012. LNCS (LNAI), vol. 7364, pp. 355–370. Springer, Heidelberg (2012)
Keller, O.H.: Über die lückenlose Erfüllung des Raumes mit Würfeln. Journal für die reine und angewandte Mathematik 163, 231–248 (1930)
Kisielewicz, A.P.: Rigid polyboxes and Keller’s conjecture. Adv. Geom. 17(2), 203–230 (2017)
Kisielewicz, A.P.: Towards resolving Keller’s cube tiling conjecture in dimension seven. arXiv preprint arXiv:1701.07155 (2017)
Kisielewicz, A.P., Łysakowska, M.: On Keller’s conjecture in dimension seven. Electron. J. Comb. 22(1), P1–16 (2015)
Konev, B., Lisitsa, A.: Computeraided proof of Erdős discrepancy properties. Artif. Intell. 224(C), 103–118 (2015)
Kullmann, O.: On a generalization of extended resolution. Discret. Appl. Math. 96–97, 149–176 (1999)
Lagarias, J.C., Shor, P.W.: Keller’s cubetiling conjecture is false in high dimensions. Bull. Am. Math. Soc. 27(2), 279–283 (1992)
Lammich, P.: Efficient verified (UN)SAT certificate checking. In: de Moura, L. (ed.) CADE 26. LNCS (LNAI), vol. 10395, pp. 237–254. Springer, Cham (2017)
Łysakowska, M.: Extended Keller graph and its properties. Quaestiones Mathematicae 42(4), 551–560 (2019)
Mackey, J.: A cube tiling of dimension eight with no facesharing. Discret. Comput. Geom. 28(2), 275–279 (2002)
McKay, B.D., Piperno, A.: Nauty and Traces User’ Guide (version 2.6). http://users.cecs.anu.edu.au/~bdm/nauty/nug26.pdf
Minkowski, H.: Diophantische Approximationen. B.G. Teubner, Leipzig (1907)
Perron, O.: Über lückenlose ausfüllung desndimensionalen raumes durch kongruente würfel. Math. Z. 46(1), 1–26 (1940)
Perron, O.: Über lückenlose ausfüllung desndimensionalen raumes durch kongruente würfel. ii. Math. Z. 46(1), 161–180 (1940)
Plaisted, D.A., Greenbaum, S.: A structurepreserving clause form translation. J. Symb. Comput. 2(3), 293–304 (1986)
Szabó, S.: A reduction of Keller’s conjecture. Period. Math. Hung. 17(4), 265–277 (1986)
Wetzler, N.D., Heule, M.J.H., Hunt, W.A.: DRATtrim: efficient checking and trimming using expressive clausal proofs. In: Sinz, C., Egly, U. (eds.) SAT 2014. LNCS, vol. 8561, pp. 422–429. Springer, Cham (2014)
Acknowledgments
The authors acknowledge the Texas Advanced Computing Center (TACC) at The University of Texas at Austin, RIT Research Computing, and the Stanford Research Computing Center for providing HPC resources that have contributed to the research results reported within this paper. Joshua is supported by an NSF graduate research fellowship. Marijn and David are supported by NSF grant CCF1813993. We thank Andrzej Kisielewicz and Jasmin Blanchette for valuable comments on an earlier version of the manuscript. We thank William Cooperman for helpful discussions on a previous attempt at programming simulations to study the halfintegral case. We thank Alex Ozdemir for helpful feedback on both the paper and the codebase. We thank Xinyu Wu for making this collaboration possible.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Brakensiek, J., Heule, M., Mackey, J., Narváez, D. (2020). The Resolution of Keller’s Conjecture. In: Peltier, N., SofronieStokkermans, V. (eds) Automated Reasoning. IJCAR 2020. Lecture Notes in Computer Science(), vol 12166. Springer, Cham. https://doi.org/10.1007/9783030510749_4
Download citation
DOI: https://doi.org/10.1007/9783030510749_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 9783030510732
Online ISBN: 9783030510749
eBook Packages: Computer ScienceComputer Science (R0)