C OMPUTING U NSAT C ORES O F B OOLEAN A ND SMT F ORMULAS Computing Small Unsatisfiable Cores in Satisfiability Modulo Theories Alessandro Cimatti, Alberto.

Slides:



Advertisements
Similar presentations
Automated Theorem Proving
Advertisements

+ Post-Silicon Fault Localisation using MAX-SAT & Backbones Georg Weissenbacher Charlie Shucheng Zhu, Sharad Malik Princeton University (Photo: Intel Press.
Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
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 
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Max Cut Problem Daniel Natapov.
CSCI 3160 Design and Analysis of Algorithms Tutorial 4
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Lecture 23. Subset Sum is NPC
Lecture 22: April 18 Probabilistic Method. Why Randomness? Probabilistic method: Proving the existence of an object satisfying certain properties without.
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
Proof translation from CVC3 to Hol light Yeting Ge Acsys Mar 5, 2008.
Plan for today Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search.
CS21 Decidability and Tractability
February 23, 2015CS21 Lecture 201 CS21 Decidability and Tractability Lecture 20 February 23, 2015.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton,
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2006 Lecture 7 Monday, 4/3/06 Approximation Algorithms.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
Identifying Conflicts in Overconstrained Temporal Problems Mark H. Liffiton, Michael D. Moffitt, Martha E. Pollack, and Karem A. Sakallah University of.
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
ENGG3190 Logic Synthesis “Boolean Satisfiability” Winter 2014 S. Areibi School of Engineering University of Guelph.
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.
Ofer Strichman, Technion Deciding Combined Theories.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
Logics for Data and Knowledge Representation Propositional Logic: Reasoning Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
1 Decision Procedures for Linear Arithmetic Presented By Omer Katz 01/04/14 Based on slides by Ofer Strichman.
Boolean Satisfiability and SAT Solvers
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
Introduction to Satisfiability Modulo Theories
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
CSE332: Data Abstractions Lecture 24.5: Interlude on Intractability Dan Grossman Spring 2012.
Prof. Amr Goneid, AUC1 Analysis & Design of Algorithms (CSCE 321) Prof. Amr Goneid Department of Computer Science, AUC Part 8. Greedy Algorithms.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
Fitting a Function to the Difficulty of Boolean Formulas Greg Dennis NMM Final Project.
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.
On Finding All Minimally Unsatisfiable Subformulas Mark Liffiton and Karem Sakallah University of Michigan {liffiton, June 21, 2005.
Linear Program Set Cover. Given a universe U of n elements, a collection of subsets of U, S = {S 1,…, S k }, and a cost function c: S → Q +. Find a minimum.
Symbolic and Concolic Execution of Programs Information Security, CS 526 Omar Chowdhury 10/7/2015Information Security, CS 5261.
February 22-25, 2010 Designers Work Less with Quality Formal Equivalence Checking by Orly Cohen, Moran Gordon, Michael Lifshits, Alexander Nadel, and Vadim.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding Combined Theories.
CSC 413/513: Intro to Algorithms
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Bit-Vector Optimization ALEXANDER NADER AND VADIM RYVCHIN INTEL TACAS 2016.
Satisfiability Modulo Theories and DPLL(T) Andrew Reynolds March 18, 2015.
Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm Jianmin Zhang, Sikun Li, and Shengyu Shen School of Computer Science, National University.
Richard Anderson Lecture 26 NP-Completeness
Logic Synthesis CNF Satisfiability.
Conditions and Ifs BIS1523 – Lecture 8.
Canonical Computation without Canonical Data Structure
Introduction to the Boolean Satisfiability Problem
Logics for Data and Knowledge Representation
Canonical Computation Without Canonical Data Structure
A Progressive Approach for Satisfiability Modulo Theories
Introduction to the Boolean Satisfiability Problem
Logics for Data and Knowledge Representation
Canonical Computation without Canonical Data Structure
Canonical Computation without Canonical Data Structure
SAT/SMT seminar 18/02/2018 Computing multiple MUSes (Minimal Unsatisfiable Subformulas) and MSISes (Minimal Safe Inductive Subsets) Alexander Ivrii IBM.
Presentation transcript:

C OMPUTING U NSAT C ORES O F B OOLEAN A ND SMT F ORMULAS Computing Small Unsatisfiable Cores in Satisfiability Modulo Theories Alessandro Cimatti, Alberto Griggio and Roberto Sebastiani Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints Mark H. Liffiton and Karem A. Sakallah Lecturer: Bat-Chen Golden

E XAMPLE SAT/UNSAT? Why?

U NSAT CORES

M INIMAL UNSAT CORES

O UR PLAN

E XAMPLE

C ORRECTING SUBSETS

C ONNECTION BETWEEN MUS ES AND MCS ES

H ITTING SETS We are interested in finding minimal hitting sets, where minimal means removing any element from the set makes it no longer a hitting set. Notice that we are not interested in finding a minimum hitting set (a minimal hitting set with the smallest possible number of elements), which is the famous NP-Hard problem.

C ONNECTION BETWEEN MUS ES AND MCS ES

O UR APPROACH

P HASE 1: FIND ALL MCS ES What is the naïve way to find all correcting sets (leaving minimality a side)? Remove all possible subsets one by one and see if the remaining set is satisfiable. Now, how do we enforce minimality? By removing subsets in increasing size and making sure we don’t add a superset of a previous found MCS. And how do we implement this?

P HASE 1: FIND ALL MCS ES

We

P HASE 2: F IND ALL MINIMAL HITTING SETS OF THE MCS ES What is the naïve way to find a (not all) hitting set of all MCSes (leaving minimality a side)? Randomly pick a clause from an MCS which haven’t been covered yet. Now, how do we enforce minimality? After picking a random clause we make sure it will not be redundant by picking an MCS it appears in and removing the other clauses in it from all the other MCSes. For this process to always produce a valid hitting set we need to make sure no MCS includes another. And how do we implement this?

P HASE 2: F IND ALL MINIMAL HITTING SETS OF THE MCS ES

What should change if we want to find all hitting set of the MCSes? Instead of making a random choice of clause and MCS containing it we will use backtracking to go over all the possible choices. Note: this algorithm can produce duplicate outputs, for example: for the input MCSes {{C1,C2}, {C1,C3}}, The output {C1} will be produced twice. An optimization can be made to prevent this.

P HASE 2: F IND ALL MINIMAL HITTING SETS OF THE MCS ES

C ONCLUSION OF FIRST ARTICLE

S ECOND ARTICLE From now on we will discuss the article “A Simple and Flexible Way of Computing Small Unsatisfiable Cores in SAT Modulo Theories” by Alessandro Cimatti, Alberto Griggio, and Roberto Sebastiani. As its name implies, the article presents an algorithm for computing an unsat core for an SMT formula, based on a given algorithm for computing unsat cores for boolean formulas (such as the one we just saw).

E XAMPLE OVER EQUALITY LOGIC Reminder- the process of an SMT solver is more or less the following:

E XAMPLE OVER EQUALITY LOGIC Reminder- the process of an SMT solver is more or less the following: Generally there could be more iterations where the sat solver returns “sat” and the T-solver returns “unsat”, and each such iteration adds a “learning clause”

T HE BASIC CONCEPTS BEHIND THE ALGORITHM The algorithm will be based on the following two observations: The final Boolean formula created by this process is always unsatisfiable Otherwise we could have continued (we are assuming the formula is T-unsat, otherwise there is no unsat core to find). The “learning clauses” returned by the T-solver are always T-tautologies (satisfied by all possible assignments) The T-solver returns “false” only when a contradiction is found. The opposite of a contradiction is a tautology.

T HE ALGORITHM “Unabstract” Remove “learning clauses”, they are tautologies (by observation 2)

The end