Skip to content

Commit

Permalink
Merge pull request #11 from bsubercaseaux/cube-n-conquer-challenges
Browse files Browse the repository at this point in the history
Cube & conquer validation challenges
  • Loading branch information
ccodel authored Jun 10, 2024
2 parents 5633674 + f2e5892 commit c04ba2a
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 12 deletions.
15 changes: 8 additions & 7 deletions ITP/conclusions.tex
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,13 @@
that did not match the (correct) code of Heule and Scheucher.
Our formalization corrects this.

In terms of future work,
we hope to formally verify the result $h(7) = \infty$ due to Horton~\cite{hortonSetsNoEmpty1983},
\subsection*{Future Work}
We hope to formally verify the result $h(7) = \infty$ due to Horton~\cite{hortonSetsNoEmpty1983},
and other results in Erd\H{o}s-Szekeres style problems.
A key challenge for the community
is to improve the connection between verified SAT tools and ITPs.
This presents a significant engineering task
for proofs that are hundreds of terabytes long (as in this result).

We also want to improve the trust story of importing ``cube and conquer''-style results into an ITP.
Importing these kinds of proofs is a significant engineering task
when the proof certificate is hundreds of terabytes in size,
as it was for this result (see \Cref{sec:running_cnf}).
Although we are confident that our results are correct,
the trust story at this connection point has room for improvement.
more work needs to be done to strengthen the trust in this connection point.
21 changes: 17 additions & 4 deletions ITP/encoding.tex
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@
which can be assembled into a $6$-hole $ap'ed'cb'$.

Justifying this formally turned out to be complex,
requring a fair bit of reasoning about point \lstinline|Arc|s
requiring a fair bit of reasoning about point \lstinline|Arc|s
and \lstinline|σCCWPoints|: lists of points winding around a convex polygon.
Luckily, the main argument can be summarized in terms of two facts:
(a) any triangle $abc$ contains an empty triangle $ab'c$; and
Expand Down Expand Up @@ -154,7 +154,8 @@
are both empty shapes in $P$,
then $S$ is an empty shape in $P$.

\subparagraph*{Running the CNF.}
\subsection*{Running the CNF.}
\label{sec:running_cnf}
Having now shown that our main result follows if $\phi_{30}$ is unsatisfiable,
we run a distributed computation to check its unsatisfiability.
We solve the SAT formula~$\phi_{30}$ produced by Lean using the same setup as
Expand All @@ -164,17 +165,29 @@
we partition the problem into 312\,418 subproblems.
Each of these subproblems was
solved using {\tt CaDiCaL} version 1.9.5.
The solver produced an LRAT proof for each execution,
{\tt CaDiCaL} produced an LRAT proof for each execution,
which was validated using the {\tt cake\_lpr} verified checker on-the-fly
in order to avoid writing/storing/reading large files.
The total runtime was 25\,876.5 CPU hours, or roughly 3 CPU years.
The difference in runtime relative to Heule and Scheucher's original run
is purely due to the difference in hardware.
Additionally,
we validated that the subproblems cover the entire search space as Heule and Scheucher did~\cite[Section 7.3]{emptyHexagonNumber}.
we validated that the subproblems cover the entire search space
as Heule and Scheucher did~\cite[Section 7.3]{emptyHexagonNumber}.
This was done by verifying the unsatisfiability
of another formula that took 20 seconds to solve.

The artifact for this paper includes scripts to validate any individual subproblem,
as well as the summary proof that the subproblems cover the search space.
However, the unsatisfiability of $\phi_{30}$ depends on
the unsatisfiability of \textit{all} (hundreds of thousands of) subproblems.
A skeptical reader might wish to examine the proof files for all subproblems,
but we estimated the total proof size to be tens or hundreds of terabytes,
far too much to reasonably store and distribute.
Instead, the skeptical reader must run the entire 3 CPU year computation.
We believe this trust story can be somewhat improved,
but we leave such a challenge to future work.

% file-local attic:

% By using the triangulation lemma repeatedly,
Expand Down
18 changes: 18 additions & 0 deletions ITP/main.bib
Original file line number Diff line number Diff line change
Expand Up @@ -671,3 +671,21 @@ @InProceedings{sbva
IGNOREURN = {urn:nbn:de:0030-drops-184736},
doi = {10.4230/LIPIcs.SAT.2023.11},
}

@InProceedings{cube_and_conquer,
author="Heule, Marijn J. H.
and Kullmann, Oliver
and Wieringa, Siert
and Biere, Armin",
editor="Eder, Kerstin
and Louren{\c{c}}o, Jo{\~a}o
and Shehory, Onn",
title="Cube and Conquer: Guiding CDCL SAT Solvers by Lookaheads",
booktitle="Hardware and Software: Verification and Testing",
year="2012",
publisher="Springer Berlin Heidelberg",
address="Berlin, Heidelberg",
pages="50--65",
abstract="Satisfiability (SAT) is considered as 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 scalability of SAT solvers. We address this issue and present a new approach, called cube-and-conquer, targeted at 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.",
isbn="978-3-642-34188-5"
}
2 changes: 1 addition & 1 deletion ITP/triple-orientations.tex
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@
$\left(\mathbb{R}^2\right)^n$.
This is the key idea that will allow us to transition from the finitely-verifiable statement ``\emph{no set of triple orientations over $n$ points satisfies property $\pi_k$}'' to the desired statement ``\emph{no set of $n$ points satisfies property $\pi_k$}.''
\subsection{Properties of orientations}\label{sec:sigma-props}
\subsection*{Properties of orientations}\label{sec:sigma-props}
We now prove,
assuming points are sorted left-to-right (which is justified in~\Cref{sec:symmetry-breaking}),
Expand Down

0 comments on commit c04ba2a

Please sign in to comment.