1 Satisfiability Checking of Non-clausal Formulas using General Matings Himanshu Jain Constantinos Bartzis Edmund Clarke Carnegie Mellon University.

Slides:



Advertisements
Similar presentations
Model Checking Base on Interoplation
Advertisements

Exploiting SAT solvers in unbounded model checking
Automated Theorem Proving
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Propositional and First Order Reasoning. Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p 
On Solving Presburger and Linear Arithmetic with SAT Ofer Strichman Carnegie Mellon University.
Effective Propositional Reasoning CSE 473 – Autumn 2003.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
ECE 667 Synthesis & Verification - SAT 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Boolean SAT CNF Representation Slides adopted (with.
Boolean Satisfiability Solvers Wonhong Nam
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
1 Deciding separation formulas with SAT Ofer Strichman Sanjit A. Seshia Randal E. Bryant School of Computer Science, Carnegie Mellon University.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
1 Quantified Formulas Acknowledgement: QBF slides borrowed from S. Malik.
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
State-of-the-art in SAT solvers
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
1 Understanding the Power of Clause Learning Ashish Sabharwal, Paul Beame, Henry Kautz University of Washington, Seattle IJCAI ConferenceAug 14, 2003.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
ENGG3190 Logic Synthesis “Boolean Satisfiability” Winter 2014 S. Areibi School of Engineering University of Guelph.
GRASP: A Search Algorithm for Propositional Satisfiability EE878C Homework #2 2002/11/1 KAIST, EECS ICS Lab Lee, Dongsoo.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
Formal Verification of SpecC Programs using Predicate Abstraction Himanshu Jain Daniel Kroening Edmund Clarke Carnegie Mellon University.
On Solving Presburger and Linear Arithmetic with SAT Ofer Strichman Carnegie Mellon University.
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
Satisfiability Introduction to Artificial Intelligence COS302 Michael L. Littman Fall 2001.
Logics for Data and Knowledge Representation Propositional Logic: Reasoning Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto.
Boolean Satisfiability and SAT Solvers
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
CMU, Oct 4 DPLL-based Checkers for Satisfiability Modulo Theories Cesare Tinelli Department of Computer Science The University of Iowa Joint work with.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
INTRODUCTION TO ARTIFICIAL INTELLIGENCE COS302 MICHAEL L. LITTMAN FALL 2001 Satisfiability.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Non-clausal Reasoning Fahiem Bacchus, Christian Thiffault, Toronto Toby Walsh, UCC & Uppsala (soon UNSW, NICTA, Uppsala)
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
LDK R Logics for Data and Knowledge Representation Propositional Logic: Reasoning First version by Alessandro Agostini and Fausto Giunchiglia Second version.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Boolean Satisfiability Present and Future
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
Finding Models for Blocked 3-SAT Problems in Linear Time by Systematical Refinement of a Sub- Model Gábor Kusper Eszterházy Károly.
Planning as Satisfiability (SAT-Plan). SAT-Plan Translate the planning problem into a satisfiability problem for length n of Plan garb 0 (proposition)present.
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
A Decision-Making Procedure for Resolution-Based SAT-solvers Eugene Goldberg Cadence Research Labs (USA) SAT-2008, Guangzhou, P.R. China.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
Hybrid BDD and All-SAT Method for Model Checking
Inference and search for the propositional satisfiability problem
(xy)(yz)(xz)(zy)
Introduction to Software Verification
Logic Synthesis CNF Satisfiability.
NP-Completeness Yin Tat Lee
Elementary Metamathematics
NP-Completeness Proofs
Introduction to the Boolean Satisfiability Problem
ECE 667 Synthesis and Verification of Digital Circuits
DLL Algorithm.
Introduction to the Boolean Satisfiability Problem
NP-Completeness Yin Tat Lee
Solving Non-clausal Formulas with DPLL search
Presentation transcript:

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)) qq rr q pp Vertical path form (vpgraph) of F F is satisfiable iff there exists a vertical path without opposite literals pq r ss 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 aa a b bb aa bb a b a aa bb b Avoids enumeration of exponentially many paths

13 Conflict when pruning vpgraph aa aa a b bb b bb aa aa a Local conflict

14 Local learning b bb aa aa 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 rr qq q pp r  s horizontal path p q rr qq q pp r  s vpgraph of F

19 Conflicts and implications in hpgraph rr qq q r  s pp p q Conflict clause:  r   p Global conflict p q pp rr qq 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)) pp rr p q qq q r  s hpgraph of F Aim to find a vertical path in vpgraph without opposite literals p q rr qq q pp 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 pp rr p q qq q r  s Partial truth assignment: {r=true, p=true} rr qq q r  s pp p q Conflict clause:  r   p Global conflict

29 Using hpgraph to produce implications pp rr p q qq q r  s Partial truth assignment: {p=false, q=false, s=true} p q pp rr qq 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