Solving and Verifying the boolean Pythagorean Triples problem via Cube-and-Conquer
Abstract
The boolean Pythagorean Triples problem has been a longstanding open problem in Ramsey Theory: Can the set N = of natural numbers be divided into two parts, such that no part contains a triple with ? A prize for the solution was offered by Ronald Graham over two decades ago. We solve this problem, proving in fact the impossibility, by using the Cube-and-Conquer paradigm, a hybrid SAT method for hard problems, employing both look-ahead and CDCL solvers. An important role is played by dedicated look-ahead heuristics, which indeed allowed to solve the problem on a cluster with 800 cores in about 2 days. Due to the general interest in this mathematical problem, our result requires a formal proof. Exploiting recent progress in unsatisfiability proofs of SAT solvers, we produced and verified a proof in the DRAT format, which is almost 200 terabytes in size. From this we extracted and made available a compressed certificate of 68 gigabytes, that allows anyone to reconstruct the DRAT proof for checking.
Cite
@article{arxiv.1605.00723,
title = {Solving and Verifying the boolean Pythagorean Triples problem via Cube-and-Conquer},
author = {Marijn J. H. Heule and Oliver Kullmann and Victor W. Marek},
journal= {arXiv preprint arXiv:1605.00723},
year = {2016}
}