SAT Solver as coNP Solver Beyond Resolution Norbert Manthey - - PowerPoint PPT Presentation

sat solver as conp solver beyond resolution
SMART_READER_LITE
LIVE PREVIEW

SAT Solver as coNP Solver Beyond Resolution Norbert Manthey - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

◮ Motivation ◮ Propositional Logic and Satisfiability ◮ Proof Theory and SAT Solving ◮ Beyond Resolution ◮ Conclusion

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 1

SAT Solver as coNP Solver – Beyond Resolution

Norbert Manthey

International Center for Computational Logic Technische Universit¨ at Dresden Germany

slide-2
SLIDE 2

Motivation

Why is solving SAT interesting? Who benefits from improved SAT solvers?

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 2

slide-3
SLIDE 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

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 3

slide-4
SLIDE 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

◮ 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

slide-5
SLIDE 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

◮ 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

slide-6
SLIDE 6

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 . . .

⊲ ISABELLE uses NITPICK ⊲ NITPICK uses KODKOD ⊲ KODKOD uses MINISAT (or another SAT solver)

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 6

slide-7
SLIDE 7

Propositional Logic and Satisfiability

Preliminaries and definitions. Properties of propositional logic proofs.

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 7

slide-8
SLIDE 8

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 C1 = (a ∨ ¬b ∨ c)

◮ A formula in conjunctive normal form (CNF)

is a conjunction of clauses F = (C1 ∧ C2 ∧ . . . )

◮ Clauses and formulas can be represented as sets ◮ A resolvent C = C1 ⊗ C2 of two clauses C1 and C2 is defined as:

C := {(C1 \ {x}) ∪ (C2 \ {¬x})}

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 8

slide-9
SLIDE 9

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

slide-10
SLIDE 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

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 10

slide-11
SLIDE 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

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 11

slide-12
SLIDE 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?

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 12

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

Proof Theory

◮ Usual question in applications: Is my problem sound? ◮ More formal: F ∈ TAUT ? ◮ More easily: ¬F ∈ ¬TAUT ? ◮ . . . or: ¬F ≡ ⊥ ? ◮ Complexity: coN P

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 15

slide-16
SLIDE 16

Proof Theory

◮ Usual question in applications: Is my problem sound? ◮ More formal: F ∈ TAUT ? ◮ More easily: ¬F ∈ ¬TAUT ? ◮ . . . or: ¬F ≡ ⊥ ? ◮ Complexity: coN 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

slide-17
SLIDE 17

Proof Theory - Proof Properties

◮ Resolution style proofs P = (C1, C2, C3, . . . ( )) for a formula F:

⊲ P := P ∪ {C0 | C ∈ F}, assign the depth 0 to each clause of F ⊲ Resolution: Cmaxh+1

i

:= ⊗{Ch

j | j < i, Cj ∈ ForCj ∈ P}

⊲ 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

slide-18
SLIDE 18

Proof Theory - Proof Properties

◮ Resolution style proofs P = (C1, C2, C3, . . . ( )) for a formula F:

⊲ P := P ∪ {C0 | C ∈ F}, assign the depth 0 to each clause of F ⊲ Resolution: Cmaxh+1

i

:= ⊗{Ch

j | j < i, Cj ∈ ForCj ∈ P}

⊲ 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 (2n+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

slide-19
SLIDE 19

Proof Theory - Proof Properties

◮ Resolution style proofs P = (C1, C2, C3, . . . ( )) for a formula F:

⊲ P := P ∪ {C0 | C ∈ F}, assign the depth 0 to each clause of F ⊲ Resolution: Cmaxh+1

i

:= ⊗{Ch

j | j < i, Cj ∈ ForCj ∈ P}

⊲ 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 (2n+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

slide-20
SLIDE 20

Proof Theory - Proof Properties

◮ Resolution style proofs P = (C1, C2, C3, . . . ( )) for a formula F:

⊲ P := P ∪ {C0 | C ∈ F}, assign the depth 0 to each clause of F ⊲ Resolution: Cmaxh+1

i

:= ⊗{Ch

j | j < i, Cj ∈ ForCj ∈ P}

⊲ 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 (2n+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

slide-21
SLIDE 21

Resolution Style Proof Systems

◮ A proof system outputs a unsatisfiability proof for an unsatisfiable formula F ◮ Treelike Resolution is a variant of general resolution

⊲ Derived resolvents Ci can be put into a tree-like dependence scheme

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 21

slide-22
SLIDE 22

Proof Systems - the Overall Picture

◮ Hence, CDCL can be considered more powerful than DPLL

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 22

slide-23
SLIDE 23

Beyond Resolution

What else does theory provide? Which techniques are currently used in leading SAT solvers?

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 23

slide-24
SLIDE 24

Resolution as Proof System

◮ Pigeonhole principle: n + 1 pigeons cannot size in n holes ◮ CNF formula: xi,j represents pigeon i sitting in hole j

⊲ In each hole there is a pigeon (at-least-one)

  • 1≤j≤n xij

for all pigeons 1 ≤ i ≤ n + 1 ⊲ In each hole, there cannot be two pigeons (at-most-hole) ¬xij ∨ ¬xi′j for all pigeon pairs 1 ≤ i < i′ ≤ n + 1, and 1 ≤ j ≤ n

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 24

slide-25
SLIDE 25

Resolution as Proof System

◮ Pigeonhole principle: n + 1 pigeons cannot size in n holes ◮ CNF formula: xi,j represents pigeon i sitting in hole j

⊲ In each hole there is a pigeon (at-least-one)

  • 1≤j≤n xij

for all pigeons 1 ≤ i ≤ n + 1 ⊲ In each hole, there cannot be two pigeons (at-most-hole) ¬xij ∨ ¬xi′j for all pigeon pairs 1 ≤ i < i′ ≤ n + 1, and 1 ≤ j ≤ n

◮ Proof, for 3 pigeons and 2 holes (n = 2):

(x22 ∨ x32) ⊗ (¬x31 ∨ ¬x22) = (x32 ∨ ¬x31) (x32 ∨ ¬x31) ⊗ (x31 ∨ x12) = (x32 ∨ x12) (x32 ∨ x12) ⊗ (¬x21 ∨ ¬x32) = (x12 ∨ ¬x21) (x12 ∨ ¬x21) ⊗ (¬x21 ∨ ¬x12) = (¬x21) . . . (propagating the unit in the formula) · · · = ( ), in total, 11 simple resolutions are required

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 25

slide-26
SLIDE 26

Automatizability

◮ How to find such a proof? ◮ Does there exist an algorithm to find a short proof, if there exists one?

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 26

slide-27
SLIDE 27

Automatizability

◮ How to find such a proof? ◮ Does there exist an algorithm to find a short proof, if there exists one? ◮ . . . so that the generated proof is polynomial in the size of the shortest proof?

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 27

slide-28
SLIDE 28

Automatizability

◮ How to find such a proof? ◮ Does there exist an algorithm to find a short proof, if there exists one? ◮ . . . so that the generated proof is polynomial in the size of the shortest proof? ◮ Some results from the literature:

⊲ Truth Tables are automatizable. ⊲ Tree-Like Resolution is automatizable in quasi-polynomial time ( nO(log n) ) ⊲ Resolution is not automatizable, unless FTP = W[P]. ⊲ Extended Resolution is not automatizable, unless RSA is insecure.

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 28

slide-29
SLIDE 29

Automatizability

◮ How to find such a proof? ◮ Does there exist an algorithm to find a short proof, if there exists one? ◮ . . . so that the generated proof is polynomial in the size of the shortest proof? ◮ Some results from the literature:

⊲ Truth Tables are automatizable. ⊲ Tree-Like Resolution is automatizable in quasi-polynomial time ( nO(log n) ) ⊲ Resolution is not automatizable, unless FTP = W[P]. ⊲ Extended Resolution is not automatizable, unless RSA is insecure.

◮ In this talk, look at existing SAT algorithms

namely the ones proposed for CDCL solvers

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 29

slide-30
SLIDE 30

Variable Elimination - Resolution Inside SAT Solvers

◮ Formula simplifications reduce the number of variables - developed 2005 ◮ (Bounded) Variable Elimination

⊲ S = Sx ⊗ S¬x, the set of all pairwise resolvents ⊲ replaces Sx ∪ S¬x with S

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 30

slide-31
SLIDE 31

Variable Elimination - Resolution Inside SAT Solvers

◮ Formula simplifications reduce the number of variables - developed 2005 ◮ (Bounded) Variable Elimination

⊲ S = Sx ⊗ S¬x, the set of all pairwise resolvents ⊲ replaces Sx ∪ S¬x with S if |Sx ∪ S¬x| ≤ |S|, ⊲ Number of clauses and variables decreases ⊲ F := (F \ (Sx ∪ S¬x)) ∪ S ⊲ Implementation tries replacement for all variables x (sometimes multiple times)

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 31

slide-32
SLIDE 32

Variable Elimination as Preprocessing

0.1 1 10 100 1000 10000 0.1 1 10 100 1000 10000 bve-benchmark plain-benchmark run time comparison run time

◮ Riss without (638) and with applying variable elimination before search (755)

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 32

slide-33
SLIDE 33

Variable Elimination on the Pigeonhole Problem

0.1 1 10 100 1000 10000 0.1 1 10 100 1000 10000 bve-ph plain-ph run time comparison run time 5 10 15 20 25 30 35 40

◮ Riss without (10) and with variable elimination (10)

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 33

slide-34
SLIDE 34

The Cutting Planes Proof System

◮ Reason on cardinality constraints

i aixi ≤ c, instead of clauses

◮ Follow two rules:

⊲ Linear combination of already existing constraints ⊲ divide a sum by some integer d:

i⌈ ai d ⌉xi ≤ ⌈ c d ⌉

◮ Pigeonhole for n pigeons:

1≤j≤n xij ≥ 1

for all pigeons 1 ≤ i ≤ n + 1 ⊲

1≤i≤n+1 xij ≤ 1

for all holes 1 ≤ i ≤ n

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 34

slide-35
SLIDE 35

The Cutting Planes Proof System

◮ Reason on cardinality constraints

i aixi ≤ c, instead of clauses

◮ Follow two rules:

⊲ Linear combination of already existing constraints ⊲ divide a sum by some integer d:

i⌈ ai d ⌉xi ≤ ⌈ c d ⌉

◮ Pigeonhole for n pigeons:

1≤j≤n xij ≥ 1

for all pigeons 1 ≤ i ≤ n + 1 ⊲

1≤i≤n+1 xij ≤ 1

for all holes 1 ≤ i ≤ n

◮ Formula (for n = 2):

⊲ 1 ≤ x11 + x12, 1 ≤ x21 + x22 and 1 ≤ x31 + x32 ⊲ x11 + x21 + x31 ≤ 1 ⊲ x12 + x22 + x32 ≤ 1

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 35

slide-36
SLIDE 36

The Cutting Planes Proof System

◮ Reason on cardinality constraints

i aixi ≤ c, instead of clauses

◮ Pigeonhole for n pigeons:

1≤j≤n xij ≥ 1

for all pigeons 1 ≤ i ≤ n + 1 ⊲

1≤i≤n+1 xij ≤ 1

for all holes 1 ≤ i ≤ n

◮ Formula (for n = 2):

⊲ 1 ≤ x11 + x12, 1 ≤ x21 + x22 and 1 ≤ x31 + x32 ⊲ x11 + x21 + x31 ≤ 1 ⊲ x12 + x22 + x32 ≤ 1

◮ Proof:

⊲ x21 + x31 ≤ x12 (from 1 ≤ x11 + x12 and (x11 + x21 + x31 ≤ 1) ⊲ 1 + x31 ≤ x12 + x22 ( with 1 ≤ x21 + x22) ⊲ 2 ≤ x12 + x22 + x32 ( with 1 ≤ x31 + x32) ⊲ 1 ≤ 0 ( with x12 + x22 + x32 ≤ 1)

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 36

slide-37
SLIDE 37

Cutting Planes Inside SAT Solvers

◮ Used as formula simplification (also during search again) in Lingeling and Riss ◮ Needs to find cardinality constraints within the formula

⊲ Pattern matching ⊲ Limited to naive encodings of at-most-one and at-most-two, at-least-one

◮ Given the constraints C, perform elimination, as BVE on the constraints

⊲ S := Sx + S¬x, pairwise linear combination ⊲ C := (C \ (Sx ∪ S¬x)) ∪ S if |S| ≤ |Sx ∪ S¬x|

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 37

slide-38
SLIDE 38

Cutting Planes as Preprocessing

0.1 1 10 100 1000 10000 0.1 1 10 100 1000 10000 fm-benchmark plain-benchmark run time comparison run time

◮ Riss without (638) and with using cutting planes as preprocessing (623)

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 38

slide-39
SLIDE 39

Cutting Planes on the Pigeonhole Problem

0.1 1 10 100 1000 10000 0.1 1 10 100 1000 10000 fm-ph plain-ph run time comparison run time 5 10 15 20 25 30 35 40

◮ Riss without (10) and with cutting planes (38)

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 39

slide-40
SLIDE 40

Extended Resolution Inside SAT Solvers

◮ Use extended resolution to improve learned clauses (resolvents in the proof) ◮ Published as extended clause learning

⊲ Given a long learned clause C = (l1 ∨ l′

1 ∨ l2 · · · ∨ ln)

introduce a fresh variable x with the clauses for x ↔ (l1 ∨ l′

1)

and learn C′ = (x ∨ l2 ∨ · · · ∨ ln) instead

◮ Or restricted extended resolution

⊲ Given two learned clauses C = (¬l1 ∨ l2 ∨ · · · ∨ ln), C′ = (¬l′

1 ∨ l2 ∨ · · · ∨ ln)

introduce a fresh variable x with the clauses for ¬x ↔ (¬l1 ∧ ¬l′

1) (which is equal to x ↔ (l1 ∨ l′ 1))

and replace C and C′ with C′′ = (¬x ∨ l2 ∨ · · · ∨ ln)

◮ The disjunction (l1 ∨ l′

1) could be replaced with x in the whole formula

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 40

slide-41
SLIDE 41

Extended Resolution As Formula Simplification

◮ Use extended resolution to improve encoded instance ◮ Published as Bounded Variable Addition ◮ Opposite operation of variable elimination ◮ Initially, used to decrease the number of clauses inside the formula

⊲ let x be a fresh variable ⊲ S = Sx ⊗ S¬x, the set of all pairwise resolvents ⊲ replaces S with Sx ∪ S¬x if |S| ≥ |Sx ∪ S¬x| ⊲ Number of clauses decreases, and number of variables increases ⊲ F := (F \ S) ∪ (Sx ∪ S¬x)

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 41

slide-42
SLIDE 42

Extended Resolution As Formula Simplification

◮ How to find S, such that there exists an Sx and S¬x?

⊲ Pattern matching for x ↔

i li – AND-gates

⊲ Pattern matching for x ↔ l1 ⊕ l2 – XOR-gates ⊲ Pattern matching for x ↔ ITE(s, t, f) – If-then-else-gates

◮ Let F = (a ∨ c) ∧ (b ∨ c) ∧ (a ∨ d) ∧ (b ∨ d) ∧ (a ∨ e) ∧ (b ∨ e) ◮ Then, let x be fresh, and lets have the clauses (x ∨ a) and (x ∨ b) ◮ BVA generates the formula

F ′ = (¬x ∨ c) ∧ (¬x ∨ d) ∧ (¬x ∨ e) ∧ (x ∨ a) ∧ (x ∨ b)

◮ With respect to the common variables, F ′ and F are equivalent ◮ F can be generated from F ′ by variable elimination

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 42

slide-43
SLIDE 43

Extended Resolution in SAT Solving

0.1 1 10 100 1000 10000 0.1 1 10 100 1000 10000 rer-benchmark plain-benchmark run time comparison run time

◮ Riss without (638) and with using extended resolution (638, ecl: 559)

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 43

slide-44
SLIDE 44

Variable Addition as Preprocessing

0.1 1 10 100 1000 10000 0.1 1 10 100 1000 10000 bvaA-benchmark plain-benchmark run time comparison run time

◮ Riss (638) vs. variable addition (AND-gate: 748, ITE-gate: 698, XOR-gate: 664)

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 44

slide-45
SLIDE 45

Variable Addition on the Pigeonhole Problem

0.1 1 10 100 1000 10000 0.1 1 10 100 1000 10000 bvaA-ph plain-ph run time comparison run time 5 10 15 20 25 30 35 40

◮ Riss (10) vs. variable addition (AND-gate: 11, ITE-gate: 10, XOR-gate: 10)

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 45

slide-46
SLIDE 46

Conclusion

What is it all about? What is expected for the next solver generation?

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 46

slide-47
SLIDE 47

Conclusion

◮ There are reasoning techniques that are stronger than resolution ◮ Theoretical results are not yet well integrated ◮ Their practical relevance is not well understood ◮ Integrating more powerful reasoning into CDCL SAT solvers is a hot research

topic

◮ Basically, the tools are available — however, understanding and good

heuristics are missing

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 47

slide-48
SLIDE 48

Future Work

◮ All presented techniques are implemented in our SAT solver Riss

⊲ Left out here, but also there (with similar picture)

◮ ◮ Parity reasoning via Gaussian elimination ◮ ◮ Reencoding parts of the formula ◮ How to deal with all these techniques?

⊲ When to use which technique, how long, how often, on which variables? ⊲ The system gives a provides a good portfolio because of its diversity

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 48

slide-49
SLIDE 49

Thank you for your attention

Many thanks to Jakob Nordstr ˜ A¶m and Olaf Beyersdorff for all the questions about proof theory.

Norbert Manthey SAT Solver as coNP Solver – Beyond Resolution 49

SAT Solver as coNP Solver – Beyond Resolution

Norbert Manthey

International Center for Computational Logic Technische Universit¨ at Dresden Germany