Cargando…

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

We developed a formal framework for conflict-driven clause learning (CDCL) 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 finall...

Descripción completa

Detalles Bibliográficos
Autores principales: Blanchette, Jasmin Christian, Fleury, Mathias, Lammich, Peter, Weidenbach, Christoph
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Springer Netherlands 2018
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6044257/
https://www.ncbi.nlm.nih.gov/pubmed/30069073
http://dx.doi.org/10.1007/s10817-018-9455-7
_version_ 1783339450240073728
author Blanchette, Jasmin Christian
Fleury, Mathias
Lammich, Peter
Weidenbach, Christoph
author_facet Blanchette, Jasmin Christian
Fleury, Mathias
Lammich, Peter
Weidenbach, Christoph
author_sort Blanchette, Jasmin Christian
collection PubMed
description We developed a formal framework for conflict-driven clause learning (CDCL) 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 Davis–Putnam–Logemann–Loveland (DPLL) 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.
format Online
Article
Text
id pubmed-6044257
institution National Center for Biotechnology Information
language English
publishDate 2018
publisher Springer Netherlands
record_format MEDLINE/PubMed
spelling pubmed-60442572018-07-30 A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality Blanchette, Jasmin Christian Fleury, Mathias Lammich, Peter Weidenbach, Christoph J Autom Reason Article We developed a formal framework for conflict-driven clause learning (CDCL) 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 Davis–Putnam–Logemann–Loveland (DPLL) 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. Springer Netherlands 2018-03-12 2018 /pmc/articles/PMC6044257/ /pubmed/30069073 http://dx.doi.org/10.1007/s10817-018-9455-7 Text en © The Author(s) 2018 Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
spellingShingle Article
Blanchette, Jasmin Christian
Fleury, Mathias
Lammich, Peter
Weidenbach, Christoph
A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality
title A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality
title_full A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality
title_fullStr A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality
title_full_unstemmed A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality
title_short A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality
title_sort verified sat solver framework with learn, forget, restart, and incrementality
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6044257/
https://www.ncbi.nlm.nih.gov/pubmed/30069073
http://dx.doi.org/10.1007/s10817-018-9455-7
work_keys_str_mv AT blanchettejasminchristian averifiedsatsolverframeworkwithlearnforgetrestartandincrementality
AT fleurymathias averifiedsatsolverframeworkwithlearnforgetrestartandincrementality
AT lammichpeter averifiedsatsolverframeworkwithlearnforgetrestartandincrementality
AT weidenbachchristoph averifiedsatsolverframeworkwithlearnforgetrestartandincrementality
AT blanchettejasminchristian verifiedsatsolverframeworkwithlearnforgetrestartandincrementality
AT fleurymathias verifiedsatsolverframeworkwithlearnforgetrestartandincrementality
AT lammichpeter verifiedsatsolverframeworkwithlearnforgetrestartandincrementality
AT weidenbachchristoph verifiedsatsolverframeworkwithlearnforgetrestartandincrementality