TY - JOUR
T1 - Extracting verified decision procedures
T2 - DPLL and resolution
AU - Berger, Ulrich
AU - Lawrence, Andrew
AU - Nordvall Forsberg, Fredrik
AU - Seisenberger, Monika
PY - 2015/3/10
Y1 - 2015/3/10
N2 - This article is concerned with the application of the program extraction technique to a new class of problems: the synthesis of decision procedures for the classical satisfiability problem that are correct by construction. To this end, we formalize a completeness proof for the DPLL proof system and extract a SAT solver from it. When applied to a propositional formula in conjunctive normal form the program produces either a satisfying assignment or a DPLL derivation showing its unsatisfiability. We use non-computational quantifiers to remove redundant computational content from the extracted program and translate it into Haskell to improve performance. We also prove the equivalence between the resolution proof system and the DPLL proof system with a bound on the size of the resulting resolution proof. This demonstrates that it is possible to capture quantitative information about the extracted program on the proof level. The formalization is carried out in the interactive proof assistant Minlog.
AB - This article is concerned with the application of the program extraction technique to a new class of problems: the synthesis of decision procedures for the classical satisfiability problem that are correct by construction. To this end, we formalize a completeness proof for the DPLL proof system and extract a SAT solver from it. When applied to a propositional formula in conjunctive normal form the program produces either a satisfying assignment or a DPLL derivation showing its unsatisfiability. We use non-computational quantifiers to remove redundant computational content from the extracted program and translate it into Haskell to improve performance. We also prove the equivalence between the resolution proof system and the DPLL proof system with a bound on the size of the resulting resolution proof. This demonstrates that it is possible to capture quantitative information about the extracted program on the proof level. The formalization is carried out in the interactive proof assistant Minlog.
KW - program extraction
KW - verification tools
KW - DPLL proof system
UR - http://www.lmcs-online.org/ojs/viewarticle.php?id=1479&layout=abstract
U2 - 10.2168/LMCS-11(1:6)2015
DO - 10.2168/LMCS-11(1:6)2015
M3 - Article
SN - 1860-5974
VL - 11
JO - Logical Methods in Computer Science
JF - Logical Methods in Computer Science
IS - 1
M1 - 6
ER -