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.
Type de document :
Article dans une revue
Journal of Automated Reasoning, Springer Verlag, 2018, 61 (1-4), pp.333-365. 〈10.1007/s10817-018-9455-7〉
Liste complète des métadonnées

Littérature citée [9 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01904579
Contributeur : Jasmin Christian Blanchette <>
Soumis le : jeudi 25 octobre 2018 - 10:37:51
Dernière modification le : vendredi 9 novembre 2018 - 11:30:44

Fichier

sat_article.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

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〉

Partager

Métriques

Consultations de la notice

61

Téléchargements de fichiers

7