2009/6/30 CAV 2009 1 Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.

Slides:



Advertisements
Similar presentations
Model Checking Base on Interoplation
Advertisements

- 1 - Using an SMT Solver and Craig Interpolation to Detect and Remove Redundant Linear Constraints in Representations of Non-Convex Polyhedra Christoph.
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Propositional and First Order Reasoning. Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p 
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:
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
Computability and Complexity 8-1 Computability and Complexity Andrei Bulatov Logic Reminder.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
ECE 331 – Digital System Design
Interpolants [Craig 1957] G(y,z) F(x,y)
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
1 Deciding separation formulas with SAT Ofer Strichman Sanjit A. Seshia Randal E. Bryant School of Computer Science, Carnegie Mellon University.
Inference and Resolution for Problem Solving
1 Quantified Formulas Acknowledgement: QBF slides borrowed from S. Malik.
ECE Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level.
Boolean Functions and their Representations
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.
Sanjit A. Seshia and Randal E. Bryant Computer Science Department
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.
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 3-1 Chapter #2: Two-Level Combinational Logic Section 2.1, Logic Functions.
5/6/2004J.-H. R. Jiang1 Functional Dependency for Verification Reduction & Logic Minimization EE290N, Spring 2004.
1 A propositional world Ofer Strichman School of Computer Science, Carnegie Mellon University.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
ECE 667 Synthesis and Verification of Digital Systems
IT University of Copenhagen Lecture 8: Binary Decision Diagrams 1. Classical Boolean expression representations 2. If-then-else Normal Form (INF) 3. Binary.
On Solving Presburger and Linear Arithmetic with SAT Ofer Strichman Carnegie Mellon University.
Binary Decision Diagrams (BDDs)
Decision Procedures - An algorithmic point of view
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.
Dr. Eng. Farag Elnagahy Office Phone: King ABDUL AZIZ University Faculty Of Computing and Information Technology CPCS 222.
1 MVD 2010 University of Iowa New York University Comparing Proof Systems for Linear Real Arithmetic Using LFSC Andrew Reynolds September 17, 2010.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Controller Synthesis for Pipelined Circuits Using Uninterpreted Functions Georg Hofferek and Roderick Bloem. MEMOCODE 2011.
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.
Integrating high-level constructs into programming languages Language extensions to make programming more productive Underspecified programs –give assertions,
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.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Boolean Satisfiability Present and Future
Tommy Messelis * Stefaan Haspeslagh Patrick De Causmaecker *
1 First order theories (Chapter 1, Sections 1.4 – 1.5) From the slides for the book “Decision procedures” by D.Kroening and O.Strichman.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Basic Concepts and Background.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 17: March 11, 2002 Sequential Optimization (FSM Encoding)
Test complexity of TED operations Use canonical property of TED for - Software Verification - Algorithm Equivalence check - High Level Synthesis M ac iej.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Quantified Formulas Acknowledgement: QBF slides borrowed from S.
1 Computing Abstractions by integrating BDDs and SMT Solvers Alessandro Cimatti Fondazione Bruno Kessler, Trento, Italy Joint work with R. Cavada, A. Franzen,
Towards Completely Automatic Decoder Synthesis Hsiou-Yuan Liu, Yen-Cheng Chou, Chen- Hsuan Lin, and Jie-Hong Roland Jiang ALCom Lab EE Dept/ Grad. Inst.
Algebra 2 Chapter 1 Review.
Resolution Proofs as a Data Structure for Logic Synthesis John Backes Marc Riedel Electrical.
Efficient Generation of Small Interpolants in CNF (for Model Checking)
Chih-Fan Lai1, J.-H. Roland Jiang1, and Kuo-Hua Wang2
Interpolating Functions from Large Boolean Relations
Planning as model checking, (OBDDs)
A Boolean Paradigm in Multi-Valued Logic Synthesis
ECE 667 Synthesis and Verification of Digital Systems
Propositional Calculus: Boolean Algebra and Simplification
To SAT or Not to SAT: Ashenhurst Decomposition in a Large Scale
Binary Decision Diagrams
SAT-based Methods for Scalable Synthesis and Verification
SAT-Based Logic Synthesis
Dichotomies in CSP Karl Lieberherr inspired by the paper:
To SAT or Not to SAT: Ashenhurst Decomposition in a Large Scale
Presentation transcript:

2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng. National Taiwan University Taipei 10617, Taiwan

2009/6/30CAV Outline Motivations Prior work Quantifier elimination by functional composition Propositional logic Predicate logic Experimental results Conclusions

2009/6/30CAV Introduction Quantifier elimination transforms a quantified formula, e.g.,  x 1  x 2  x 3   x n , into an equivalent quantifier-free formula   can be preferable to  x 1  x 2  x 3   x n  E.g., Properties of  can be reasoned more easily  can be treated as a synthesis result for implementation

2009/6/30CAV Introduction QE examples Gauss elimination for systems of linear equalities Fourier-Motzkin elimination for systems of linear inequalities Cylindrical algebraic decomposition for systems of polynomial inequalities

2009/6/30CAV Motivations QE arises in many contexts, including computation theory, mathematical logic, optimization, … Constraint reduction Quantified Boolean Formula (QBF) solving

2009/6/30CAV Main focus Propositional logic Quantifier elimination for QBFs

2009/6/30CAV Prior work Formula expansion  y  (x,y) =  (x,0)   (x,1) BDD, AIG based image-computation [Coudert90][Pigorsch06] Normal-form conversion Existential (universal) quantification is computationally trivial for disjunctive (conjunctive) normal form formulas Simply remove from the formula the literals of variables to be quantified E.g.,  x 1 [(x 1  x 2  x 3 )(  x 1  x 3 )(x 2  x 4 )] = (x 2  x 3 )(x 3 )(x 2  x 4 ) Formula conversion between CNF and DNF [McMillan02] Solution enumeration Compute  (x) =  y  (x,y) by enumerating all satisfiable assignments on x SAT-based image computation, e.g., [Ganai04] Yet another way?

2009/6/30CAV Question Given a quantified formula  y  (x,y), what should a function f be such that  (x,f(x)) =  y  (x,y)? I.e., QE by functional composition

2009/6/30CAV Answer  (x,f(x)) =  y  (x,y) if and only if f has care onset  (x,1)   (x,0) care offset  (x,0)   (x,1) don’t care set  (x,1)   (x,0) In other words, (  (x,1)   (x,0))  f   (  (x,0)   (x,1)) Such f always exists

2009/6/30CAV Problem formulation For universal quantification  y  (x,y) =  y  (x,y) =  (x,f(x)) =  (x,f(x)) f has care onset  (x,1)   (x,0) care offset  (x,0)   (x,1) don’t care set  (x,1)   (x,0) So by computing composite functions f, one can iteratively eliminate the quantifiers of any QBF

2009/6/30CAV Computation f can be computed by Binary decision diagrams (BDDs) Not scalable for large  Craig interpolation

2009/6/30CAV Craig interpolation (Propositional logic) For  A   B unsatisfiable, there exists an interpolant  of  A w.r.t.  B such that 1.  A   2.    B is unsatisfiable 3.  refers only to the common variables of  A and  B

2009/6/30CAV Computation  A care onset  B care offset  interpolant The interpolant is a valid implementation of f, which can be obtained from the refutation of  A   B in SAT solving and can be naturally represented in And-Inverter Graphs (AIGs) care onset  (x,1)   (x,0) care offset  (x,0)   (x,1) don’t care set  (x,1)   (x,0)

2009/6/30CAV Composition vs. expansion Is  (x,f(x)) better than  (x,0)   (x,1) ? f xx in terms of AIGs, where structurally identical nodes are merged

2009/6/30CAV Composition vs. expansion [  ] Consider simplifying  (x,1) in  (x,0)   (x,1) using  (x,0) as don’t care care onset  (x,1)   (x,0) care offset  (x,1)   (x,0) In contrast to f with care onset  (x,1)   (x,0) care offset  (x,0)   (x,1) For existential quantification, composition can be much better than expansion for sparse  (due to simple interpolants)

2009/6/30CAV Composition vs. expansion [  ] Consider simplifying  (x,1) in  (x,0)   (x,1) using  (x,0) as don’t care care onset  (x,1)   (x,0) care offset  (x,1)   (x,0) In contrast to f with care onset  (x,1)   (x,0) care offset  (x,0)   (x,1) For universal quantification, composition can be much better than expansion for dense  (due to simple interpolants)

2009/6/30CAV Generalization to predicate logic For a language L in predicate logic under structure (interpretation) I, | = I  x(  y  (x,y) =  F  (x,Fx)) QE is possible if such function F is finitely expressible in the language If  y  (x,y) =  (x,fx), then  (a,b)  y  (a,y) is satisfied for any a, b with f(a)=b If for any a, b with f(a)=b satisfies  (a,b)  y  (a,y), then  y  (x,y) =  (  i   (x,f i x)), where f = f i if  i holds {(a,b) |  (a,b)  y  (a,y)} characterizes the flexibility of f, which can be exploited to simplify QE

2009/6/30CAV Generalization to predicate logic Example  x(a  x 2 +c=0) over the real number f(a,c) = (–c/a) 1/2 if c/a  0 –if c/a > 0 Taking f(a,c) = (((–c/a) 2 ) 1/2 ) 1/2, this quantified formula is equivalent to a  ((((–c/a) 2 ) 1/2 ) 1/2 ) 2 +c=0

2009/6/30CAV Experiments Given a sequential circuit, we compute its transition relation with input variables being quantified out, i.e.,  x [  i (s i '   i (x,s))] Simple quantification scheduling applied AIG minimization applied

2009/6/30CAV Experimental results

2009/6/30CAV Discussion Expansion vs. composition based QE Analogy with two-level vs. multi-level circuit minimization Relaxing level constraints admits more compact circuit representation Sparsity may play an essential role in the effectiveness of composition-based QE

2009/6/30CAV Conclusions Quantifier elimination with functional composition can be effective at least for some applications (where the sparsity condition holds) Future work Find more applications QE in predicate logic

2009/6/30CAV Thanks for your attention!

2009/6/30CAV Questions?