Skip to Main content Skip to Navigation
New interface
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
Contributor : Jasmin Blanchette Connect in order to contact the contributor
Submitted on : Thursday, October 25, 2018 - 10:37:51 AM
Last modification on : Friday, July 8, 2022 - 10:09:38 AM
Long-term archiving on: : Saturday, January 26, 2019 - 1:23:00 PM


Files produced by the author(s)




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



Record views


Files downloads