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

Jasmin Christian Blanchette, Mathias Fleury, Christoph Weidenbach
2016 Lecture Notes in Computer Science  
We developed a formal framework for CDCL (conflict-driven clause learning) in Isabelle/HOL. Through a chain of refinements, an abstract CDCL calculus is connected to a SAT solver expressed in a functional programming language, with total correctness guarantees. The framework offers a convenient way to prove metatheorems and experiment with variants. Compared with earlier SAT solver verifications, the main novelties are the inclusion of rules for forget, restart, and incremental solving and the application of refinement.
doi:10.1007/978-3-319-40229-1_4 fatcat:5xhbugmxdbazpnnszokuyovxou