Mining backbone literals in incremental SAT

Slides:



Advertisements
Similar presentations
Model Checking Base on Interoplation
Advertisements

SMELS: Sat Modulo Equality with Lazy Superposition Christopher Lynch – Clarkson Duc-Khanh Tran - MPI.
The behavior of SAT solvers in model checking applications K. L. McMillan Cadence Berkeley Labs.
The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Completeness and Expressiveness
Complexity ©D.Moshkovits 1 Where Can We Draw The Line? On the Hardness of Satisfiability Problems.
1 Local Restarts in SAT Solvers Vadim Ryvchin and Ofer Strichman Technion, Haifa, Israel.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Greedy Algorithms Greed is good. (Some of the time)
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.
Interpolants from Z3 proofs Ken McMillan Microsoft Research TexPoint fonts used in EMF: A A A A A.
A Scalable Algorithm for Minimal Unsatisfiable Core Extraction Nachum Dershowitz¹ Ziyad Hanna² Alexander Nadel¹, ² 1 Tel-Aviv University 2 Intel SAT’06.
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.
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
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.
1 A theory-based decision heuristic for DPLL(T) Dan Goldwasser Ofer Strichman Shai Fine Haifa university TechnionIBM-HRL.
Computing Over­Approximations with Bounded Model Checking Daniel Kroening ETH Zürich.
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.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
On Bridging Simulation and Formal Verification Eugene Goldberg Cadence Research Labs (USA) VMCAI-2008, San Francisco, USA.
Boolean Satisfiability and SAT Solvers
An Algorithmic Proof of the Lopsided Lovasz Local Lemma Nick Harvey University of British Columbia Jan Vondrak IBM Almaden TexPoint fonts used in EMF.
Lecture 22 More NPC problems
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.
Incremental formal verification of hardware Hana Chockler Alexander Ivrii Arie Matsliah Shiri Moran Ziv Nevo IBM Research - Haifa.
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,
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,
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
Answer Extraction To use resolution to answer questions, for example a query of the form  X C(X), we must keep track of the substitutions made during.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Basic Concepts and Background.
Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm Jianmin Zhang, Sikun Li, and Shengyu Shen School of Computer Science, National University.
Decision Procedures in First Order Logic
Efficient Generation of Small Interpolants in CNF (for Model Checking)
Inference and search for the propositional satisfiability problem
Minimizing Unsatisfiable Formulas
Computability and Complexity
Parallelism in SAT Solvers
A theory-based decision heuristic for DPLL(T)
Deriving small unsatisfiable cores with dominators
Logical Inference: Through Proof to Truth
NP-Completeness Yin Tat Lee
Complexity 6-1 The Class P Complexity Andrei Bulatov.
SAT-Based Area Recovery in Technology Mapping
ECE 667 Synthesis and Verification of Digital Circuits
Decision Procedures An Algorithmic Point of View
Resolution Proofs for Combinational Equivalence
Efficient MUS Extraction with Resolution
Artificial Intelligence
Artificial Intelligence
Graphs and Algorithms (2MMD30)
Canonical Computation without Canonical Data Structure
Decision heuristics based on an Abstraction/Refinement model
SAT-based Methods: Logic Synthesis and Technology Mapping
Huffman Coding Greedy Algorithm
SAT/SMT seminar 18/02/2018 Computing multiple MUSes (Minimal Unsatisfiable Subformulas) and MSISes (Minimal Safe Inductive Subsets) Alexander Ivrii IBM.
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:

Mining backbone literals in incremental SAT A new kind of incremental data Alexander Ivrii IBM Haifa Vadim Ryvchin Intel Haifa Ofer Strichman Technion, Haifa TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAA

Backbone literals l is a backbone literal of  if all models of  satisfy l. Checking whether a literal is a backbone is NP-C [1]. In this work: We show that many backbone literals (BL) can be found in P- time in the incremental SAT setting. Based on analyzing the proof of the last unsat instance. [1] Janota, Lynce, Marques-Silva. Algorithms for computing backbones of propositional formulae. AI Communication 2015.

Observation 1 Let π be a refutation. Then every vertex cut in π represents an inconsistent set of clauses [2] ? [2] A. Nadel. Understanding and Improving a Modern SAT Solver. PhD thesis, 2009.

Observation 2 Suppose our next instance is ’ = ¼ n cone(c) Let ® ² ’ Then ® ² :c ’ ) :c c2 ? c c3 c1 ’ (this observation is the basis of ‘redundancy removal’ in MUC extraction)

Observation 2 Suppose our next instance is ’ = ¼ n cone(c) Let ® ² ’ Then ® ² :c1 ’ ) :c1 c2 ? c c3 c1 ’

Observation 2 Suppose our next instance is ’ = ¼ n cone(c) Let ® ² ’ Then ® ² :c2 Ç :c3 ’ ) :c2 Ç :c3 c2 ? c c3 c1 ’

Observation 2 Suppose our next instance is ’ = ¼ n cone(c) Let ® ² ’ Then ® ² :c Æ :c1 Æ (:c2 Ç :c3) ’ ) :c Æ :c1 Æ (:c2 Ç :c3) c2 ? c c3 c1 ’ So what ?

In general… Let Cuts be the set of vertex cuts in cone(c) Then (¼ n cone(c)) ) So we can add the redundant constraints à ’ à So what ?

In general Adding Ã: Two problems: Not clear that adding such redundancy helps Exploring all cuts is ineffective A Solution preview: Find in P-time literals BL that are implied by à Since ’ ) à ) BL …then we can check ’ Æ BL But how?

Finding those backbone literals: Example Suppose c2,c3 contain a mutual literal l e.g. c2 = (l Ç X1), c3 = (l Ç X2) Then l ² c2 Æ c3 But since we saw that à ² (:c2 Ç :c3) then à ² :l. Conclusion: ’ ) :l. c2 ? c c3 c1 ’

Observation 3 ’ ² :l if l appears in every clause along some cut in cone(c) Luckily, it can be done in P-time But exploring all cuts is exponential…

Mining BL literals in P-time: example Literals on all paths from root to here {1 2 -3} {1 2 -3 4 5} {1 2 -3 5 -7} {1 2 -3 4 5 6 8} {1 2 -3 5} Each of these literals satisfies a cut in cone(c)

Let’s keep mining… So far we ignored the state of the solver…. Suppose at decision level 0, ’ implies the literal -7 Denote such literals by cons. {1 2 -3} {1 2 -3 4 5} {1 2 -3 5 -7} {1 2 -3 4 5 6 8} {1 2 -3 4 5 6 8} {1 2 -3 5}

Let’s keep mining… We can create a feedback loop: …and activate it every time there is an increase in cons (decision level 0) (future work): … or at higher decision levels, Using an interface similar to SMT, where MBL is the theory. cons BCP MBL BL

Other optimizations… Cutoff values When the span of cone(c) exceeds a threshold, stop. Likely to take too much time Not likely to produce many literals because cuts are long

A major problem The more BL literals there are… Without a proof of … … the better the chance the proof will rely on them… … and hence be a proof of :BL, rather than of . Without a proof of … We cannot repeat the process. In MUC extraction: we cannot apply clause-set refinement (extract a core). Hence, can only remove one clause. A known problem for simpler techniques [1][2] We actually have an idea how to extract a core (see understandings document) and email 10/9/15. [1] Nadel, Ryvchin, Strichman: Efficient MUS extraction with resolution. FMCAD’13 [2] Belov, Marques-Silva: MUSer2: An efficient MUS extractor. JSAT

Can we reconstruct a proof of ? ? BL are derived based on a meta-argument, using the fact that the previous formula was unsatisfiable. Our strategy: use the BL only when it is worth it… Hence… we do not have a deductive proof that uses less than all of the clauses.

Repeating the process We apply two delays to encourage proofs of : Initial delay until BL are computed / used Many instances are solved fast without them If proved unsat with BL, continue for a bounded amount of time with the hope to find a proof of . If all else fails… do not use BL until the next proof of . In between such proofs, use redundancy-removal (BL = :c) The advantage of the second type of delay is that it helps SAT cases

Experiments We compare to Path Strengthening [1] – a prefix of clauses without siblings in cone(c) c2 ? c c3 c1 ’ [1] Nadel, Ryvchin, Strichman: Efficient MUS extraction with resolution. FMCAD’13

Results SAT’11 comp. benchmarks: 6% improvement. Sat02¯ unsat benchmarks: 10% improvement. Sat02¯ Sat02¯

Why such a small improvement ? Benchmarks With a 15 min. timeout, we can only compute MUS for easy instances. Typically each iteration solved < 1 sec. The P-time cost vs. exp-time benefit does not play much of a role in such formulas.

Why such a small improvement ? A diminishing value of extra assumptions: Sat02¯

Summary We showed a P-time algorithm to extract Backbone Literals in an incremental setting. A new type of incremental data Challenge: fix the negative-feedback loop problem ! Implemented in HaifaMUC-1.3 …. Looking for collaborations on this topic … .

Optimization #1 for min. unsat core Suppose last proof used assumptions set A (hence it is a proof of :A) Clause c’ was not used in proof, and Clause c’ is not a root of a clause in an l-cut, for l2A. Hence c’ is not necessary for the proof and can be removed. Apply this for every clause c’ not used in the proof. Problem: for each l 2 A, find an l vertex cut (the highest possible, so as to minimize roots). Solution: Go bottom up with l, stop at c if it has a parent p such that l  p.LitSet (and assert that l 2 c.LitSet). Wrong! Core + core(BL) is insufficient. There is some confusion here with negation, since the assumptions are negation of literals in the BL set. So it is really: A \subset \neg l, l \in BL(c’)

Used to prove :l1 and :l2 Can be removed Used in proof of (l1 Ç l2) c l1-cut l2-cut Wrong! Core + core(BL) is insufficient.

The case of min. unsat core (MUC) In contrast to general incremental SAT, where clauses are removed between instances from outside, … in MUC we try to remove as many clauses as possible.

Optimization for min. unsat core Suppose last proof used assumptions set A hence it is a proof of :A Clause c’ was not used in proof, A µ BL(c’) Hence c’ is not necessary for the proof and can be removed. Apply this for every clause c’ not used in the proof.  n c’ ) :A  n c’ ) A This is pf_unsatopt in the code. There is some confusion here with negation, since the assumptions are negation of literals in the BL set. So it is really: A \subset \neg l, l \in BL(c’)