A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles Journal of Automated Reasoning Year : 2018

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.
Fichier principal
Vignette du fichier
sat_article.pdf (277.87 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

hal-01904579 , version 1 (25-10-2018)

Identifiers

Cite

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⟩
133 View
269 Download

Altmetric

Share

Gmail Facebook X LinkedIn More