A SAT-based Resolution of Lam's Problem
Curtis Bright, Kevin K. H. Cheung, Brett Stevens, Ilias Kotsireas, Vijay Ganesh
AA SAT-based Resolution of Lam’s Problem
Curtis Bright,
Kevin K. H. Cheung, Brett Stevens, Ilias Kotsireas, Vijay Ganesh University of Windsor, Carleton University, Wilfrid Laurier University, University of Waterloo
Abstract
In 1989, computer searches by Lam, Thiel, and Swierczexperimentally resolved Lam’s problem from projectivegeometry—the long-standing problem of determining if aprojective plane of order ten exists. Both the original searchand an independent verification in 2011 discovered no suchprojective plane. However, these searches were each per-formed using highly specialized custom-written code and didnot produce nonexistence certificates. In this paper, we re-solve Lam’s problem by translating the problem into Booleanlogic and use satisfiability (SAT) solvers to produce nonex-istence certificates that can be verified by a third party.Our work uncovered consistency issues in both previoussearches—highlighting the difficulty of relying on special-purpose search code for nonexistence results.
Projective geometry was developed in the 1600s by renais-sance artists and mathematicians in order to describe howto project a three dimensional scene onto a two dimensionalcanvas. Projective geometry has the counter-intuitive prop-erty that any two lines must meet . For example, a pair oftrain tracks (parallel lines in three dimensions) when pro-jected onto two dimensions will meet on the horizon.Despite an intensive amount of study for over 200 yearssome basic questions about projective geometry remain un-settled. For example—how many points can a projective ge-ometry have? A geometry is said to be finite if it containsa finite number of points and a finite geometry is said tohave order n if every line contains n + 1 points (Dembowski1968).All finite projective geometries have been classified withthe exception of those having exactly two dimensions—the projective planes . The first order for which it is theoreticallyuncertain if a projective plane exists is n = 10 . Determiningif such a projective plane exists has become known as Lam’sproblem after the work of (Lam, Thiel, and Swiercz 1989)experimentally showed that such a plane does not exist—work that was later independently verified by (Roy 2011).As pointed out by (Heule, Kullmann, and Marek 2017)there are currently three kinds of solvers that are used to solve large but finite decision problems like Lam’s prob-lem: special purpose solvers, constraint satisfaction solvers,and satisfiability (SAT) solvers. They note that recently SATsolvers have become so strong that they are “the best solu-tion in most cases”. Even still, they note that some problemssuch as Lam’s problem have only been solved by special-purpose means:An example where only a solution by [special purposesolvers] is known is the determination that there is noprojective plane of order 10. . .We remedy this situation by using a SAT solver to resolvethe most challenging subcase of Lam’s problem. Togetherwith the recent SAT-based results of (Bright et al. 2020a,b)this provides a complete resolution of Lam’s problem withall of the exhaustive search work completed by SAT solvers.The previous searches done in Lam’s problem remain fan-tastic achievements, but a SAT-based resolution has two pri-mary advantages. First, it is more verifiable: a third party cancheck the nonexistence certificates for themselves and (oncethey believe in the encoding) be convinced in the nonex-istence of a projective plane of order ten without havingto trust a search procedure. Second, using well-tested SATsolvers to perform the search is less error-prone than writingspecial-purpose search code—a reality of developing soft-ware for computer-assisted proofs is that it is extremely dif-ficult to make custom-written code both correct and effi-cient (Lam 1990).Indeed, our results uncover discrepancies with both theoriginal 1989 search and its 2011 independent verifica-tion. As we detail in section 2, the first two steps ofLam et al.’s search are to enumerate what are known as A sand A s. Our work agrees with the previous searches that upto isomorphism there are 66 possibilities for the A s. How-ever, our count for the A possibilities disagrees with bothof the counts of (Lam, Thiel, and Swiercz 1989) and (Roy2011)—works which differ between themselves as well (seeSection 5). We generate certificates that demonstrate our A search is complete (see Section 4) and verify the cer-tificates with a proof verifier. These certificates were gener-ated with the assistance of the symbolic computation libraryTraces (McKay and Piperno 2014)—but we describe howone can verify the certificates without needing to trust theoutput of the library.Our work does not provide a completely formal proof of a r X i v : . [ c s . D M ] D ec he nonexistence of a projective plane of order ten becausewe rely on results that currently have no formal computer-verifiable proofs. In particular, we rely on a result of (Carter1974) that the error-correcting code associated with a hy-pothetical projective plane of order ten must contain wordsthat are referred to as weight 15, weight 16, or ‘primitive’weight 19 words. The former two cases were first ruled outby the searches of (MacWilliams, Sloane, and Thompson1973) and (Lam, Thiel, and Swiercz 1986) and were recentlysettled via SAT-based nonexistence certificates (Bright et al.2020a,b). The primitive weight 19 search is by far the mostchallenging—it was ruled out by (Lam, Thiel, and Swiercz1989) and it is the case that we consider in our work.Our work does provide a possible avenue for constructinga formal proof: by deriving our SAT encoding and the math-ematical results that we rely on inside a formal proof sys-tem. This would be a significant undertaking but is in prin-ciple possible with current tools. In fact, results that wererecently proven using SAT solvers such as the resolutionof the Boolean Pythagorean triples problem (Heule, Kull-mann, and Marek 2016) and a case of the Erd˝os discrepancyconjecture (Konev and Lisitsa 2014) have since had formalproofs generated based on the SAT encoding (Cruz-Filipe,Marques-Silva, and Schneider-Kamp 2018; Keller 2019). We now provide the necessary background in order to un-derstand our results. In particular, we outline the cube-and-conquer satisfiability solving paradigm, describe Lam’sproblem from projective geometry, describe the subcase forwhich we provide nonexistence certificates, and outline thesymmetry breaking methods exploited by the nonexistencecertificates.
The cube-and-conquer satisfiability solving paradigm wasdeveloped by (Heule et al. 2011) for solving hard combina-torial problems. The method uses two kinds of SAT solversin two stages: First, a “cubing solver” splits a satisfiabil-ity instance into a large number distinct subproblems speci-fied by cubes —formulas of the form l ∧ · · · ∧ l n where l i are variables or negated variables. Second, for each cubea “conquering solver” solves the original instance underthe assumption that the cube is true. The cube-and-conquermethod tends to be effective at quickly solving large satisfi-ability instances when the cubing solver can generate manycubes encoding subproblems of approximately equal diffi-culty. It has since been applied to solve huge combinato-rial problems such as the Boolean Pythagorean triples prob-lem (Heule, Kullmann, and Marek 2017) and the computa-tion of the fifth Schur number (Heule 2018). Projective geometry was formalized by mathematicians inthe 1600s though its roots date back to the work of Pap-pus of Alexandria in the 4th century. In the 1800s projectivegeometry became extensively studied—including projectivegeometries that contain only a finite number of points (von Staudt 1856). The only finite projective geometries that re-main to be classified are those in two dimensions and suchobjects are known as projective planes .Projective planes consist of an incidence relationship be-tween points and lines such that any two distinct lines in-tersect in a unique point and any two distinct points are on aunique line. To avoid trivial cases we also require that not all(or all but one) of the points lie on the same line. These ax-ioms imply that all lines contain the same number of pointsand the plane contains the same number of points and lines.If each line has n + 1 points then the projective plane said tobe of order n and it will contain exactly n + n +1 points andthe same number of lines. If A is the { , } incidence matrixwith a in entry ( i, j ) exactly when line i contains point j then the projective plane axioms imply that the off-diagonalentries of the matrices AA T and A T A are exactly . Twovectors are said to intersect if they share a in the same po-sition and therefore the projective plane axioms imply thatany two rows or columns of A must intersect.Projective planes are known to exist in all orders thatare prime powers but despite extensive study no projectiveplanes in any other orders are known and it has been con-jectured that the order of a projective plane must be a primepower (Weisstein 2002). Certain orders including six havebeen theoretically ruled out (Bruck and Ryser 1949) leav-ing n = 10 as the first uncertain order—until the computa-tional search of (Lam, Thiel, and Swiercz 1989) did not finda plane of order ten.Lam et al.’s search was based on properties of theincidence matrix A of a hypothetical projective planeof order ten. In particular, the results of (Carter 1974)and (MacWilliams, Sloane, and Thompson 1973) imply thatthe words of Hamming weight 19 in the rowspace of A (mod 2) are of three possible forms (called oval, 16-type, andprimitive) and there must exist some 16-type or primitivewords. However, the searches of (Lam, Thiel, and Swiercz1986) ruled out the existence of 16-type words and (Lam,Thiel, and Swiercz 1989) ruled out the existence of primi-tive words. The most challenging case in the resolution of Lam’s prob-lem is to show the nonexistence of primitive weight 19words. The existence of such words greatly constrains thestructure of the × incidence matrix A of a projec-tive plane of order ten—in particular, A can be decomposedinto a × collection of submatrices as shown in Figure 1.The row sums of the submatrices were derived in (Carter1974) and the column sums (that depend on a parameter k counting how many s appear in the first six rows of a col-umn) were derived in (Lam, Crossfield, and Thiel 1985). Wefollow the labelling scheme that appears in the latter work.Once A has been fixed this uniquely determines A and A without loss of generality (Lam, Crossfield, andThiel 1985). There are typically a large number of possi-bilities for A , though this number can be reduced by onlyconsidering nonisomorphic A s under the symmetry groupof A (see Section 2.4). Once all the possible A s have beendetermined the search of Lam et al. continued by attempting " A A A A A labels
19 92 " row sums
19 92 " k k − k − kk + 2 k + 7 column sumsFigure 1: Structure of the incidence matrix of a projectiveplane of order ten containing a primitive weight 19 word.The numbers outside the matrices count the number of rowsor columns in each submatrix.to extend each A into the A submatrix. In no case was acompletion of A found, thereby disproving the existence ofthe complete matrix A . Two incidence matrices are said to be isomorphic if one canbe transformed into the other through row or column per-mutations. The symmetry group of a matrix is the set of rowand column permutations that fix all entries of the matrix.When the symmetry group of a submatrix of A (such as A in Figure 1) is large the search starting from that subma-trix tends to include a lot of isomorphic matrices. To avoidsearching through a space containing many isomorphic ma-trices an important optimization is to detect and remove asmany symmetries as early in the search as possible.(Lam, Crossfield, and Thiel 1985) found that up to iso-morphism there are exactly 66 possible ways of complet-ing the submatrix A ; an explicit list containing each pos-sible case is available in (Kaski and Östergård 2006). Lamet al. show how to remove 21 of those possibilities by vari-ous argumentation. Computational searches performed foreach of the remaining 45 possibilities (Lam, Thiel, andSwiercz 1989) found 639,624 nonisomorphic ways of ex-tending these A s to A s. Our count differs from that ofLam et al.—see Section 5 for details. We now describe the SAT encoding used in our instancesin three parts—corresponding to the three steps of Lamet al.’s search. First, a single SAT instance determines thepossibilities for the A s (i.e., the upper left × matrixin Figure 1). Second, for each possible A a new instancedetermines the possibilities for the A s. Third, for each pos-sible A a new instance determines that the matrix cannot becompleted to a full incidence matrix A . For efficiency rea-sons many constraints are dropped from the third set of in-stances. This results in a small number of solutions to theseinstances which are then shown to not complete by addingback in some of the constraints (see Section 4.3).In each of these instances we use the Boolean variable a i,j to represent that entry ( i, j ) of A contains a . Note thatsince A defines a projective plane none of its rows inter-sect twice; in other words, for every pair of distinct indices ( i, i ) there do not exist another pair of distinct indices ( j, j ) such that all the variables { a i,j , a i,j , a i ,j , a i ,j } are true. Figure 2: On the left the A of the first case is shown. On theright the upper-left × submatrix of its associated A isshown with some of its row numbers in A —this submatrixis completely determined under the assumption that its rowsare lexicographically ordered.Thus, each of our SAT instances include clauses of the form ¬ a i,j ∨ ¬ a i,j ∨ ¬ a i ,j ∨ ¬ a i ,j where i and i are indices ofthe rows under consideration and j and j are indices of thecolumns under consideration. A encoding An A is a × matrix with { , } entries containing ex-actly five s in each row and no two rows having more thana single in the same position. Furthermore, the rows andcolumns of an A may be lexicographically ordered with-out loss of generality (Knuth 2015, cf. exercise 495). More-over, lexicographic constraints can simply be encoded intoBoolean logic (Knuth 2015, cf. equation 169). To enforcethe fact that the row sum of each row is 5 we use the se-quential counter cardinality encoding (Sinz 2005)—cf. ex-ercise 30 (Knuth 2015).In order to find all possible A s we exhaustively searchfor solutions of the above SAT instance. Whenever a solu-tion S is found the blocking clause W S | = p ¬ p (where S | = p means the variable p is true in S ) is added to the SAT in-stance and the solver is restarted; this produces 3,366 solu-tions. To check the A s for equivalence we construct the in-cidence graph of the matrix (Kaski and Östergård 2006) anduse the library Traces (McKay and Piperno 2014) to discardthe A s whose incidence graphs are isomorphic to those ofpreviously found A s. A encoding An A is a × matrix with { , } entries containing ex-actly three s in each row and no two rows having more thana single in the same location. Furthermore, in the completeincidence matrix A the A appears directly below an A andthis completely determines the number of s that appear ineach column (see Figure 1). Because the rows of A may bepermuted freely without loss of generality we assume thatthe rows of A are lexicographically sorted. The row sum,column sum, and lexicographic constraints are each encodedin the same way as in the A encoding.The A SAT instances may now be exhaustively solvedsimilar to how the A SAT instance is solved and this pro-duces over 56 million solutions. Due to the large numberof solutions it is much more efficient to employ symmetryremoval during the solving process. To this end we adapthe “recorded objects” method of isomorph-free exhaustivegeneration (Kaski and Östergård 2006) to the SAT context.In order to do this we first split the A search space into anumber of successive levels, where each level successivelyfills in more of the A matrix.Note that the first row of A is (as a binary vec-tor) because its columns are lexicographically ordered. Thusthe first five columns pairwise intersect in A and so will notintersect at all in A . It follows that the column sum and lex-icographic constraints completely fix the first five columnsof A . For example, Figure 2 contains one possible A andthe first five columns of the A generated by this A . The setof rows of A can be split into levels based on which rowsare identical in the first five columns. For example, the lev-els of the A in Figure 2 consist of row 7 and then the rows8–10, 11–17, 18–24, 25–31, and the remaining rows 32–43(consisting of zeros in the first five columns).Our exhaustive search proceeds by finding completionsof the entries in each successive level. At each level iso-morphism removal is performed on the completions foundat that level. When multiple completions are isomorphic toeach other only a single one of those completions is used forthe purposes of completing the next level.When a completion of a level is found, the incidencegraph of the A and A (up to the given level) is formed andpassed to the Traces library. Traces generates a certificate ofthe incidence graph and if the certificate is new the comple-tion is recorded as a new solution of the current level. If thecertificate has been previously seen, the incidence graph iscompared to the incidence graphs of the previously foundcompletions to verify that it is indeed isomorphic to oneof them. Once it has been verified that the completion isisomorphic to a previously found completion the new com-pletion is discarded. Formally, a blocking clause W S | = p ¬ p is added to the SAT instance, where S consists of the as-signment formed by the completion to be discarded (up tothe given level). The solver is then resumed—the blockingclause being added to the SAT instance on-the-fly, i.e., pro-grammatically (Ganesh et al. 2012).This procedure requires keeping track of the nonisomor-phic completions (and their certificates) that are found ateach level as the search is progressing but its advantageis that symmetries are detected and removed much earlierthan they would otherwise be if isomorphism removal wasonly performed at the final level. Moreover, the search isstill exhaustive in the sense that all nonisomorphic A s willbe found. Formally, we state the following theorem whoseproof appears in the online appendix. Theorem 1.
If the A SAT instances are solved with iso-morphism removal performed after the completion of eachlevel then the solver will record exactly one representativefrom each equivalence class of A completions. We now describe our main encoding of determining thenonexistence of A containing a given A and A . First, thereis a unique way of completing A (assuming a lexicographicordering of its rows) because its row sums are . Similarly,
20 24 29 34 39 44 48 52
Figure 3: The A of case 66 (upper left) and its associated A (upper right). One particular row of an A is shown(lower left) and the form of its completion in A is shown(lower right). Each of the gray rectangles contain a single and there are another five s on the row—ordered here toappear as soon as possible.there is a unique way of completing A because its columnshave at most two s (having k ≥ in the rightmost columnof Figure 1 is impossible). We complete the columns of A with column sum first (adding a single column of this formfor each pair of lines that do not already intersect in the first19 columns) and assume a lexicographic ordering of the re-maining columns. Figure 3 shows one possible A and itsassociated A .There are six blocks appearing in an A where block i consists of the columns containing a in the i th row. Thecolumns not incident to any of the blocks are called outside columns. For example, in Figure 3 the first block consists ofcolumn 20 with columns 24–28, and the outside columns arecolumns 52–56.The columns of A that are identical in A can be taken toappear in lexicographic order without loss of generality—inother words, we assume that the columns within each block(except for those with column sum in A ) are lexicograph-ically sorted. Similarly, the rows in A that are identicalin A are assumed to appear in lexicographic order.At this point we could simply encode the row sums, col-umn sums, and lexicographic constraints using the same en-coding that was used in the A and A encodings. The workof Lam et al. imply these instances are unsatisfiable, but weoptimized the encoding in order to reduce the amount ofcomputational resources required to prove unsatisfiability.In particular, we did not use all 92 columns of A be-cause this resulted in an excessive number of constraints. In-stead, we selected between 4 and 6 blocks (see Section 3.4)from each instance and only used the constraints appearingin those blocks. In this context the row sum constraints nolonger apply and we ignore the column sum constraints inthe bottom (last 68 rows) of A . Instead, we use an alter-native encoding that directly enforces incidences that thefirst 19 columns have in A . We also use an improved lexi-cographic encoding taking into account the form of the rowsor columns being ordered. Incidence constraints
The first 19 columns of A areknown in each SAT instance; say C j denotes the set of rowindices of the s in column j with ≤ j ≤ . The axiomsof a projective plane imply that any two columns intersect—thus for each pair of column indices ( j, k ) with ≤ j ≤ and k in the blocks we are completing we include the clause W i ∈ C j a i,k . Similarly, if R i denotes the set of column in-dices of the s in row i we include clauses of the form W j ∈ R i a k,j where ≤ k ≤ and block i is selected. exicographic constraints Consider the columns of ablock that have a single in A (e.g., columns 24–28 inFigure 3). By Figure 1 we know there are exactly three sin the first 43 rows of these columns (two of which appearin A ). If i and i are the row indices of the s in column j that is not the final column in a block then the lexicographicordering of the columns implies that A i ∗ ,j +1 = 0 for all ≤ i ∗ < min( i, i ) . Translating this into conjunctive nor-mal form, we include the clauses ¬ a i,j ∨ ¬ a i ,j ∨ ¬ a i ∗ ,j +1 for all ≤ i ∗ < i < i ≤ and all columns j that havea single in A (except for the final column in a block).This generalizes the lexicographic encoding of (Bright et al.2020b); and we encoded the row lexicographic constraintsin a similar way.These constraints uniquely fix certain entries. For exam-ple, if the bottom row of Figure 3 was the first row in A then the leftmost entry in each gray rectangle would haveto be . In our main instances we reorder the rows of A tomaximize the number of mutually intersecting rows at thetop in order to fix as many entries as possible. Partial isomorphism removal constraints
These con-straints are optional and tend to only apply in the easiestcases, though when they do apply they effectively constrainthe search. They encode the “extra partial isomorphism test-ing” condition of (Lam, Thiel, and Swiercz 1989). Briefly, iftwo of the first six rows intersect after the first 19 columnsthen the vector formed by adding (mod 2) these rows to (as a binary vector) forms a new vector that intersectssix rows of A five times each. The specific six rows vary be-tween cases but may quickly be determined in each case byexamining A and A . There are only a small number ofways of completing those six rows and each way must beisomorphic to one of the 66 possibilities for A . If the com-pletion corresponds to a case that has already been solvedthen a clause blocking that completion can be included inthe SAT instance as it cannot lead to a solution. If the A cases are ordered so that those with the fewest number of A s are solved first then about 22% of A s have all of theircompletions isomorphic to previously solved cases. Each of our SAT instances used the columns from 4 to 6blocks. We used two different methods of selecting theblocks: a simple method which was used in the easiest casesand a more involved method which was used in the hardestcases and which we experimentally found was about 4 to 5times faster in those cases.
Inside block method
This method was used on the caseswith two or more columns with column sum in A —thesetend to be the easiest cases. This method simply selects fiveblocks (i.e., ignores a single block) chosen to maximize thenumber of intersections that occur in the first six rows ofthe selected blocks. For example, in Figure 3 blocks 5 and 6have the most intersections in A so they are chosen. Ad-ditionally, blocks 1 and 2 are chosen since they intersectblocks 5 and 6. If possible, the block that is ignored is ablock that has no intersections in A ; otherwise, one of the remaining blocks with a single intersection in A is ignored(e.g., block 3 in Figure 3). Outside block method
This method was used on the caseswith at most a single column with column sum in A —these tend to be the hardest cases because of the lack of in-tersections between blocks in A (which tend to produceconflicts leading to quick proofs of unsatisfiability). Thus,in these cases we used a seventh “outside” block that sharescolumns with as many of the first six (or inside ) blocks aspossible.First, we choose a “special” line in the first 37 rows of A which includes points in as many inside blocks as possi-ble. For example, in Figure 3 the line at the bottom includespoints from the blocks 1, 3, and 6, though in some cases aline can be found that is incident to all six inside blocks.The remaining points on the special line become the outsideblock. For example, in Figure 3 the outside block would in-clude the last five columns of the diagram if the bottom linewas selected as the special line.The SAT instance only uses blocks incident to the specialline and the blocks (if any) that intersect in the first six rows.Additionally, in order to reduce the number of constraintsone inside block is dropped from the instance (so long as atleast four blocks in total are selected). The dropped block isselected to have the fewest number of rows with unassignedentries in common with the other blocks. Such a block isthe least likely to produce conflicts—since conflicts betweentwo blocks occur in rows where both blocks have unassignedentries. In this section we describe the certificates from our reso-lution of Lam’s problem and how a third party can verifythem. We use several kinds of certificates based on the differ-ent parts of the search. First, we provide a certificate whichspecifies the possible cases for A . For each A we provideanother certificate specifying each of the ways (if any) ofextending that A to A , and similarly for each A we pro-vide a certificate specifying each of the ways (if any) of ex-tending that A to the selected blocks (as described in Sec-tion 3.4) of A . Finally, we provide certificates showing allcompletions of the selected blocks do not extend to a com-plete A and thereby resolve Lam’s problem. Our certificatesare based on the DRAT (deletion resolution asymmetric tau-tology) format (Wetzler, Heule, and Hunt Jr. 2014) which isa standard format used for verifying the unsatisfiability ofSAT instances. A certificate The A certificate consists of a DRAT proof that the A SATinstance adjoined with 3,366 blocking clauses (one for eachsolution of the original instance) is unsatisfiable, thus pro-viding all solutions of the original instance. Furthermore, aseparate certificate (produced by the library Traces) containsan explicit permutation of the rows and columns of each so-lution that produces a unique canonical form in each case.Using these permutations one can verify each solution is iso-morphic to one of 66 A s, providing an upper bound on theumber of A s that need to be considered—all that is strictlynecessary to verify the resolution of Lam’s problem.Traces also provides the elements of the symmetry groupof each A . One can verify this output without needing totrust Traces’ implementation; it is straightforward to ver-ify that the permutations produced by Traces do in fact fixthe entries of A and one can independently check (e.g., byhand) that the size of the symmetry group is correct. A certificates The A certificates consist of DRAT proofs of unsatisfi-ability for each A SAT instance adjoined with blockingclauses for every solution found and blocking clauses forevery (possibly partial) completion that is isomorphic to arecorded completion (as described in Section 3.2). Accom-panying each solution and partial completion is a set of rowand column permutations (provided by Traces) for translat-ing the solution or partial completion into a canonical form.In order to verify one of the certificates, one needs to ver-ify that (1) the DRAT proof does indeed show the unsatisfia-bility of the augmented SAT instance, and (2) the canonicalform of each (partial or complete) solution is equal to thecanonical form of one of the recorded nonisomorphic com-pletions.By Theorem 1 this shows that the set of solutions consistsof exactly one solution from each equivalence class of solu-tions to the original SAT instance. Moreover, each blockedclause is independently justified (without trusting Traces) toblock one of the recorded solutions or to block a partial com-pletion isomorphic to a recorded partial completion.The fact that each of the recorded solutions are noniso-morphic to each other does rely on trusting Traces’ canon-ical form. In order to verify the resolution of Lam’s prob-lem it is not strictly necessary to verify the recorded A s arenonisomorphic—however, in order to verify (without trust-ing Traces) that our A counts did not include extraneouscases we also performed a verification that all recorded so-lutions were nonisomorphic of each other.Note that all A s that are isomorphic to a given A can begenerated through the symmetry group of its associated A ;up to row permutations any two isomorphic A s must beisomorphic to each other via a permutation in the symmetrygroup of A . Additionally, as mentioned in Section 4.1, thesymmetry group of each A can be verified without trustingTraces. No two recorded A s are isomorphic to each otherunder the symmetries of their associated A , thereby show-ing each of the recorded A s are indeed mutually noniso-morphic. This can be exhaustively verified by applying ev-ery A symmetry group permutation to every recorded A . The main certificates consist of DRAT proofs of unsatisfia-bility for each of the SAT instances described in Section 3.3adjoined with blocking clauses for the completions (if any)of the blocks selected to appear in the SAT instance. The ma-jority of SAT instances had no completions but in about 3%of them completions were found—see the online appendixfor one explicit such completion. An individual certificate for each completion can be gen-erated showing that the completion does not extend to acomplete incidence matrix A . Alternatively, it is more ef-ficient to generate one certificate for each case A showingthat none of the completions found in that case can be ex-tended. In order to do this, we generate a SAT instance foreach A that includes the variables and constraints from allsix inside blocks and those from the outside block columnsappearing in each completion. Each completion C found forthat A is specified as a set of incremental assumption unitclauses (Audemard, Lagniez, and Simon 2013). Once thesolver finds no solutions while assuming V C | = p p it moveson to the next set of assumptions. This “incremental” solveproduces a single DRAT certificate which proves the clause W C | = p ¬ p for each completion C under consideration—thereby demonstrating that these completions C cannot beextended to all six inside blocks. This verifies that a fullcompletion of A cannot in fact exist. Our SAT instances are generated by Python scripts that arefreely available as a part of the “MathCheck” project. Thecode, along with Bash scripts to generate and check thecertificates, is available from uwaterloo.ca/mathcheck. Un-less otherwise specified we solve the SAT instances usingMapleSAT (Liang et al. 2016) and verify the certificates us-ing GRATgen (Lammich 2017). The computations were per-formed on a cluster of Intel E5 cores at 2.1 GHz runningLinux and using at most 4GB of memory. A and A results The A instance can be generated and solved in a few sec-onds. The resulting certificate (about 1MB) shows that thereare 3,366 total solutions of the SAT instance and 3,300 ofthem are isomorphic to one of the remaining 66 A s. We la-bel these A s using the case numbers given in (Kaski andÖstergård 2006).The A instances are generated and solved in about 25minutes and produce a total of 650,370 nonisomorphic A s.The resulting certificates along with the canonical form la-bellings provided by Traces total about 7GB. Fifteen cases(4, 10, 14, 19, 28–31, 35, 40, 44, 45, 59, 61, and 62)are found to have no A s. Five cases (32, 38, 54, 57,and 64) imply the existence of a word of weight 16 in A ’srowspace (Lam, Crossfield, and Thiel 1985) and previoussearches (Carter 1974; Lam, Thiel, and Swiercz 1986) andcertificates (Bright et al. 2020b) demonstrates the nonexis-tence of such a word. Case 52 is eliminated by a theoreti-cal argument (Lam, Crossfield, and Thiel 1985), leaving 45cases remaining.Our counts for the number of nonisomorphic A s in theremaining 45 cases match those of (Lam, Thiel, and Swiercz1989) in all but the eight cases shown in Table 1. The inde-pendent verification (Roy 2011) does not provide the num-ber of A s found in each case but their total A count is in-consistent with both the counts of Lam et al. and the countsprovided by our certificates. It is unclear what caused thediscrepancy between these searches—the previous searchesase Lam Our Work Case Lam Our Work11 7,397 7,059 39 1,010 50512 10,966 10,635 56 1,554 79416 5,958 8,040 58 4,329 4,18823 8,033 7,971 66 662 168Table 1: The A counts given by (Lam, Thiel, and Swiercz1989) that differ with the counts given by our work.did not produce certificates and by personal communicationwe have been informed that the code and data from the pre-vious searches are no longer available.The method described in Section 4.2 of checking thatthe generated A s are mutually nonisomorphic generates56,157,420 total A s; complete counts for each case is avail-able in the online appendix. Adding these A s as blockingclauses to the original A instances (without using symme-try removal) produces unsatisfiable instances that provide asecond verification that no A s were missed—and withoutrelying on Theorem 1. However, the instances generated inthis way took about 150 times longer to solve. The 45 remaining cases have a total of 639,075 nonisomor-phic A s between them. SAT instances are generated foreach of these and are simplified using the solver C A D I -C A L (Biere 2019) run for 20,000 conflicts. In total this sim-plification uses about 400 hours and determines that 166,408of the instances are unsatisfiable.The remaining simplified instances are processed usingthe “cubing” solver March_cu (Heule et al. 2011). We dis-abled the default cubing cutoff of this solver in favour ofa cutoff based on the number of free variables in the sub-problems specified by each cube. More precisely, when thenumber of free variables in a subproblem drops below a pro-vided bound no more cubing occurs in that subproblem. Thecubing bound is controlled by March_cu’s -n parameter, butwe modified March_cu so that the auxiliary variables fromthe cardinality constraints are not considered free. The cut-off bound was experimentally chosen by randomly selectingup to several hundred instances from each case and deter-mining a bound that minimizes the sum of the cubing andconquering times. Ultimately, the cubing solver producesover 312 million cubes and uses about 1,200 hours.The simplified SAT instances are solved using the con-quering solver MapleSAT with the cubes produced byMarch_cu. This requires about 15,000 total core hours orabout 16 hours of real time when simultaneously distributedacross 30 machines with 32 cores each. In each instance theDRAT proof produced by MapleSAT is concatenated withthe simplification proof produced by C A D I C A L. The com-bined proofs total about 110 tebibytes in a binary format andare used to verify that each of the original SAT instances(after adding blocking clauses for each solution found byMapleSAT) are unsatisfiable; GRATgen checked the proofsin about 33,000 core hours. It is possible that each solutionfound by MapleSAT leads to more than one solution of the original SAT instance because variables are eliminated dur-ing the simplification process. Regardless, the DRAT proofsshow that the solutions found by MapleSAT are exhaustivein the sense that any satisfying assignment of the originalSAT instance must extend a solution found by MapleSAT.MapleSAT finds 24,882 partial solutions and these are allshown to not extend to a full incidence matrix in a totalof about 6 minutes. These certificates are about 4GB andare checked with DRAT-trim (Wetzler, Heule, and Hunt Jr.2014) in forward checking mode. The default backwardchecking mode can not be used as these certificates are gen-erated using incremental assumptions and therefore provethe negation of each set of assumptions rather than an emptyclause.
In this paper we have completed a resolution of Lam’sproblem from finite geometry—the problem of showing thenonexistence of a projective plane of order ten. Extensivesearches solved this problem in a landmark result in the1980s and this result remains one of the most significantresults in computational combinatorial classification. Ourwork improves on these searches by producing certificatesthat can be verified by a third party using a proof verifier.In contrast to the previous resolutions of Lam’s problemour work is less error-prone in the sense that it does not re-quire writing custom-purpose search algorithms. Instead, wereduce the problem to SAT and use SAT solvers to performall of the exhaustive searches. Our work demonstrates thebenefits of this approach, as we uncover inconsistencies withboth the original search and an independent confirmation.Moreover, our search provides the fastest known demon-stration of the nonexistence of primitive weight 19 wordsin a projective plane of order ten (in part due to increasesin computational capacity). Our search shows this nonex-istence result using about 24 months on desktop CPUs(at 2.1 GHz), while (Roy 2011) used about 27 months ondesktop CPUs (at 2.4 GHz) and (Lam, Thiel, and Swiercz1989) used about 27 months on a VAX 11/780 and about 3months on a CRAY-1A.As previously mentioned our work does not provide a for-mal proof resolving Lam’s problem because it relies on sometheoretical results that currently have no computer verifiableproofs as well as some unverified scripts that generate andsolve the SAT instances. As future work we would like to seea completely formal verification based on a SAT encoding.This will likely be a significant challenge due to the amountof theoretical results that the encoding relies on as well asthe extensive parallelization that is seemingly necessary inorder to check the proof in a reasonable amount of time.
Author’s note
We thank the reviewers for their thoughtfulcomments. The online appendix, the code used in this paper,the SAT instances, and a collection of the certificates areavailable at uwaterloo.ca/mathcheck—these have also beenarchived at doi.org/10.5281/zenodo.3842255. eferences
Audemard, G.; Lagniez, J.-M.; and Simon, L. 2013. Improv-ing Glucose for incremental SAT solving with assumptions:Application to MUS extraction. In
International conferenceon theory and applications of satisfiability testing , 309–317.Springer.Biere, A. 2019. C A D I C A L at the SAT Race 2019. In Heule,M. J. H.; Järvisalo, M.; and Suda, M., eds.,
Proceedings ofSAT Race 2019: Solver and Benchmark Descriptions , vol-ume B-2019-1. Department of Computer Science, Univer-sity of Helsinki.Bright, C.; Cheung, K.; Stevens, B.; Roy, D.; Kotsireas, I.;and Ganesh, V. 2020a. A Nonexistence Certificate for Pro-jective Planes of Order Ten with Weight 15 Codewords.
Ap-plicable Algebra in Engineering, Communication and Com-puting
31: 195–213.Bright, C.; Cheung, K. K. H.; Stevens, B.; Kotsireas, I.;and Ganesh, V. 2020b. Unsatisfiability Proofs for Weight16 Codewords in Lam’s Problem. In
Proceedings of the29th International Joint Conference on Artificial Intelli-gence , 1460–1466. IJCAI Press.Bruck, R. H.; and Ryser, H. J. 1949. The nonexistence ofcertain finite projective planes.
Canadian Journal of Math-ematics
On the existence of a projective plane oforder ten . Ph.D. thesis, University of California, Berkeley.Cruz-Filipe, L.; Marques-Silva, J.; and Schneider-Kamp,P. 2018. Formally verifying the solution to the BooleanPythagorean triples problem.
Journal of Automated Rea-soning
Finite geometries . Springer-Verlag.Ganesh, V.; O’Donnell, C. W.; Soos, M.; Devadas, S.; Ri-nard, M. C.; and Solar-Lezama, A. 2012. Lynx: A program-matic SAT solver for the RNA-folding problem. In
Interna-tional Conference on Theory and Applications of Satisfiabil-ity Testing , 143–156. Springer.Heule, M. J. H. 2018. Schur Number Five. In
Proceedingsof the Thirty-Second AAAI Conference on Artificial Intelli-gence , 6598–6606.Heule, M. J. H.; Kullmann, O.; and Marek, V. W. 2016.Solving and verifying the Boolean Pythagorean triples prob-lem via cube-and-conquer. In
International Conference onTheory and Applications of Satisfiability Testing , 228–245.Heule, M. J. H.; Kullmann, O.; and Marek, V. W. 2017.Solving Very Hard Problems: Cube-and-Conquer, a HybridSAT Solving Method. In
Proceedings of the 26th Inter-national Joint Conference on Artificial Intelligence , 4864–4868. IJCAI Press.Heule, M. J. H.; Kullmann, O.; Wieringa, S.; and Biere, A.2011. Cube and conquer: Guiding CDCL SAT solvers bylookaheads. In Eder, K.; Lourenço, J.; and Shehory, O., eds.,
Haifa Verification Conference , 50–65. Springer.Kaski, P.; and Östergård, P. R. J. 2006.
Classification Algo-rithms for Codes and Designs . Springer. Keller, C. 2019. SMTCoq: Mixing Automatic and Interac-tive Proof Technologies. In Hanna, G.; Reid, D. A.; andde Villiers, M., eds.,
Proof Technology in Mathematics Re-search and Teaching , 73–90. Cham: Springer InternationalPublishing.Knuth, D. E. 2015.
The Art of Computer Programming, Vol-ume 4, Fascicle 6: Satisfiability . Addison-Wesley Profes-sional.Konev, B.; and Lisitsa, A. 2014. A SAT Attack on theErd˝os Discrepancy Conjecture. In Sinz, C.; and Egly, U.,eds.,
Theory and Applications of Satisfiability Testing – SAT2014 , volume 8561 of
LNCS , 219–226. Springer Interna-tional Publishing, Cham. ISBN 978-3-319-09284-3.Lam, C. W. H. 1990. How reliable is a computer-basedproof?
Mathematical Intelligencer
Con-gressus Numerantium
48: 253–263.Lam, C. W. H.; Thiel, L.; and Swiercz, S. 1986. The nonex-istence of code words of weight 16 in a projective plane oforder 10.
Journal of Combinatorial Theory, Series A
CanadianJournal of Mathematics
International Conference on Automated De-duction , 237–254. Springer.Liang, J. H.; Ganesh, V.; Poupart, P.; and Czarnecki, K.2016. Exponential Recency Weighted Average BranchingHeuristic for SAT Solvers. In
Proceedings of the ThirtiethAAAI Conference on Artificial Intelligence , 3434–3440.MacWilliams, F. J.; Sloane, N. J. A.; and Thompson, J. G.1973. On the existence of a projective plane of order 10.
Journal of Combinatorial Theory, Series A
Journal of Symbolic Computation
Confirmation of the Non-existence of aProjective Plane of Order 10 . Master’s thesis, Carleton Uni-versity.Sinz, C. 2005. Towards an optimal CNF encoding ofBoolean cardinality constraints. In
International conferenceon principles and practice of constraint programming , 827–831. Springer.von Staudt, K. G. C. 1856.
Beiträge zur Geometrie der Lage,Erstes Heft . Nürnberg: Verlag der Fr. Korn’schen Buchhand-lung.Weisstein, E. W. 2002.
CRC Concise Encyclopedia of Math-ematics . CRC Press.Wetzler, N.; Heule, M. J. H.; and Hunt Jr., W. A. 2014.DRAT-trim: Efficient checking and trimming using expres-sive clausal proofs. In
International Conference on The-ory and Applications of Satisfiability Testing , 422–429.Springer.
SAT-based Resolution of Lam’s Problem: Online Appendix
One partial completion of A found by our main search.Black entries represent , white entries represent , and eachgray rectangle contains a single . This particular comple-tion consists of an outside block along with the inside blocks3, 4, and 5. As mentioned in the main text, the rows of the A have been reordered from lexicographic order—insteadthe first row is incident to as many inside blocks as possibleand the number of mutually intersecting rows in A at thetop is maximized. Theorem 1.
If the A SAT instances are solved with iso-morphism removal performed after the completion of eachlevel then the solver will record exactly one representativefrom each equivalence class of A completions.Proof. Because isomorphism removal will be performed af-ter the final level (i.e., after finding a complete A ) at mostone solution from each equivalence class will be recorded.Next, we must show that at least one solution from eachequivalence class will be recorded. Suppose for the sake ofcontradiction that there is a solution S that is not recorded(and no solutions isomorphic to S are recorded). Let S l de-note the submatrix of S up to and including level l . Since S (the empty matrix) will be recorded at the beginning of thesearch and S = S is not recorded there must be a level l such that S l − is recorded but S l is not recorded.Since S l − is recorded the solver will examine all pos-sible ways of completing S l − to level l and thus will en-counter S l in the search. Since S l will be found but notrecorded, there must be some isomorphic S l that was pre-viously recorded. Let ϕ be the permutation of rows andcolumns that sends S l to S l and let ϕ ( S ) denote applyingthe permutations of ϕ to S followed by resorting its rows (asthe lexicographic ordering of the rows after the first l levelsmay be disturbed). This resorting does not affect the first l levels of ϕ ( S ) as these rows are already sorted and lexico-graphically greater than the rows after the first l levels. Thus ϕ ( S ) is an A isomorphic to S whose first l levels consist of S l and are therefore recorded.Now there must be a new level l with l < l such that thefirst l − levels of ϕ ( S ) are recorded but the first l lev-els are not recorded. Repeating the above reasoning we finda recorded matrix isomorphic to the first l levels of ϕ ( S ) and proceeding inductively we arrive at a recorded matrixcontaining all levels and that is isomorphic to S —a contra-diction.Note that one must be careful when isomorphism removalis performed in order to ensure completeness—the proof ofTheorem 1 requires that isomorphism removal is performedfollowing the completion of each level. The theorem willnot necessarily hold if isomorphism removal is performedfollowing the completion of each row, for example. a r X i v : . [ c s . D M ] D ec ase Inequiv. Total1 20,129 11,530,3682 11,861 9,014,7843 2,501 1,888,5125 5,219 7,704,5766 111,538 5,347,9687 13,211 840,7048 110,879 3,542,9449 87,807 702,45611 7,059 225,63212 10,635 1,020,57613 11,961 574,12815 43,719 697,93616 8,040 192,96017 9,110 145,76018 3,406 162,55220 27,221 3,918,67221 9,410 2,019,74422 18,947 452,49623 7,971 191,30424 17,102 546,96025 21,180 338,81626 18,970 151,76027 1,759 84,43232 2,052 570,52833 16,509 131,88834 673 10,76836 5,166 646,46437 3,215 77,16038 5,445 516,09639 505 12,12041 10,102 80,81642 1,679 52,89643 4,855 38,84046 50 13,63247 912 21,88848 863 40,49649 101 1,255,68050 1,064 291,60051 3,685 174,38452 604 43,48853 182 103,10454 1,458 409,53655 3,656 115,22456 794 12,43257 601 56,40058 4,188 33,32060 90 6,26463 196 6,00064 1,135 101,76065 787 35,94866 168 2,648Total 650,370 56,157,420Counts for the number of inequivalent A s (up to isomor-phism) and the total number of A s in each case with no iso-morphism removal besides ordering the rows lexicographi-cally. Cases that are not listed have no A2