About: Boolean Pythagorean triples problem is a research topic. Over the lifetime, 4 publications have been published within this topic receiving 246 citations.
TL;DR: This work solves the boolean Pythagorean Triples problem by using the Cube-and-Conquer paradigm, a hybrid SAT method for hard problems, employing both look-ahead and CDCL solvers, and produced and verified a proof in the DRAT format, which is almost 200 terabytes in size.
Abstract: The boolean Pythagorean Triples problem has been a longstanding open problem in Ramsey Theory: Can the set N = $\{1, 2, ...\}$ of natural numbers be divided into two parts, such that no part contains a triple $(a,b,c)$ with $a^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.
TL;DR: The Cube-and-Conquer paradigm as discussed by the authors is a hybrid SAT method for hard problems, employing both look-ahead and CDCL solvers, which indeed allowed to solve the problem on a cluster with 800 cores in about 2 days.
Abstract: The boolean Pythagorean Triples problem has been a longstanding open problem in Ramsey Theory: Can the set \(\mathbb {N}= \{1,2,\dots \}\) of natural numbers be divided into two parts, such that no part contains a triple (a, b, c) with \(a^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.
TL;DR: This chapter presents the cube-and-conquer paradigm, a competitive alternative for solving SAT problems in parallel which outperforms both lookahead and conflict-driven solvers and achieves linear-time speedups on this problem even when using thousands of cores.
Abstract: Satisfiability (SAT) is considered to be one of the most important core technologies in formal verification and related areas. Even though there is steady progress in improving practical SAT solving, there are limits on the scalability of SAT solvers. In this chapter, we present the cube-and-conquer paradigm which addresses this issue and targets reducing solving time on hard instances. This two-phase approach partitions a problem into many thousands (or millions) of cubes using lookahead techniques. Afterwards, a conflict-driven solver tackles the problem, using the cubes to guide the search. On several hard competition benchmarks, our hybrid approach outperforms both lookahead and conflict-driven solvers. Moreover, because cube-and-conquer is natural to parallelize, it is a competitive alternative for solving SAT problems in parallel. We demonstrate the strength of cube-and-conquer on the Boolean Pythagorean Triples problem, a recently solved challenge from Ramsey Theory. Cube-and-conquer achieves linear-time speedups on this problem even when using thousands of cores. Moreover, we show how to compute a proof for such a hard problem when solving it using cube-and-conquer.
TL;DR: This work state the Boolean Pythagorean Triples problem in Coq, define its encoding as a propositional formula and establish the relation between solutions to the problem and satisfying assignments to the formula.
Abstract: The Boolean Pythagorean Triples problem asks: does there exist a binary coloring of the natural numbers such that every Pythagorean triple contains an element of each color? This problem was first solved in 2016, when Heule, Kullmann and Marek encoded a finite restriction of this problem as a propositional formula and showed its unsatisfiability. In this work we formalize their development in the theorem prover Coq. We state the Boolean Pythagorean Triples problem in Coq, define its encoding as a propositional formula and establish the relation between solutions to the problem and satisfying assignments to the formula. We verify Heule et al.’s proof by showing that the symmetry breaks they introduced to simplify the propositional formula are sound, and by implementing a correct-by-construction checker for proofs of unsatisfiability based on reverse unit propagation.