Deriving small unsatisfiable cores with dominators

Slides:



Advertisements
Similar presentations
COMPLEXITY THEORY CSci 5403 LECTURE XVI: COUNTING PROBLEMS AND RANDOMIZED REDUCTIONS.
Advertisements

Complexity ©D.Moshkovits 1 Where Can We Draw The Line? On the Hardness of Satisfiability Problems.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Technion 1 Generating minimum transitivity constraints in P-time for deciding Equality Logic Ofer Strichman and Mirron Rozanov Technion, Haifa, Israel.
Department of Computer Science & Engineering
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
The Theory of NP-Completeness
ULTIMATELY INCREMENTAL SAT Alexander Nadel 1, Vadim Ryvchin 1,2, and Ofer Strichman 2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’14, Vienna,
Reduction of Interpolants for Logic Synthesis John Backes Marc Riedel University of Minnesota Dept.
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:
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
On-The-Fly Resolve Trace Minimization Ohad Shacham and Karen Yorav IBM Haifa Research Laboratory.
Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton,
1 Linear-time Reductions of Resolution Proofs Omer Bar-Ilan Oded Fuhrmann Shlomo Hoory Ohad Shacham Ofer Strichman Technion.
Technion 1 Generating minimum transitivity constraints in P-time for deciding Equality Logic Ofer Strichman and Mirron Rozanov Technion, Haifa, Israel.
Formal Verification Group © Copyright IBM Corporation 2008 IBM Haifa Labs SAT-based unbounded model checking using interpolation Based on a paper “Interpolation.
Technion 1 (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
1 Linear-time Reductions of Resolution Proofs Omer Bar-Ilan Oded Fuhrmann Shlomo Hoory Ohad Shacham Ofer Strichman Technion.
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Binary Decision Diagrams (BDDs)
Boolean Satisfiability and SAT Solvers
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
1 Agenda Modeling problems in Propositional Logic SAT basics Decision heuristics Non-chronological Backtracking Learning with Conflict Clauses SAT and.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
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.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Boolean Satisfiability Present and Future
February 22-25, 2010 Designers Work Less with Quality Formal Equivalence Checking by Orly Cohen, Moran Gordon, Michael Lifshits, Alexander Nadel, and Vadim.
Efficient SAT Solving Under Assumptions Alexander Nadel 1 and Vadim Ryvchin 1,2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’12, Trento, Italy.
Preprocessing in Incremental SAT Alexander Nadel 1, Vadim Ryvchin 1,2, and Ofer Strichman 2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’12,
NPC.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
Complexity ©D.Moshkovits 1 2-Satisfiability NOTE: These slides were created by Muli Safra, from OPICS/sat/)
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.
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
Resolution Proofs as a Data Structure for Logic Synthesis John Backes Marc Riedel Electrical.
NP-Completeness A problem is NP-complete if: It is in NP
The NP class. NP-completeness
Resolution proof system
Minimizing Unsatisfiable Formulas
Parallelism in SAT Solvers
(xy)(yz)(xz)(zy)
Alan Mishchenko UC Berkeley
Simple Circuit-Based SAT Solver
CS21 Decidability and Tractability
Mining backbone literals in incremental SAT
Optimal Redundancy Removal without Fixedpoint Computation
Where Can We Draw The Line?
Automated Proof Generation for EG
More NP-complete Problems
Canonical Computation without Canonical Data Structure
ECE 667 Synthesis and Verification of Digital Circuits
Canonical Computation Without Canonical Data Structure
Improvements to Combinational Equivalence Checking
Decision Procedures An Algorithmic Point of View
Resolution Proofs for Combinational Equivalence
Efficient MUS Extraction with Resolution
Recording Synthesis History for Sequential Verification
Canonical Computation without Canonical Data Structure
Decision heuristics based on an Abstraction/Refinement model
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere!)
SAT-Based Logic Synthesis
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Verifying Clausal Proofs, DRUPing and Interpolants SAT/SMT Seminar
Presentation transcript:

Deriving small unsatisfiable cores with dominators Ofer Strichman Joint work with Maya Koifman and Roman Gershman

Unsatisfiable cores Problem: given an unsatisfiable CNF, find a ‘small’ subset of clauses that is still unsatisfiable. Hard problems: Minimum Unsatisfiable core (2-complete) [G05] Minimal Unsatisfiable core (Dp-complete) [LS04, OMASM04, H05, NDH06]

Goal Typically part of a larger system (e.g., proof-based abstraction/refinement) Our Goal: a cost-effective algorithm for reducing the core size Reduction size `Velocity’ = clauses / sec.

A fixpoint approach [ZM03] run-till-fix(φ) { Repeat forever: U := unsatcore(φ) if U = φ return U; φ = U }

SAT solvers are complete resolution engines Specifically, if the formula is unsatisfiable: … they can output a resolution proof ending with the empty clause. Our approach is based on analyzing this graph.

Resolution graph L : Empty clause Inferred clauses Original clauses learning Original clauses L : Unsatisfiable core

Dominators A vertex d dominates another vertex m ≠ d, if every path from m to the sink-node contains d. m is called a minion of d ( ) d 12 Finding dominance relation: Lengauer – Tarjan: O(|E|log|V|) m m

Transforming the resolution graph Observation: If d is derivable without its minions M, then M can be removed from the core. d 12 L : L’(d)

Transforming the resolution graph Is there a proof of node d from L’(d)? d 12 L : L’(d)

An alternative proof. Suppose we have an alternative proof of d from L’(d): d 12 L : L’(d)

Then we can... Embed the new proof, and re-iterate. But: how do we find a resolution proof of d? 12 L : L’(d)

Transforming the resolution graph Q: How do we find a resolution proof L’(d) ` d? Recall: SAT can only generate a proof of unsatisfiability (the empty clause). A: Rely on the equivalence L’(d) ` d , L’(d) ^ !d ` () Problem: proof transformation

Proof transformation !d d = (z1 z2) L’(d) ^ !(z1 z2) ` ()

Rewriting the proof For every assumption (:z): For every addition of z rewrite rewrite

Proof transformation !d d = (z1 z2) L’(d) ^ !(z1 z2) ` ()

Proof transformation L’(d) ^ !(z1 z2) ` () L’(d) ` (z1 z2) L’ (d) !d

Proof transformation L’(d) ^ !(z1 z2) ` () L’(d) ` (z1 z2) L’ (d) !d

Proof transformation L’(d) ^ !(z1 z2) ` () L’(d) ` (z1 z2) L’ (d) !d

Proof transformation L’(d) ^ !(z1 z2) ` () L’(d) ` (z1 z2) L’ (d) !d

Proof transformation !d L’(d) ^ !(z1 z2) ` () L’(d) ` (z1 z2) Result is a ‘Clause Implication Graph’ L’ (d) !d

 L’ (d) ^ !d ` () L’ (d) ` d Create resolution graph R Create priority queue of R’s dominators None Select next dominator d Embed new proof in R Output: current leaves of R SAT (L’(d) ^ !d) yes  Remove old proof from R No L’ (d) ^ !d ` () Transform proof into L’ (d) ` d

Using Incremental SAT Reuse all clauses not on a path from the minions to the sink node. 14 d

Results – Accumulated # removed clauses 71 industrial benchmarks (timeout – 1 hour)

Trim-till-fix run-till-fix

71 industrial benchmarks (timeout – 1 hour) Core reduction: Trim-till-fix Run-till-fix

Conclusions Trim-till-fix Room for further research More continues Removes more clauses Room for further research Various combinations with Run-till-fix Different orderings of the dominators Removing variables, not clauses …

Acceleration