Skip to Main content Skip to Navigation
Journal articles

A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality

Abstract : We developed a formal framework for CDCL (conflict-driven clause learning) using the Isabelle/HOL proof assistant. Through a chain of refinements, an abstract CDCL calculus is connected first to a more concrete calculus, then to a SAT solver expressed in a functional programming language, and finally to a SAT solver in an imperative language, with total correctness guarantees. The framework offers a convenient way to prove metatheorems and experiment with variants, including the DPLL (Davis-Putnam-Logemann-Loveland) calculus. The imperative program relies on the two-watched-literal data structure and other optimizations found in modern solvers. We used Isabelle's Refinement Framework to automate the most tedious refinement steps. The most noteworthy aspects of our work are the inclusion of rules for forget, restart, and incremental solving and the application of stepwise refinement.
Document type :
Journal articles
Complete list of metadata

Cited literature [61 references]  Display  Hide  Download

https://hal.inria.fr/hal-01904579
Contributor : Jasmin Blanchette Connect in order to contact the contributor
Submitted on : Thursday, October 25, 2018 - 10:37:51 AM
Last modification on : Saturday, October 16, 2021 - 11:26:09 AM
Long-term archiving on: : Saturday, January 26, 2019 - 1:23:00 PM

File

sat_article.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Jasmin Christian Blanchette, Mathias Fleury, Peter Lammich, Christoph Weidenbach. A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality. Journal of Automated Reasoning, Springer Verlag, 2018, 61 (1-4), pp.333-365. ⟨10.1007/s10817-018-9455-7⟩. ⟨hal-01904579⟩

Share

Metrics

Record views

283

Files downloads

173