English

Solving and Verifying the boolean Pythagorean Triples problem via Cube-and-Conquer

Discrete Mathematics 2016-06-20 v1 Logic in Computer Science

Abstract

The boolean Pythagorean Triples problem has been a longstanding open problem in Ramsey Theory: Can the set N = {1,2,...}\{1, 2, ...\} of natural numbers be divided into two parts, such that no part contains a triple (a,b,c)(a,b,c) with a2+b2=c2a^2 + b^2 = c^2 ? 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}
}
R2 v1 2026-06-22T13:47:24.390Z