Curtis Bright, School of Computer Science, Waterloo University

MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures
In this talk, we present MathCheck2, a combination of a SAT solver and a computer algebra system (CAS) aimed at finitely verifying or counterexampling mathematical conjectures. Using MathCheck2 we generated Hadamard matrices all orders 4n with n < 35 and provided 160 matrices to the Magma Hadamard database that were not equivalent to any matrix previously in that database. Furthermore, we provide independent verification of the claim that Williamson matrices of order 35 do not exist, and demonstrate for the first time that 35 is the smallest number with this property. The crucial insight behind the MathCheck2 algorithm and tool is that a combination of an efficient search procedure (like those in SAT solvers) with a domain-specific knowledge base (a la CAS) can be a very effective way to verify, counterexample, and learn deeper properties of mathematical conjectures (especially in combinatorics) and the structures they refer to. MathCheck2 uses a divide-and-conquer approach to parallelize the search, and a CAS to prune away classes of structures that are guaranteed to not satisfy the conjecture-under-verification C. The SAT solver is used to verify whether any of the remaining structures satisfy C, and in addition learn UNSAT cores in a conflict-driven clause-learning style feedback loop to further prune away non-satisfying structures. (This is joint work by Curtis Bright, Vijay Ganesh, Albert Heinle, Ilias Kotsireas, Saeed Nejati, and Krzysztof Czarnecki)