1 Satisfiability Checking of Non-clausal Formulas using General Matings Himanshu Jain Constantinos Bartzis Edmund Clarke Carnegie Mellon University
2 The first problem to be proven NP-complete The first problem to be proven NP-complete Applications in verification Applications in verification –equivalence checking –bounded model checking –predicate abstraction –theorem proving –test generation Applications in AI Applications in AI –planning Boolean Satisfiability
3 Current state of SAT solving State-of-the-art complete SAT solvers State-of-the-art complete SAT solvers Davis-Putnam-Logemann-Loveland (DPLL) algorithm Davis-Putnam-Logemann-Loveland (DPLL) algorithm Require the input formula to be in clausal form (CNF) Require the input formula to be in clausal form (CNF) –MiniSat, BerkMin, Siege, zChaff, Limmat, GRASP, SATO Conversion to CNF by adding new variables Conversion to CNF by adding new variables –Linear size but exponential state-space –In practice does not seem to hurt
4 Non-Clausal (non-cnf) SAT solving DPLL on circuit representation of formula DPLL on circuit representation of formula –Ganai et al. (DAC 2002) –Lu et al. (CSAT, DAC 2003) –Thiffault et al. (NoClause, SAT 2004) This work: Non-clausal SAT-solver based on DPLL General Matings
5 Outline Introduction Introduction General Matings General Matings Search space pruning Search space pruning Learning Learning Non-chronological backtracking Non-chronological backtracking Experimental results Experimental results
6 General Matings example Formula F: (((p q) r q) ( p (r s) q)) qq rr q pp Vertical path form (vpgraph) of F F is satisfiable iff there exists a vertical path without opposite literals pq r ss Vertical path Each vertical path corresponds to a term in the DNF form of F
7 Basic search a b -a c -c a b partial assignment Satisfiable! vpgraph Partial solution
8 Basic Idea Given negation normal formula (NNF) F Given negation normal formula (NNF) F Obtain vpgraph of F (O(k 2 ), k= |F|) Obtain vpgraph of F (O(k 2 ), k= |F|) Find vertical path without opposite literals Find vertical path without opposite literals Due to P. Andrews, W. Bibel [1981] Due to P. Andrews, W. Bibel [1981] –Focus on higher order theorem proving –Quantifier instantiation is the main problem
9 Main problem: exponentially many vertical paths in the vpgraph of F Sample vpgraph
10 Our contributions Preventing enumeration of vertical paths Preventing enumeration of vertical paths Search space pruning Search space pruning Learning Learning Non-chronological backtracking Non-chronological backtracking
11 Outline Introduction Introduction General Matings General Matings Search space pruning Search space pruning Learning Learning Non-chronological backtracking Non-chronological backtracking Experimental results Experimental results
12 Search space pruning on vpgraph aa a b bb aa bb a b a aa bb b Avoids enumeration of exponentially many paths
13 Conflict when pruning vpgraph aa aa a b bb b bb aa aa a Local conflict
14 Local learning b bb aa aa a Locally learned clause: ( a b)
15 Non-chronological backtracking a b x Backtrack a b x
16 Non-chronological backtracking a b x a b x
17 Limitations of local learning Learned clause is useful at a particular node Learned clause is useful at a particular node Can learn same clause multiple times Can learn same clause multiple times Need an equivalent of learning in CNF SAT solvers
18 Dual of vpgraph: hpgraph Formula F: (((p q) r q) ( p (r s) q)) hpgraph of F Each horizontal path corresponds to a clause in the CNF representation of F p q rr qq q pp r s horizontal path p q rr qq q pp r s vpgraph of F
19 Conflicts and implications in hpgraph rr qq q r s pp p q Conflict clause: r p Global conflict p q pp rr qq q r s Unit clause: p q r s Implied literal : r
20 Conflicts and implications in hpgraph Detecting conflict and implications Detecting conflict and implications –Can be done in linear time Why use hpgraph Why use hpgraph –Globally learned clauses –Obtain implications efficiently
21 Putting vpgraph and hpgraph together Formula F: (((p q) r q) ( p (r s) q)) pp rr p q qq q r s hpgraph of F Aim to find a vertical path in vpgraph without opposite literals p q rr qq q pp r s vpgraph of F {p, r} Global Conflict Unit clauses (implications) Local conflict ?
22 Outline Introduction Introduction General Matings General Matings Search space pruning Search space pruning Learning Learning Non-chronological backtracking Non-chronological backtracking Experimental results Experimental results
23 Experimental results SatMateMiniSatBerkMinSiegezChaff TimeSolvedTimeSolvedTimeSolvedTimeSolvedTimeSolved QG QG6* Mboard Pigeon Bench mark Prob- lems Timeout of 10 minutes per problem per solver Classification theorems for quasigroups [Sorge et al. SAT 2005]
24 Performance on individual benchmarks cache q2.14 TO TO TOicl45 TO2629TO icl39 TO brn13 TO dnd02 Time Global confsLocal confsTime zChaffSiegeBerkMinMiniSatSatMate Problem
25 Conclusion SAT solver based on General Matings SAT solver based on General Matings Graphical representations: vpgraph, hpgraph Graphical representations: vpgraph, hpgraph Preventing enumeration of vertical paths Preventing enumeration of vertical paths Experiments show promise of this technique Experiments show promise of this technique
26 Questions?
27 Conversion to CNF Results in more complex formula. Either: Results in more complex formula. Either: –Same variables but exponential size –Linear size but exponential state-space Doesn’t seem to hurt in practiceDoesn’t seem to hurt in practice Original formula: Original formula: (a b) ( c d) (e f) CNF using expansion: CNF using expansion: (a c e) (a c f) (a d e) (a d f) (b c e) (b c f) (b d e) (b d f) CNF using new variables: CNF using new variables: (x 1 x 2 x 3 ) (x 1 a b) ( x 1 a) ( x 1 b) (x 2 a d) ( x 2 c) ( x 2 d) (x 3 f e) ( x 3 f ) ( x 3 e)
28 Using hpgraph for conflict detection pp rr p q qq q r s Partial truth assignment: {r=true, p=true} rr qq q r s pp p q Conflict clause: r p Global conflict
29 Using hpgraph to produce implications pp rr p q qq q r s Partial truth assignment: {p=false, q=false, s=true} p q pp rr qq q r s Unit clause: p q r s
30 Obtaining vpgraph Constructed directly from a NNF formula Constructed directly from a NNF formula Time/Space required: O(k 2 ) Time/Space required: O(k 2 ) –k is the size of given formula –Recently improved to O(k) Directed acyclic graph Directed acyclic graph