Decision Procedures in First Order Logic

Slides:



Advertisements
Similar presentations
Assertion Checking over Combined Abstraction of Linear Arithmetic and Uninterpreted Functions Sumit Gulwani Microsoft Research, Redmond Ashish Tiwari SRI.
Advertisements

A Randomized Satisfiability Procedure for Arithmetic and Uninterpreted Function Symbols Sumit Gulwani George Necula EECS Department University of California,
Logical Abstract Interpretation Sumit Gulwani Microsoft Research, Redmond.
SMELS: Sat Modulo Equality with Lazy Superposition Christopher Lynch – Clarkson Duc-Khanh Tran - MPI.
1 Decision Procedures An algorithmic point of view Equality Logic and Uninterpreted Functions.
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
Linked List Implementation class List { private List next; private Object data; private static List root; private static int size; public static void addNew(Object.
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.
Properties of SLUR Formulae Ondřej Čepek, Petr Kučera, Václav Vlček Charles University in Prague SOFSEM 2012 January 23, 2012.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Gaussian Elimination and Simplex.
Interpolants [Craig 1957] G(y,z) F(x,y)
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
1 Satisfiability Modulo Theories Sinan Hanay. 2 Boolean Satisfiability (SAT) Is there an assignment to the p 1, p 2, …, p n variables such that  evaluates.
Automated Theorem Proving Lecture 4.   Formula := A |  |    A  Atom := b | t = 0 | t < 0 | t  0 t  Term := c | x | t + t | t – t | ct | Select(m,t)
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.
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.
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 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
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.
Satisfiability Introduction to Artificial Intelligence COS302 Michael L. Littman Fall 2001.
Binary Decision Diagrams (BDDs)
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.
INTRODUCTION TO ARTIFICIAL INTELLIGENCE COS302 MICHAEL L. LITTMAN FALL 2001 Satisfiability.
Leonardo de Moura Microsoft Research. Is formula F satisfiable modulo theory T ? SMT solvers have specialized algorithms for T.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Unification Algorithm Input: a finite set Σ of simple expressions Output: a mgu for Σ (if Σ is unifiable) 1. Set k = 0 and  0 = . 2. If Σ  k is a singleton,
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding Combined Theories.
1/20 Arrays Changki PSWLAB Arrays Daniel Kroening and Ofer Strichman Decision Procedure.
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.
Selected Decision Procedures and Techniques for SMT More on combination – theories sharing sets – convex theory Un-interpreted function symbols (quantifier-free.
1 A framework for eager encoding Daniel Kroening ETH, Switzerland Ofer Strichman Technion, Israel (Executive summary) (submitted to: Formal Aspects of.
Computer Systems Laboratory Stanford University Clark W. Barrett David L. Dill Aaron Stump A Framework for Cooperating Decision Procedures.
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
Satisfiability Modulo Theories and DPLL(T) Andrew Reynolds March 18, 2015.
Daniel Kroening and Ofer Strichman 1 Decision Procedures for Equality Logic 1.
NP-Completeness A problem is NP-complete if: It is in NP
Decision Procedures in Equality Logic
Advanced Algorithms Analysis and Design
Gábor Kusper University of Linz RISC Austria
Data Structures and Algorithms
Time Complexity Costas Busch - LSU.
(xy)(yz)(xz)(zy)
Elementary Metamathematics
NP-Completeness Proofs
Binary Decision Diagrams
Logics for Data and Knowledge Representation
Chapter 34: NP-Completeness
Decision Procedures An Algorithmic Point of View
Logics for Data and Knowledge Representation
CSE 589 Applied Algorithms Spring 1999
Lecture 23 NP-Hard Problems
Presentation transcript:

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

Decision Procedures An algorithmic point of view 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      Decision Procedures An algorithmic point of view

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 view

First: conjunction of equalities Input: A conjunction of equalities and disequalities Define an equivalence class for each variable. For each equality x = y unite the equivalence classes of x and y. Repeat until convergence. For each disequality u  v if u is in the same equivalence class as v return 'UNSAT'. Return 'SAT'. student’s project: implement it with set-union. See page 448 in the algorithms book (CLR) Decision Procedures An algorithmic point of view

Decision Procedures An algorithmic point of view Example x1 = x2 Æ x2 = x3 Æ x4=x5 Æ x5  x1 x1,x2,x3 x4,x5 This is SAT – the only disequality is between different classes Equivalence class Equivalence class Is there a disequality between members of the same class ? Decision Procedures An algorithmic point of view

Next: add Uninterpreted Functions x1 = x2 Æ x2 = x3 Æ x4=x5 Æ x5  x1 Æ F(x1) F(x2) F(x1) x4,x5 x1,x2,x3 Equivalence class Yes! F(x2) Equivalence class Equivalence class Equivalence class Decision Procedures An algorithmic point of view

Next: Compute the Congruence Closure x1 = x2 Æ x2 = x3 Æ x4=x5 Æ x5  x1 Æ F(x1) F(x2) x1,x2,x3 F(x1),F(x2) x4,x5 Yes! Equivalence class Equivalence class Now - is there a disequality between members of the same class ? This is called the Congruence Closure Decision Procedures An algorithmic point of view

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

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'. Note that we ignore constants here for the time being. if there are constants then the presence of two constants in the same class makes it unsat Decision Procedures An algorithmic point of view