Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.

Slides:



Advertisements
Similar presentations
A Randomized Satisfiability Procedure for Arithmetic and Uninterpreted Function Symbols Sumit Gulwani George Necula EECS Department University of California,
Advertisements

Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
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.
Technion 1 Generating minimum transitivity constraints in P-time for deciding Equality Logic Ofer Strichman and Mirron Rozanov Technion, Haifa, Israel.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
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:
Computability and Complexity 9-1 Computability and Complexity Andrei Bulatov Logic Reminder (Cnt’d)
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
Ofer Strichman, Technion 1 Decision Procedures in First Order Logic Part III – Decision Procedures for Equality Logic and Uninterpreted Functions.
1 Deciding separation formulas with SAT Ofer Strichman Sanjit A. Seshia Randal E. Bryant School of Computer Science, Carnegie Mellon University.
NP-Complete Problems Problems in Computer Science are classified into
Technion 1 Generating minimum transitivity constraints in P-time for deciding Equality Logic Ofer Strichman and Mirron Rozanov Technion, Haifa, Israel.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
Technion 1 (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion.
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture NP-Completeness Jan Maluszynski, IDA, 2007
1 A propositional world Ofer Strichman School of Computer Science, Carnegie Mellon University.
Ofer Strichman, Technion 1 Decision Procedures in First Order Logic Part II – Equality Logic and Uninterpreted Functions.
On Solving Presburger and Linear Arithmetic with SAT Ofer Strichman Carnegie Mellon University.
Ofer Strichman, Technion Deciding Combined Theories.
Daniel Kroening and Ofer Strichman Decision Procedure
Deciding a Combination of Theories - Decision Procedure - Changki pswlab Combination of Theories Daniel Kroening, Ofer Strichman Presented by Changki.
Binary Decision Diagrams (BDDs)
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Logics for Data and Knowledge Representation Propositional Logic: Reasoning Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto.
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic Range Allocation.
Daniel Kroening and Ofer Strichman 1 Decision Proceduresfoe Equality Logic 4 Range Allocation.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Lecture 22 More NPC problems
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.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
CS344: Introduction to Artificial Intelligence Lecture: Herbrand’s Theorem Proving satisfiability of logic formulae using semantic trees (from Symbolic.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
Propositional calculus
CS 461 – Nov. 30 Section 7.5 How to show a problem is NP-complete –Show it’s in NP. –Show that it corresponds to another problem already known to be NP-complete.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding Combined Theories.
NPC.
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Basic Concepts and Background.
Complexity ©D.Moshkovits 1 2-Satisfiability NOTE: These slides were created by Muli Safra, from OPICS/sat/)
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
1 A framework for eager encoding Daniel Kroening ETH, Switzerland Ofer Strichman Technion, Israel (Executive summary) (submitted to: Formal Aspects of.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
 2005 SDU Lecture15 P,NP,NP-complete.  2005 SDU 2 The PATH problem PATH = { | G is a directed graph that has a directed path from s to t} s t
Daniel Kroening and Ofer Strichman 1 Decision Procedures for Equality Logic 1.
Decision Procedures in First Order Logic
NP-Completeness A problem is NP-complete if: It is in NP
Decision Procedures in Equality Logic
Richard Anderson Lecture 26 NP-Completeness
Gábor Kusper University of Linz RISC Austria
Richard Anderson Lecture 26 NP-Completeness
(xy)(yz)(xz)(zy)
Propositional Calculus: Boolean Algebra and Simplification
Decision Procedures An Algorithmic Point of View
CSE 589 Applied Algorithms Spring 1999
Instructor: Aaron Roth
Presentation transcript:

Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic

Decision Procedures An algorithmic point of view2 Outline Introduction  Definition, complexity  Reducing Uninterpreted Functions to Equality Logic  Using Uninterpreted Functions in proofs  Simplifications Introduction to the decision procedures  The framework: assumptions and Normal Forms  General terms and notions  Solving a conjunction of equalities  Simplifications     

Decision Procedures An algorithmic point of view3 Basic assumptions and notations Input formulas are in NNF Input formulas are checked for satisfiability Formula with Uninterpreted Functions:  UF Equality formula:  E

Decision Procedures An algorithmic point of view4 First: conjunction of equalities Input: A conjunction of equalities and disequalities 1. Define an equivalence class for each variable. For each equality x = y unite the equivalence classes of x and y. Repeat until convergence. 2. For each disequality u  v if u is in the same equivalence class as v return 'UNSAT'. 3. Return 'SAT'.

Decision Procedures An algorithmic point of view5 Example x 1 = x 2 Æ x 2 = x 3 Æ x 4 = x 5 Æ x 5  x 1 x1,x2,x3x1,x2,x3 x4,x5x4,x5 Equivalence class Is there a disequality between members of the same class ?

Decision Procedures An algorithmic point of view6 Next: add Uninterpreted Functions x 1 = x 2 Æ x 2 = x 3 Æ x 4 = x 5 Æ x 5  x 1 Æ F ( x 1 )  F ( x 2 ) x1,x2,x3x1,x2,x3 x4,x5x4,x5 Equivalence class F(x1)F(x1) F(x2)F(x2)

Decision Procedures An algorithmic point of view7 Next: Compute the Congruence Closure x 1 = x 2 Æ x 2 = x 3 Æ x 4 = x 5 Æ x 5  x 1 Æ F ( x 1 )  F ( x 2 ) x1,x2,x3x1,x2,x3 x4,x5x4,x5 Equivalence class Now - is there a disequality between members of the same class ? This is called the Congruence Closure F ( x 1 ), F ( x 2 )

Decision Procedures An algorithmic point of view8 And now: consider a Boolean structure x 1 = x 2 Ç ( x 2 = x 3 Æ x 4 = x 5 Æ x 5  x 1 Æ F ( x 1 )  F ( x 2 )) x4,x5x4,x5 x2,x3x2,x3 case 1case 2 Syntactic case splitting: this is what we want to avoid! x1,x2x1,x2 Equivalence class Equivalence classes F(x1)F(x1) F(x2)F(x2)

Decision Procedures An algorithmic point of view9 Deciding Equality Logic with UFs Input: Equality Logic formula  UF Convert  UF to DNF For each clause:  Define an equivalence class for each variable and each function instance.  For each equality x = y unite the equivalence classes of x and y. For each function symbol F, unite the classes of F ( x ) and F ( y ). Repeat until convergence.  If all disequalities are between terms from different equivalence classes, return 'SAT'. Return 'UNSAT'.

Decision Procedures An algorithmic point of view10 Basic notions  E : x = y Æ y = z Æ z  x The Equality predicates: { x = y, y = z, z  x } which we can break to two sets: E = ={ x = y, y = z }, E  = { z  x } The Equality Graph G E (  E ) = h V, E =, E  i (a.k.a “E-graph”) x y z

Decision Procedures An algorithmic point of view11 Basic notions   E : x = y Æ y = z Æ z  x unsatisfiable  2 E : x = y Æ y = z Ç z  x satisfiable The graph G E (  E ) represents an abstraction of  E It ignores the Boolean structure of  E x y z

Decision Procedures An algorithmic point of view12 Basic notions Dfn: a path made of E = edges is an Equality Path. we write x =* z. Dfn: a path made of E = edges + exactly one edge from E  is a Disequality Path. We write x  * y. x y z

Decision Procedures An algorithmic point of view13 Basic notions Dfn. A cycle with one disequality edge is a Contradictory Cycle. In a Contradictory Cycle, for every two nodes x, y it holds that x =* y and x  * y. x y z

Decision Procedures An algorithmic point of view14 Basic notions Dfn: A subgraph is called satisfiable iff the conjunction of the predicates represented by its edges is satisfiable. Thm: A subgraph is unsatisfiable iff it contains a Contradictory cycle x y z

Decision Procedures An algorithmic point of view15 Basic notions Thm: Every Contradictory Cycle is either simple or contains a simple contradictory cycle

Decision Procedures An algorithmic point of view16 Simplifications, again Let S be the set of edges that are not part of any Contradictory Cycle Thm: replacing all solid edges in S with False, and all dashed edges in S with True, preserves satisfiability

Decision Procedures An algorithmic point of view17 Simplification: example x1x1 x2x2 x3x3 x4x4 ( x 1 = x 2 Ç x 1  x 4 ) Æ ( x 1  x 3 Ç x 2 = x 3 ) ( x 1 = x 2 Ç True) Æ ( x 1  x 3 Ç x 2 = x 3 ) ( : False Ç True) = True Satisfiable! True False

Decision Procedures An algorithmic point of view18 Syntactic vs. Semantic splits So far we saw how to handle disjunctions through syntactic case-splitting. There are much better ways to do it than simply transforming it to DNF:  Semantic Tableaux,  SAT-based splitting,  others… We will investigate some of these methods later in the course.

Decision Procedures An algorithmic point of view19 Now we start looking at methods that split the search space instead. This is called semantic splitting. SAT is a very good engine for performing semantic splitting, due to its ability to guide the search, prune the search-space etc. Syntactic vs. Semantic splits