SAT Solver as coNP Solver – Beyond Resolution Norbert Manthey International Center for Computational Logic Technische Universit¨ at Dresden Germany ◮ Motivation ◮ Propositional Logic and Satisfiability ◮ Proof Theory and SAT Solving ◮ Beyond Resolution ◮ Conclusion Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 1
Motivation Why is solving SAT interesting? Who benefits from improved SAT solvers? Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 2
Applications of SAT Solving ◮ Many industrial applications have the complexity NP ◮ Satisfiability Testing (SAT) is NP -complete ◮ There are many industrial problems that are successfully solved with modern solvers Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 3
Applications of SAT Solving ◮ Many industrial applications have the complexity NP ◮ Satisfiability Testing (SAT) is NP -complete ◮ There are many industrial problems that are successfully solved with modern solvers ◮ Translating applications directly into SAT ⊲ (Bounded) Model Checking ⊲ Planning ⊲ Periodic Event Scheduling ⊲ Termination Analysis ⊲ Bioinformatics ⊲ Hardware and Software Verification ⊲ Information Flow Quantification Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 4
Applications of SAT Solving ◮ Many industrial applications have the complexity NP ◮ Satisfiability Testing (SAT) is NP -complete ◮ There are many industrial problems that are successfully solved with modern solvers ◮ Using (incremental) SAT solvers as back-end ⊲ Optimization variant of SAT: MaxSAT ⊲ SAT Modulo Theories ⊲ Constraint Satisfaction Problem ⊲ Minimum Unsatisfiable Subformula Extraction ⊲ Minimum Correction Subset Extraction Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 5
Applications of SAT Solving ◮ Many industrial applications have the complexity NP ◮ Satisfiability Testing (SAT) is NP -complete ◮ There are many industrial problems that are successfully solved with modern solvers ◮ SAT solvers usually build the backbone . . . ⊲ I SABELLE uses N ITPICK ⊲ N ITPICK uses K ODKOD ⊲ K ODKOD uses M INISAT (or another SAT solver) Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 6
Propositional Logic and Satisfiability Preliminaries and definitions. Properties of propositional logic proofs. Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 7
Propositional Logic ◮ Let V be the set of variables V = { a , b , ... } which can be mapped to the truth values {⊤ , ⊥} ◮ Literals are positive or negative variables: the complement of a literal x , or ¬ x is the literal ¬ x , or x , respectively. ◮ A clause is a disjunction of literals C 1 = ( a ∨ ¬ b ∨ c ) ◮ A formula in conjunctive normal form (CNF) is a conjunction of clauses F = ( C 1 ∧ C 2 ∧ . . . ) ◮ Clauses and formulas can be represented as sets ◮ A resolvent C = C 1 ⊗ C 2 of two clauses C 1 and C 2 is defined as: C := { ( C 1 \ { x } ) ∪ ( C 2 \ {¬ x } ) } Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 8
Propositional Logic ◮ An interpretation J maps variables truth values. ◮ The value of a formula F under an interpretation J is evaluated according to propositional logic. ◮ A formula F is satisfied by an interpretation J , if J maps F to ⊤ . Such a satisfying interpretation J is called model. ◮ A formula F is unsatisfiable, if there exists no J that maps F to ⊤ . ◮ A formula F is called a tautology, if F is equivalent to ⊤ ◮ Let TAUT be the set of all tautological formulas Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 9
Satisfiability Testing (SAT Problem) ◮ SAT Problem: Given a formula F , is there a model J for the formula? ◮ Complexity: N P complete ◮ Algorithms: Theoretically, non-deterministic algorithms Practically: Truth table DPLL Algorithm CDCL Algorithm and with learning, restarts and simplification Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 10
Satisfiability Testing (SAT Problem) ◮ SAT Problem: Given a formula F , is there a model J for the formula? ◮ Complexity: N P complete ◮ Algorithms: Theoretically, non-deterministic algorithms Practically: Truth table DPLL Algorithm CDCL Algorithm and with learning, restarts and simplification ◮ If F is satisfiable, a good heuristic finds the solution in linear time Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 11
Satisfiability Testing (SAT Problem) ◮ SAT Problem: Given a formula F , is there a model J for the formula? ◮ Complexity: N P complete ◮ Algorithms: Theoretically, non-deterministic algorithms Practically: Truth table DPLL Algorithm CDCL Algorithm and with learning, restarts and simplification ◮ If F is satisfiable, a good heuristic finds the solution in linear time ◮ However, what happens if a search decision leads to an unsatisfiable sub-formula? Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 12
Satisfiability Testing (SAT Problem) ◮ SAT Problem: Given a formula F , is there a model J for the formula? ◮ Complexity: N P complete ◮ Algorithms: Theoretically, non-deterministic algorithms Practically: Truth table DPLL Algorithm CDCL Algorithm and with learning, restarts and simplification ◮ If F is satisfiable, a good heuristic finds the solution in linear time ◮ However, what happens if a search decision leads to an unsatisfiable sub-formula? ⊲ What about complexity here? ◮ . . . and what about the complexity of showing unsatisfiability? Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 13
Proof Theory and SAT Solving Why do we need proofs and proof theory? How strong are current SAT solvers? Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 14
Proof Theory ◮ Usual question in applications: Is my problem sound? ◮ More formal: F ∈ TAUT ? ◮ More easily: ¬ F ∈ ¬ TAUT ? ◮ . . . or: ¬ F ≡ ⊥ ? ◮ Complexity: co N P Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 15
Proof Theory ◮ Usual question in applications: Is my problem sound? ◮ More formal: F ∈ TAUT ? ◮ More easily: ¬ F ∈ ¬ TAUT ? ◮ . . . or: ¬ F ≡ ⊥ ? ◮ Complexity: co N P ◮ How to show the unsatisfiability of a formula? ⊲ Truth table, DPLL, CDCL, general resolution, . . . ⊲ Basically, show that F | = ( ) ⊲ Can the check be done in a linear number of steps? ⊲ Are there any lower or upper bounds known? Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 16
Proof Theory - Proof Properties ◮ Resolution style proofs P = ( C 1 , C 2 , C 3 , . . . ( )) for a formula F : ⊲ P := P ∪ { C 0 | C ∈ F } , assign the depth 0 to each clause of F ⊲ Resolution: C max h + 1 := ⊗{ C h j | j < i , C j ∈ ForC j ∈ P } i ⊲ Length: the number of resolvents before ( ) is derived ⊲ Width: the maximum size of intermediate resolvents ⊲ Space: the maximum number of clauses used for a resolution step ⊲ Height: the maximum depth of a clause in a proof Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 17
Proof Theory - Proof Properties ◮ Resolution style proofs P = ( C 1 , C 2 , C 3 , . . . ( )) for a formula F : ⊲ P := P ∪ { C 0 | C ∈ F } , assign the depth 0 to each clause of F ⊲ Resolution: C max h + 1 := ⊗{ C h j | j < i , C j ∈ ForC j ∈ P } i ⊲ Length: the number of resolvents before ( ) is derived ⊲ Width: the maximum size of intermediate resolvents ⊲ Space: the maximum number of clauses used for a resolution step ⊲ Height: the maximum depth of a clause in a proof ◮ Upper bounds: ⊲ Length: possible number of clauses for the given variables (2 n + 1 − 1) ⊲ Space: n + 2, where n is the number of variables in the formula F Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 18
Proof Theory - Proof Properties ◮ Resolution style proofs P = ( C 1 , C 2 , C 3 , . . . ( )) for a formula F : ⊲ P := P ∪ { C 0 | C ∈ F } , assign the depth 0 to each clause of F ⊲ Resolution: C max h + 1 := ⊗{ C h j | j < i , C j ∈ ForC j ∈ P } i ⊲ Length: the number of resolvents before ( ) is derived ⊲ Width: the maximum size of intermediate resolvents ⊲ Space: the maximum number of clauses used for a resolution step ⊲ Height: the maximum depth of a clause in a proof ◮ Upper bounds: ⊲ Length: possible number of clauses for the given variables (2 n + 1 − 1) ⊲ Space: n + 2, where n is the number of variables in the formula F ◮ Lower bounds: ⊲ This is an open question. Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 19
Proof Theory - Proof Properties ◮ Resolution style proofs P = ( C 1 , C 2 , C 3 , . . . ( )) for a formula F : ⊲ P := P ∪ { C 0 | C ∈ F } , assign the depth 0 to each clause of F ⊲ Resolution: C max h + 1 := ⊗{ C h j | j < i , C j ∈ ForC j ∈ P } i ⊲ Length: the number of resolvents before ( ) is derived ⊲ Width: the maximum size of intermediate resolvents ⊲ Space: the maximum number of clauses used for a resolution step ⊲ Height: the maximum depth of a clause in a proof ◮ Upper bounds: ⊲ Length: possible number of clauses for the given variables (2 n + 1 − 1) ⊲ Space: n + 2, where n is the number of variables in the formula F ◮ Lower bounds: ⊲ This is an open question. ◮ In this talk, lets consider length only, because it relates to run time Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 20
Recommend
More recommend