A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality - Inria - Institut national de recherche en sciences et technologies du numérique
Article Dans Une Revue Journal of Automated Reasoning Année : 2018

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

Résumé

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
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

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

Identifiants

Citer

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⟩
142 Consultations
294 Téléchargements

Altmetric

Partager

More