{"type":"ScholarlyArticle","title":"A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality","authors":[{"name":"Jasmin Christian Blanchette","slug":"jasmin-christian-blanchette","given":"Jasmin Christian","family":"Blanchette","affiliation":"Vrije Universiteit Amsterdam Amsterdam , The Netherlands"},{"name":"Mathias Fleury","slug":"mathias-fleury","given":"Mathias","family":"Fleury","affiliation":"Max-Planck-Institut für Informatik Saarland Informatics Campus Saarbrücken , Germany"},{"name":"Christoph Weidenbach","slug":"christoph-weidenbach","given":"Christoph","family":"Weidenbach","affiliation":"Max-Planck-Institut für Informatik Saarland Informatics Campus Saarbrücken , Germany"}],"abstract":"We developed a formal framework for SAT solving using the Isabelle/HOL proof assistant. Through a chain of refinements, an abstract CDCL (conflict-driven clause learning) calculus is connected to a SAT solver that always terminates with correct answers. The framework offers a convenient way to prove theorems about the SAT solver and experiment with variants of the calculus. Compared with earlier verifications, the main novelties are the inclusion of the CDCL rules for forget, restart, and incremental solving and the use of refinement.","doi":"10.24963/ijcai.2017/667","url":"https://ijcai.org/proceedings/2017/667","pdf":"https://ijcai.org/proceedings/2017/0667.pdf","markdown":"https://ijcai.org/proceedings/2017/667.md","bibtex":"https://ijcai.org/proceedings/2017/bibtex/667","volume":{"slug":"2017","title":"Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2017","url":"https://ijcai.org/proceedings/2017/","year":2017,"location":"Melbourne, Australia","dates":"19-25 August 2017","editors":"Carles Sierra, IIIA-CSIC","isbn":"978-0-9992411-0-3","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2017"},"section":"Best Sister Conferences","track":"Best Sister Conferences","number":667,"pages":{"first":4786,"last":4790},"keywords":["Artificial Intelligence: artificial intelligence","Artificial Intelligence: knowledge representation and reasoning"],"videos":[],"references":[{"position":1,"raw":"[Ballarin, 2014] Clemens Ballarin. Locales: A module system for mathematical theories. J. Autom. Reasoning, 52(2):123-153, 2014.","title":"Locales: A module system for mathematical theories","authors":"Clemens Ballarin","year":"2014","venue":"J. Autom. Reasoning","doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[Bayardo Jr. and Schrag, 1996] Roberto J. Bayardo Jr. and Robert Schrag. Using CSP look-back techniques to solve exceptionally hard SAT instances. In Eugene C. Freuder, editor, CP96, volume 1118 of LNCS, pages 46-60. Springer, 1996.","title":"Using CSP look-back techniques to solve exceptionally hard SAT instances","authors":"Roberto J Bayardo, Robert Schrag","year":"1996","venue":"CP96","doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[Biere et al., 2009] Armin Biere, Marijn Heule, Hans van Maaren, and Toby Walsh, editors. Handbook of Satisfiability, volume 185 of Frontiers in Artificial Intelligence and Applications. IOS Press, 2009.","title":"Handbook of Satisfiability","authors":"Biere","year":"2009","venue":"Frontiers in Artificial Intelligence and Applications","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[Blanchette et al., 2013] Jasmin Christian Blanchette, Sascha Böhme, and Lawrence C. Paulson. Extending Sledgehammer with SMT solvers. J. Autom. Reasoning, 51(1):109-128, 2013.","title":"Extending Sledgehammer with SMT solvers","authors":"Jasmin Christian Blanchette, Sascha Böhme, Lawrence C Paulson","year":"2013","venue":"J. Autom. Reasoning","doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[Blanchette et al., 2016] Jasmin Christian Blanchette, Mathias Fleury, and Christoph Weidenbach. A verified SAT solver framework with learn, forget, restart, and incrementality. In Nicola Olivetti and Ashish Tiwari, editors, IJCAR 2016, volume 9706 of LNCS, pages 25-44. Springer, 2016.","title":"A verified SAT solver framework with learn, forget, restart, and incrementality","authors":"Jasmin Christian Blanchette, Mathias Fleury, Christoph Weidenbach","year":"2016","venue":"IJCAR 2016","doi":null,"url":null,"internal_url":null},{"position":6,"raw":"[Cruz-Filipe et al., 2017] Luís Cruz-Filipe, Marijn Heule, Warren Hunt, Matt Kaufmann, and Peter Schneider-Kamp. Efficient certified RAT verification. In Leonardo de Moura, editor, CADE-26, LNCS. Springer, 2017.","title":"Efficient certified RAT verification","authors":"Luís Cruz-Filipe, Marijn Heule, Warren Hunt, Matt Kaufmann, Peter Schneider-Kamp","year":"2017","venue":"Leonardo de Moura","doi":null,"url":null,"internal_url":null},{"position":7,"raw":"[Davis et al., 1962] Martin Davis, George Logemann, and Donald W. Loveland. A machine program for theorem-proving. Commun. ACM, 5(7):394-397, 1962.","title":"A machine program for theorem-proving","authors":"Martin Davis, George Logemann, Donald W Loveland","year":"1962","venue":"Commun. ACM","doi":null,"url":null,"internal_url":null},{"position":8,"raw":"[Gordon et al., 1979] Michael J. C. Gordon, Robin Milner, and Christopher P. Wadsworth. Edinburgh LCF: A Mechanised Logic of Computation, volume 78 of LNCS. Springer, 1979.","title":"Edinburgh LCF: A Mechanised Logic of Computation","authors":"J C Michael, Robin Gordon, Christopher P Milner, Wadsworth","year":"1979","venue":null,"doi":null,"url":null,"internal_url":null},{"position":9,"raw":"[Lammich, 2017] Peter Lammich. Efficient verified (UN)SAT certificate checking. In Leonardo de Moura, editor, CADE-26, LNCS. Springer, 2017.","title":"Efficient verified (UN)SAT certificate checking","authors":"Peter Lammich","year":"2017","venue":"CADE-26","doi":null,"url":null,"internal_url":null},{"position":10,"raw":"[Lescuyer, 2011] Stephane Lescuyer. Formalizing and Implementing a Reflexive Tactic for Automated Deduction in Coq. PhD thesis, 2011.","title":"Formalizing and Implementing a Reflexive Tactic for Automated Deduction in Coq","authors":"Stephane Lescuyer","year":"2011","venue":null,"doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[Luby et al., 1993] Michael Luby, Alistair Sinclair, and David Zuckerman. Optimal speedup of las vegas algorithms. Inf. Process. Lett., 47(4):173-180, 1993.","title":"Optimal speedup of las vegas algorithms","authors":"Michael Luby, Alistair Sinclair, David Zuckerman","year":"1993","venue":"Inf. Process. Lett","doi":null,"url":null,"internal_url":null},{"position":12,"raw":"[Marić, 2010] Filip Marić. Formal verification of a modern SAT solver by shallow embedding into Isabelle/HOL. Theor. Comput. Sci., 411(50):4333-4356, 2010.","title":"Formal verification of a modern SAT solver by shallow embedding into Isabelle/HOL","authors":"Filip Marić, Marić","year":"2010","venue":"Theor. Comput. Sci","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[Marques-Silva and Sakallah, 1996] João P. Marques-Silva and Karem A. Sakallah. GRASP-A new search algorithm for satisfiability. In ICCAD '96, pages 220-227. IEEE Computer Society Press, 1996.","title":"GRASP-A new search algorithm for satisfiability","authors":"P João, Karem A Marques-Silva, Sakallah","year":"1996","venue":"ICCAD '96","doi":null,"url":null,"internal_url":null},{"position":14,"raw":"[Nieuwenhuis et al., 2006] Robert Nieuwenhuis, Albert Oliveras, and Cesare Tinelli. Solving SAT and SAT modulo theories: From an abstract Davis-Putnam-Logemann-Loveland procedure to DPLL(T). J. ACM, 53(6):937-977, 2006.","title":"Solving SAT and SAT modulo theories: From an abstract Davis-Putnam-Logemann-Loveland procedure to DPLL(T)","authors":"Robert Nieuwenhuis, Albert Oliveras, Cesare Tinelli","year":"2006","venue":"J. ACM","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[Nipkow and Klein, 2014] Tobias Nipkow and Gerwin Klein. Concrete Semantics: With Isabelle/HOL. Springer, 2014.","title":"Concrete Semantics: With Isabelle/HOL","authors":"Klein Nipkow, Tobias Nipkow, Gerwin Klein","year":"2014","venue":null,"doi":null,"url":null,"internal_url":null},{"position":16,"raw":"[Nipkow et al., 2002] Tobias Nipkow, Lawrence C. Paulson, and Markus Wenzel. Isabelle/HOL: A Proof Assistant for Higher-Order Logic, volume 2283 of LNCS. Springer, 2002.","title":"Isabelle/HOL: A Proof Assistant for Higher-Order Logic","authors":"Nipkow","year":"2002","venue":"LNCS","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"[Oe et al., 2012] Duckki Oe, Aaron Stump, Corey Oliver, and Kevin Clancy. versat: A verified modern SAT solver. In Viktor Kuncak and Andrey Rybalchenko, editors, VMCAI 2012, volume 7148 of LNCS, pages 363-378. Springer, 2012.","title":"versat: A verified modern SAT solver","authors":"Oe","year":"2012","venue":"VMCAI 2012","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[Shankar and Vaucher, 2011] Natarajan Shankar and Marc Vaucher. The mechanical verification of a DPLL-based satisfiability solver. Electr. Notes Theor. Comput. Sci., 269:3-17, 2011.","title":"The mechanical verification of a DPLL-based satisfiability solver","authors":"Natarajan Shankar, Marc Vaucher","year":"2011","venue":"Electr. Notes Theor. Comput. Sci","doi":null,"url":null,"internal_url":null},{"position":19,"raw":"[Weidenbach, 2015] Christoph Weidenbach. Automated reasoning building blocks. In Roland Meyer, André Platzer, and Heike Wehrheim, editors, Correct System Design: Symposium in Honor of Ernst-Rüdiger Olderog on the Occasion of His 60th Birthday, volume 9360 of LNCS, pages 172-188. Springer, 2015.","title":"Automated reasoning building blocks","authors":"Christoph Weidenbach","year":"2015","venue":"Correct System Design: Symposium in Honor of Ernst-Rüdiger Olderog on the Occasion of His 60th Birthday","doi":null,"url":null,"internal_url":null},{"position":20,"raw":"[Wenzel, 2007] Makarius Wenzel. Isabelle/Isar-A generic framework for human-readable proof documents. In Roman Matuszewski and Anna Zalewska, editors, From Insight to Proof: Festschrift in Honour of Andrzej Trybulec, volume 10(23) of Studies in Logic, Grammar, and Rhetoric. University of Białystok, 2007.","title":"Makarius Wenzel. Isabelle/Isar-A generic framework for human-readable proof documents","authors":"Wenzel","year":"2007","venue":"From Insight to Proof: Festschrift in Honour of Andrzej Trybulec","doi":null,"url":null,"internal_url":null},{"position":21,"raw":"[Woodcock and Banach, 2007] Jim Woodcock and Richard Banach. The verification grand challenge. J. Univers. Comput. Sci., 13(5):661-668, 2007.","title":"Jim Woodcock and Richard Banach. The verification grand challenge","authors":"Banach Woodcock","year":"2007","venue":"J. Univers. Comput. Sci","doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}