Efficient MUS Extraction with Resolution

Slides:



Advertisements
Similar presentations
The behavior of SAT solvers in model checking applications K. L. McMillan Cadence Berkeley Labs.
Advertisements

Exploiting SAT solvers in unbounded model checking K. L. McMillan Cadence Berkeley Labs.
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
1 Local Restarts in SAT Solvers Vadim Ryvchin and Ofer Strichman Technion, Haifa, Israel.
SAT Based Abstraction/Refinement in Model-Checking Based on work by E. Clarke, A. Gupta, J. Kukula, O. Strichman (CAV’02)
Introduction to MiniSat v1.14 Presented by Yunho Kim Provable Software Lab, KAIST.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
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.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
A Scalable Algorithm for Minimal Unsatisfiable Core Extraction Nachum Dershowitz¹ Ziyad Hanna² Alexander Nadel¹, ² 1 Tel-Aviv University 2 Intel SAT’06.
© Anvesh Komuravelli IC3/PDR Overview of IC3/PDR Anvesh Komuravelli Carnegie Mellon University.
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:
On-The-Fly Resolve Trace Minimization Ohad Shacham and Karen Yorav IBM Haifa Research Laboratory.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
1 Linear-time Reductions of Resolution Proofs Omer Bar-Ilan Oded Fuhrmann Shlomo Hoory Ohad Shacham Ofer Strichman Technion.
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.
Formal Verification Group © Copyright IBM Corporation 2008 IBM Haifa Labs SAT-based unbounded model checking using interpolation Based on a paper “Interpolation.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
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.
1 Linear-time Reductions of Resolution Proofs Omer Bar-Ilan Oded Fuhrmann Shlomo Hoory Ohad Shacham Ofer Strichman Technion.
7/13/2003BMC A SAT-Based Approach to Abstraction Refinement in Model Checking Bing Li, Chao Wang and Fabio Somenzi University of Colorado at Boulder.
On Bridging Simulation and Formal Verification Eugene Goldberg Cadence Research Labs (USA) VMCAI-2008, San Francisco, USA.
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
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.
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.
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.
SAT Solver Heuristics. SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) –Able to solve variable problems Satz (Chu Min.
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,
SPARSE CERTIFICATES AND SCAN-FIRST SEARCH FOR K-VERTEX CONNECTIVITY
1 A framework for eager encoding Daniel Kroening ETH, Switzerland Ofer Strichman Technion, Israel (Executive summary) (submitted to: Formal Aspects of.
Bit-Vector Optimization ALEXANDER NADER AND VADIM RYVCHIN INTEL TACAS 2016.
Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm Jianmin Zhang, Sikun Li, and Shengyu Shen School of Computer Science, National University.
Efficient Generation of Small Interpolants in CNF (for Model Checking)
Hybrid BDD and All-SAT Method for Model Checking
Clause Learning in a SAT-Solver
Minimizing Unsatisfiable Formulas
Gábor Kusper University of Linz RISC Austria
Parallelism in SAT Solvers
A theory-based decision heuristic for DPLL(T)
Solving Linear Arithmetic with SAT-based MC
Deriving small unsatisfiable cores with dominators
CS21 Decidability and Tractability
Mining backbone literals in incremental SAT
Canonical Computation without Canonical Data Structure
Canonical Computation Without Canonical Data Structure
Decision Procedures An Algorithmic Point of View
Resolution Proofs for Combinational Equivalence
Dániel Marx (slides by Daniel Lokshtanov)
Canonical Computation without Canonical Data Structure
CS21 Decidability and Tractability
Canonical Computation without Canonical Data Structure
Stronger learning and higher backjumping
Decision heuristics based on an Abstraction/Refinement model
SAT-based Methods: Logic Synthesis and Technology Mapping
SAT Based Abstraction/Refinement in Model-Checking
GRASP-an efficient SAT solver
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Verifying Clausal Proofs, DRUPing and Interpolants SAT/SMT Seminar
Presentation transcript:

Efficient MUS Extraction with Resolution Minimal Unsatisfiable Set Efficient MUS Extraction with Resolution Alexander Nadel Intel, Haifa Vadim Ryvchin Intel + Technion, Haifa Ofer Strichman Technion, Haifa

Minimal Unsatisfiable Set (MUS) Given an unsatisfiable CNF , find a minimal (irreducible) set of clauses à µ  such that à is unsatisfiable. Two main ‘schools’ of finding cores: Assumptions-based (Een & Sorensson, [2003]) Resolution-based (Zhang et al. [2003]) Assumptions-based: all clauses are guarded by clause selectors which are given as assumptions. Removing a clause = assuming the selector is true. Resolution-based: analyzing the proof

Deletion-based minimization Initially Roots are unmarked  = Roots Return Roots All marked Choose unmarked clause c 2 Roots Remove(, c); SAT() ? yes no Incremental setting. Remove(\phi, c) means we remove it incrementally. We will focus from hereon on resolution-based. We want the core to use as little as possible ‘unmarked clauses’ mark c Roots := core Works for both ‘assumptions-based’ and ‘resolution-based’

Derived clauses are also marked Optimization 1 ? m Maintain partial resolution proofs Only part of proof emanating from unmarked clauses

Derived clauses are also marked Optimization 2 ? m m m m m m Postpone propagation of unmarked clauses These pull unmarked clauses into the proof

Derived clauses are also marked Optimizations 3,4 ? m m m m m m … and two other optimizations we used for group MUS [RS’12]

Choose unmarked clause c 2 Roots Model Rotation* * Belov, A., Marques-Silva, J.: Accelerating MUS extraction with recursive model rotation. In: FMCAD’11. (2011)  = Roots Return Roots All marked Choose unmarked clause c 2 Roots Remove(, c); Rotation: mark more clauses SAT() ? yes no mark c Roots := core

Searching for other clauses that can be marked Model Rotation  is unsat, but ® ² /c ®’ = ®[l à :l] for some l 2 c if (UnsatSet(, ®’) = {c’} Æ c’ is unmarked) then Mark c’; Apply recursively with (, c’, ®’); } Note that \varphi \ c’ is SAT The difference is: we are starting with a different assignment; hence we w \begin{tabular}{|lll|}\hline & E-rotation & Rotation \\ %Run-time & 23726 & 26449 \\ MUS size & 2540139 & 2528620 \\ Added clauses & 2261115 & 2021554 \\ Initial calls & 259244 & 506908 \\ Iterations & 310680 & 556493 \\ Iterations/calls & 1.19 & 1.09 \\ Clauses/iterations & 7.27 & 3.63 \\ Clauses/calls & 8.72 & 3.98 \\ \hline \end{tabular} \caption{Statistics comparing E-rotation and Rotation. Since the corresponding functions \alg{ERMR} and \alg{RMR} are recursive, we make the distinction between Initial calls (calls from line~\ref{step-call} in \alg{MUS}) and Iterations, which is the total number of calls to these functions.}\label{fig:erot}ant to keep developing that clause. Searching for other clauses that can be marked

New assignment ) new starting point for the search Model Rotation, eager Optimization 5  is unsat, but ® ² /c ®’ = ®[l à :l] for some l 2 c if (UnsatSet(, ®’) = {c’} Æ c’ is unmarked) then Mark c’; Apply recursively with (, c’, ®’); } in the current call Note that \varphi \ c’ is SAT The difference is: we are starting with a different assignment; hence we w \begin{tabular}{|lll|}\hline & E-rotation & Rotation \\ %Run-time & 23726 & 26449 \\ MUS size & 2540139 & 2528620 \\ Added clauses & 2261115 & 2021554 \\ Initial calls & 259244 & 506908 \\ Iterations & 310680 & 556493 \\ Iterations/calls & 1.19 & 1.09 \\ Clauses/iterations & 7.27 & 3.63 \\ Clauses/calls & 8.72 & 3.98 \\ \hline \end{tabular} \caption{Statistics comparing E-rotation and Rotation. Since the corresponding functions \alg{ERMR} and \alg{RMR} are recursive, we make the distinction between Initial calls (calls from line~\ref{step-call} in \alg{MUS}) and Iterations, which is the total number of calls to these functions.}\label{fig:erot}ant to keep developing that clause. New assignment ) new starting point for the search

The impact of E-rotation Optimization 5

Redundancy removal [BS’11] Optimization 6 S is unsat ) (SAT(S / c) , SAT((S / c) Æ :c) Hence, add :c literals as assumptions. This is implemented already in MUSer-2 [BS’11]. Our improvement (“path falsification”): Add :c, :c1…, :cn literals as assumptions. c = (1 2 3) c1 = (-1 4) c2 = (-4)

Path falsification Vertex cut: separates ? from the roots Optimization 6 Vertex cut: separates ? from the roots Implies what’s on its left ) must be unsat ? c

Path falsification Consider ®, ® ² Roots / c ® cannot satisfy a cut ) SAT(C/c) Optimization 6 Consider ®, ® ² Roots / c ® cannot satisfy a cut ) ® ² (:c Æ :c1 Æ :c2) Ç (:c Æ :c1 Æ :c3) ) ® ² :c Æ :c1 ? c2 c1 c c3

Results 295 benchmarks of the 2011 MUS competition Base – HaifaMUC with deletion-based + clause-set refinement. MUSer 2 – Belov & Marques-Silva, which includes rotation Minisatbb – Lagniez & Biere – “Factoring-out assumptions to speed-up MUS extraction” HaifaMUC (erot_AB…) – this article 295 benchmarks of the 2011 MUS competition

HaifaMUC vs. Minisatbb* * Lagniez, Biere, SAT’13