Boolean decision diagrams and SAT-based representations
|
|
- Kelley Dixon
- 6 years ago
- Views:
Transcription
1 Boolean decision diagrams and SAT-based representations 4th July 200
2 So far we have seen Kripke Structures 2 Temporal logics (and their semantics over Kripke structures) 3 Model checking of these structures
3 So far we have seen Kripke Structures 2 Temporal logics (and their semantics over Kripke structures) 3 Model checking of these structures Main problem The state space explosion.
4 So far we have seen Kripke Structures 2 Temporal logics (and their semantics over Kripke structures) 3 Model checking of these structures Main problem The state space explosion. What do we do when these problems get large?!?!
5 A simple example It is easy to construct a Kripke structure which has an infeasible number of states. Consider the parity function. PARITY n PARITY n is a Kripke structure (S, R, L) and AP = {v,..., v n } with S = {0, } n. 2 R = {(S, S ) S S 3 L(S)(v i ) = S i. n n S i + S i = mod 2}. i=0 i=0
6 Or in other words, PARITY n has a transition between any two states if both states have different parity. TOO BIG! As n gets larger, such state spaces are completely infeasible to consider directly.
7 Or in other words, PARITY n has a transition between any two states if both states have different parity. TOO BIG! As n gets larger, such state spaces are completely infeasible to consider directly. A long time... If you have 500 variables and a computer for every particle in the universe running in parallel at 6 billion Ghz each, then we would still take at least years to check every state...
8 (a) variables (b) 2 variables Figure: Parity LTS/Kripke Structures
9 (a) 3 variables (b) 4 variables (c) 5 variables Figure: Parity LTS/Kripke Structures
10 Overview Introduction Introduction 2 3
11 We can t check every state...
12 We can t check every state... However... We don t need to!
13 We can t check every state... However... We don t need to! We can use techniques from boolean function analysis, where they have considered such large functions. For example, consider BDDs.
14
15 Definition Introduction Binary Decision diagram A binary decision diagram is a binary, rooted, directed, acyclic graph representing a boolean function f : {0, } V {0, } such that any terminal (i.e. leaf) node is labeled with 0 or. 2 any non-terminal (i.e. internal) node is labeled by some v V. 3 for any path from the root to a terminal node, all labels are unique. 4 given any internal node v, there are two distinguished child nodes low(v) and high(v).
16 Example: Decision tree for Parity function Figure: Parity function
17 Ordered binary decision diagrams In general, a BDD can order the variables in whichever order it likes along different paths. Ordered BDD A BDD is ordered if there is a bijection index : V {,..., V } such that for any node v, we have index(v) < index(low(v)) and 2 index(v) < index(high(v)).
18 Example : An ordered boolean decision tree Figure: Parity function
19 How to improve? Introduction If we just considered trees, we wouldn t gain much. However... BDDs are not trees! They may share subgraphs!
20 Reduced order binary decision diagrams RBDDs A BDD is reduced if it contains no vertex v with low(v) = high(v), and 2 it contains no distinct vertices v, v such that subgraphs rooted at v and v are isomorphic. Note, from now on we consider ROBDDs, that is, reduced ordered binary decision diagrams. For a given ordering, any boolean function has a canonical ROBDD representation (see [Bry86]). Note: Due to the ordering requirement, there are functions with big ROBDDs but BDDs and even decision trees
21 So we go from... Introduction Figure: Parity function as decision tree
22 To... Introduction (a) 3 var parity 0 (b) 4 var parity
23 Introduction Now we have such BDDs, what do we do with them? Combine them!
24 Combining BDDs Introduction BDDs represent boolean functions, so when composing them, we consider the standard boolean connectives. That is, given any two BDDs A and B modelling boolean functions f A, f B : {0, } n {0, } respectively, then we want to compute BDDs to model f A vi =b - the function where v i has been replaced by constant b in f A. 2 f A - the negation of f A for all inputs. 3 f A f B - the conjunction of f A and f B for all inputs. 4 f A f B - the disjunction of f A and f B for all inputs. 5 f a (v,..., f b (u,..., u n ),..., v n ) - composition.
25 We can handle these operations using 4 basic operations. Reduction (REDUCE) 2 Restriction (RESTRICT) 3 Application (APPLY) 4 Composition Although there are other operations such as satisfaction etc which will be briefly mentioned later.
26 REDUCE Introduction Given an arbitrary OBDD B, REDUCE(B) constructs an ROBDD from B. Basic idea Label the nodes in the graph with label from the terminal nodes up to the root, in order of index (bottom up). 2 Given any terminal node v, if there exists labelled terminal node v with the same value as v, then label(v) = label(v ). 3 Given any non-terminal node v, if label(low(v)) = label(high(v)), then label(v) = label(low(v)). 4 Otherwise, given any non-terminal node v, if there exists a labelled node v already with label(low(v )) = label(low(v)), and 2 label(high(v )) = label(high(v)). then label label(v) = label(v ).
27 Example : Parity function (again!) Figure: Parity function
28 REDUCE example : Parity function (again!) I l 0 l2 Figure: Parity function
29 REDUCE example : Parity function (again!) II l 0 l2 l2 l 0 l2 l 0 l 0 l2 Figure: Parity function
30 REDUCE example : Parity function (again!) III l3 3 l 0 l2 l2 l 0 l2 l 0 l 0 l2 Figure: Parity function
31 REDUCE example : Parity function (again!) IV l7 l5 2 l6 2 l3 3 l4 3 l4 3 l3 3 l 0 l2 l2 l 0 l2 l 0 l 0 l2 Figure: Parity function
32 REDUCE example : Parity function (again!) IV l7 l5 2 l6 2 l3 3 l4 3 l 0 l2 Figure: Parity function
33 In such a way, with the correct data structures and algorithms (hash tables, bucket sorts etc), we can perform such an operation in time linear in the size of the original OBDD.
34 RESTRICT Introduction Definition Given a ROBDD A representing a boolean f A, variable v i and boolean value b {0, } construct a new BDD representing the function f A vi =b = f A (v,..., b,..., v n ).
35 RESTRICT Introduction Definition Given a ROBDD A representing a boolean f A, variable v i and boolean value b {0, } construct a new BDD representing the function f A vi =b = f A (v,..., b,..., v n ). This is very simple to implement. Idea Traverse A looking for nodes for variable v i. 2 For any node v with value v i, if b = 0, replace this node with low(v), otherwise with high(v). 3 The result may not be reduced, so run REDUCE on the result.
36 Example : Reduce (v 2 = )
37 APPLY Introduction Definition Given two ROBDDs A and B (with a given ordering), representing boolean functions f A, f B : {0, } n {0, }, we have that APPLY(, A, B) yields an ROBDD representing f A f B for any binary boolean operation.
38 APPLY Introduction Definition Given two ROBDDs A and B (with a given ordering), representing boolean functions f A, f B : {0, } n {0, }, we have that APPLY(, A, B) yields an ROBDD representing f A f B for any binary boolean operation. We can do this by using the Shannon expansion for boolean functions, and applying the operation recursively.
39 APPLY I Introduction As we have ROBDDs, we have an ordering on the variables of the two ROBDDs/functions. Therefore, consider the roots v A and v B of A and B. We have several cases If v A and v B are terminal vertices, then construct a terminal vertex with value value(v A ) value(v B ). 2 If index(v A ) = index(v B ), then construct BDDs A,...,4 for f A va =0, f A va =, f B va =0, f B va =, 2 construct BDDs L, R recursively for f A va =0 f B va =0 and f A va = f B va =, 3 construct the resultant BDD by taking a node v with value v A as the root, with low(v) = L and high(v) = R.
40 APPLY II Introduction 3 If index(v A ) < index(v B ), in which case, due to ordering f B doesn t depend on v A, and therefore we have the same case as 3 with no restriction for f B. 4 If index(v B ) < index(v A ), then this is similar to v A ) < v B ). Complexity Due to the shared isomorphic subgraphs, and the ability to use dynamic programming, such operations can be performed in O( A. B ).
41 Composition Introduction Definition Given two BDDs A and B, representing boolean functions f A, f B, the composition of A and B with respect to variable i, is the BDD representing f A vi =f B. Same basic idea as RESTRICT, except we use BDDs for F B instead of a constant value. With some tweaks to the use of APPLY, we get a O( A 2 B ) algorithm, rather than the intuitive O( A 2. B 2 ) but either way, a polynomial time algorithm.
42 So... Introduction What was the point?
43 The point was... We wanted to use BDDs to model Kripke Structures. How to do this?
44 Modelling Kripke structures using BDDs For a Kripke structure (S, T, L), we simply construct BDDs representing the states, transitions and labelling...
45 Modelling Kripke structures using BDDs For a Kripke structure (S, T, L), we simply construct BDDs representing the states, transitions and labelling... Modelling BDD for S - map every state to a vector in {0, } n, and construct the BDD for the function f S which is true for x {0, } n if x represents a valid state. If we assume we have 2 n states, then we can simply take the trivial constant BDD.
46 Modelling Kripke structures using BDDs : I Modelling (cont) BDD for T - construct the BDD for the boolean function f T : {0, } 2n {0, } where f T (s, s 2 ) = if and only if there is a transition from s to s 2. BDD for L - have a BDD for each p AP which represents the function which is true if the state satisfies the property..
47 Example : PARITY 2 i i2 i2 o o o2 o2 p 0 (a) Transition 0 (b) p-label
48 Advantage! Introduction So why did we do this? PARITY n without BDDs PARITY n has exactly 2 n states... TOO MANY! PARITY n modelled as a ROBDD The BDD representing PARITY n has 2n + nodes (including terminals) for the transition function. Exactly three node per atomic propositional in AP. So we can represent much larger Kripke structures in a much more compressed way...
49 Advantage! Introduction So why did we do this? PARITY n without BDDs PARITY n has exactly 2 n states... TOO MANY! PARITY n modelled as a ROBDD The BDD representing PARITY n has 2n + nodes (including terminals) for the transition function. Exactly three node per atomic propositional in AP. So we can represent much larger Kripke structures in a much more compressed way... with (often) efficient algorithms.
50 Are there other ways we can do this?
51
52 SAT Given a propositional formula φ over AP using operators,,, the SAT problem asks : is there an assignment f : {0, } n {0, } such that f (φ) =. Advantages Simple formulation as propositional formulae. 2 Highly optimised SAT solvers (Minisat, Picosat, March, zchaff,... ) 3... which use a variety of algorithms.
53 Representations We represent Kripke structures is essentially the same way as with BDDs (model S,T,L boolean functions as propositional formulae). Translations from boolean functions Direct translation 2 Finding small representations (without new variables) 3 Adding new variables
54 Example : SAT translation So for the SAT translation, we have the following example for PARITY 2 (as CNFs). Direct (i i 2 o o 2 ) ( i i 2 o o 2 ) ( i i 2 o o 2 ) (i i 2 o o 2 ) ( i i 2 o o 2 ) (i i 2 o o 2 ) (i i 2 o o 2 ) ( i i 2 o o 2 )
55 Model checking Given either of these models of a given Kripke structure, and 2 a formula representing a property that one wishes to hold over the structure, we can use these models to check whether the model is a model of the formula. However... This is Phil s job!
56 Thanks!
57 References Introduction Armin Biere, Alessandro Cimatti, Edmund Clarke, and Yunshan Zhu. Symbolic model checking without BDDs. Tools and Algorithms for the Construction and Analysis of Systems, pages , 999. Randal E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on computers, 00(35):677 69, 986.
Binary Decision Diagrams Boolean Functions
Binary Decision Diagrams Representation of Boolean Functions BDDs, OBDDs, ROBDDs Operations Model-Checking over BDDs 72 Boolean functions:b = {0,1}, f :B B B Boolean Functions Boolean expressions: t ::=
More informationReduced Ordered Binary Decision Diagrams
Reduced Ordered Binary Decision Diagrams Lecture #12 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 13, 2016 c JPK
More informationCTL Model Checking. Wishnu Prasetya.
CTL Model Checking Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv Background Example: verification of web applications à e.g. to prove existence of a path from page A to page B. Use of CTL
More informationBinary Decision Diagrams
Binary Decision Diagrams Logic Circuits Design Seminars WS2010/2011, Lecture 2 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical University in Prague
More informationSymbolic Model Checking with ROBDDs
Symbolic Model Checking with ROBDDs Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 14, 2016 c JPK Symbolic
More informationBinary Decision Diagrams
Binary Decision Diagrams An Introduction and Some Applications Manas Thakur PACE Lab, IIT Madras Manas Thakur (IIT Madras) BDDs 1 / 25 Motivating Example Binary decision tree for a truth table Manas Thakur
More informationReduced Ordered Binary Decision Diagrams
Reduced Ordered Binary Decision Diagrams Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de June 5, 2012 c JPK Switching
More informationBasing Decisions on Sentences in Decision Diagrams
Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence Basing Decisions on Sentences in Decision Diagrams Yexiang Xue Department of Computer Science Cornell University yexiang@cs.cornell.edu
More informationComp487/587 - Boolean Formulas
Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested
More informationEECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: Lintao Zhang Announcement Project proposals due
More informationIntroduction to Logic
Introduction to Logic Alwen Tiu The Australian National University Summer Schools in Logic and Learning 26 January 6 February 2009, Canberra Alwen Tiu (ANU) Introduction to Logic SSLL 2009 1 / 101 Logic
More informationLecture 2: Symbolic Model Checking With SAT
Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.
More informationCOMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS
QUALITATIVE ANALYIS METHODS, OVERVIEW NET REDUCTION STRUCTURAL PROPERTIES COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS LINEAR PROGRAMMING place / transition invariants state equation
More informationNP and Computational Intractability
NP and Computational Intractability 1 Polynomial-Time Reduction Desiderata'. Suppose we could solve X in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Reduction.
More informationLOGIC PROPOSITIONAL REASONING
LOGIC PROPOSITIONAL REASONING WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität Linz Version 2018.1
More informationTecniche di Verifica. Introduction to Propositional Logic
Tecniche di Verifica Introduction to Propositional Logic 1 Logic A formal logic is defined by its syntax and semantics. Syntax An alphabet is a set of symbols. A finite sequence of these symbols is called
More informationBinary Decision Diagrams. Graphs. Boolean Functions
Binary Decision Diagrams Graphs Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant
More informationBinary Decision Diagrams
Binar Decision Diagrams Ma 3, 2004 1 Overview Boolean functions Possible representations Binar decision trees Binar decision diagrams Ordered binar decision diagrams Reduced ordered binar decision diagrams
More informationModel checking the basic modalities of CTL with Description Logic
Model checking the basic modalities of CTL with Description Logic Shoham Ben-David Richard Trefler Grant Weddell David R. Cheriton School of Computer Science University of Waterloo Abstract. Model checking
More informationA brief introduction to Logic. (slides from
A brief introduction to Logic (slides from http://www.decision-procedures.org/) 1 A Brief Introduction to Logic - Outline Propositional Logic :Syntax Propositional Logic :Semantics Satisfiability and validity
More informationChapter 4: Classical Propositional Semantics
Chapter 4: Classical Propositional Semantics Language : L {,,, }. Classical Semantics assumptions: TWO VALUES: there are only two logical values: truth (T) and false (F), and EXTENSIONALITY: the logical
More informationBinary Decision Diagrams
Binary Decision Diagrams Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant in 1986.
More informationBDD Based Upon Shannon Expansion
Boolean Function Manipulation OBDD and more BDD Based Upon Shannon Expansion Notations f(x, x 2,, x n ) - n-input function, x i = or f xi=b (x,, x n ) = f(x,,x i-,b,x i+,,x n ), b= or Shannon Expansion
More informationBinary Decision Diagrams
Binary Decision Diagrams Literature Some pointers: H.R. Andersen, An Introduction to Binary Decision Diagrams, Lecture notes, Department of Information Technology, IT University of Copenhagen Tools: URL:
More informationPropositional Logic: Evaluating the Formulas
Institute for Formal Models and Verification Johannes Kepler University Linz VL Logik (LVA-Nr. 342208) Winter Semester 2015/2016 Propositional Logic: Evaluating the Formulas Version 2015.2 Armin Biere
More informationVerification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation. Himanshu Jain THESIS ORAL TALK
Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation Himanshu Jain THESIS ORAL TALK 1 Computer Systems are Pervasive Computer Systems = Software + Hardware Software/Hardware
More informationDecision Procedures for Satisfiability and Validity in Propositional Logic
Decision Procedures for Satisfiability and Validity in Propositional Logic Meghdad Ghari Institute for Research in Fundamental Sciences (IPM) School of Mathematics-Isfahan Branch Logic Group http://math.ipm.ac.ir/isfahan/logic-group.htm
More informationOn the Relative Efficiency of DPLL and OBDDs with Axiom and Join
On the Relative Efficiency of DPLL and OBDDs with Axiom and Join Matti Järvisalo University of Helsinki, Finland September 16, 2011 @ CP M. Järvisalo (U. Helsinki) DPLL and OBDDs September 16, 2011 @ CP
More informationFORMAL METHODS LECTURE VI BINARY DECISION DIAGRAMS (BDD S)
Alessandro Artale (FM First Semester 2009/2010) p. 1/38 FORMAL METHODS LECTURE VI BINARY DECISION DIAGRAMS (BDD S) Alessandro Artale Faulty of Computer Siene Free University of Bolzano artale@inf.unibz.it
More informationComputational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)
Computational Logic Davide Martinenghi Free University of Bozen-Bolzano Spring 2010 Computational Logic Davide Martinenghi (1/30) Propositional Logic - sequent calculus To overcome the problems of natural
More informationFormal Methods Lecture VII Symbolic Model Checking
Formal Methods Lecture VII Symbolic Model Checking Faculty of Computer Science Free University of Bozen-Bolzano artale@inf.unibz.it http://www.inf.unibz.it/ artale/ Academic Year: 2006/07 Some material
More informationValidating QBF Invalidity in HOL4
Interactive Theorem Proving (ITP) 14 July, 2010 Quantified Boolean Formulae Quantified Boolean Formulae Motivation System Overview Related Work QBF = propositional logic + quantifiers over Boolean variables
More informationIntroduction to Solving Combinatorial Problems with SAT
Introduction to Solving Combinatorial Problems with SAT Javier Larrosa December 19, 2014 Overview of the session Review of Propositional Logic The Conjunctive Normal Form (CNF) Modeling and solving combinatorial
More informationChapter 4: Computation tree logic
INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification
More informationOn the Sizes of Decision Diagrams Representing the Set of All Parse Trees of a Context-free Grammar
Proceedings of Machine Learning Research vol 73:153-164, 2017 AMBN 2017 On the Sizes of Decision Diagrams Representing the Set of All Parse Trees of a Context-free Grammar Kei Amii Kyoto University Kyoto
More informationMath 262A Lecture Notes - Nechiporuk s Theorem
Math 6A Lecture Notes - Nechiporuk s Theore Lecturer: Sa Buss Scribe: Stefan Schneider October, 013 Nechiporuk [1] gives a ethod to derive lower bounds on forula size over the full binary basis B The lower
More informationTowards Inference and Learning in Dynamic Bayesian Networks using Generalized Evidence
Towards Inference and Learning in Dynamic Bayesian Networks using Generalized Evidence Christopher James Langmead August 2008 CMU-CS-08-151 School of Computer Science Carnegie Mellon University Pittsburgh,
More informationCS357: CTL Model Checking (two lectures worth) David Dill
CS357: CTL Model Checking (two lectures worth) David Dill 1 CTL CTL = Computation Tree Logic It is a propositional temporal logic temporal logic extended to properties of events over time. CTL is a branching
More informationBinary decision diagrams for security protocols
for Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 4 czerwca 2012 roku 1 2 3 4 Infrastructure with Intruder Threat template 5 References BDD definition Definition An BDD G
More informationQuantified Synthesis of Reversible Logic
Quantified Synthesis of Reversible Logic Robert Wille 1 Hoang M. Le 1 Gerhard W. Dueck 2 Daniel Große 1 1 Group for Computer Architecture (Prof. Dr. Rolf Drechsler) University of Bremen, 28359 Bremen,
More informationReduced Ordered Binary Decision Diagram with Implied Literals: A New knowledge Compilation Approach
Reduced Ordered Binary Decision Diagram with Implied Literals: A New knowledge Compilation Approach Yong Lai, Dayou Liu, Shengsheng Wang College of Computer Science and Technology Jilin University, Changchun
More informationModel Checking for Propositions CS477 Formal Software Dev Methods
S477 Formal Software Dev Methods Elsa L Gunter 2112 S, UIU egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul gha January
More informationFault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs
Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs Raimund Ubar, Lembit Jürimägi (&), Elmet Orasson, and Jaan Raik Department of Computer Engineering,
More informationQuIDD-Optimised Quantum Algorithms
QuIDD-Optimised Quantum Algorithms by S K University of York Computer science 3 rd year project Supervisor: Prof Susan Stepney 03/05/2004 1 Project Objectives Investigate the QuIDD optimisation techniques
More informationBranching. Teppo Niinimäki. Helsinki October 14, 2011 Seminar: Exact Exponential Algorithms UNIVERSITY OF HELSINKI Department of Computer Science
Branching Teppo Niinimäki Helsinki October 14, 2011 Seminar: Exact Exponential Algorithms UNIVERSITY OF HELSINKI Department of Computer Science 1 For a large number of important computational problems
More informationBounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39
Bounded Model Checking with SAT/SMT Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39 Recap: Symbolic Model Checking with BDDs Method used by most industrial strength model checkers:
More informationEECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization
EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Discrete Systems Lecture: State-Space Exploration Stavros Tripakis University of California, Berkeley Stavros Tripakis:
More informationSAT in Formal Hardware Verification
SAT in Formal Hardware Verification Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Invited Talk SAT 05 St. Andrews, Scotland 20. June 2005 Overview Hardware
More informationPropositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel
Propositional Logic Methods & Tools for Software Engineering (MTSE) Fall 2017 Prof. Arie Gurfinkel References Chpater 1 of Logic for Computer Scientists http://www.springerlink.com/content/978-0-8176-4762-9/
More informationQuantified Boolean Formulas: Complexity and Expressiveness
Dagstuhl SAT Interactions 2012 Quantified Boolean Formulas: Complexity and Expressiveness Uwe Bubeck University of Paderborn 20.11.2012 Outline Introduction Free Variables and Equivalence Complexity Expressiveness
More informationAnalysis of Trivium Using Compressed Right Hand Side Equations
5.3 Analysis of Trivium Using Compressed Right Hand Side Equations 65 Analysis of Trivium Using Compressed Right Hand Side Equations Thorsten Ernst Schilling, Håvard Raddum thorsten.schilling@ii.uib.no,havard.raddum@ii.uib.no
More informationOverview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits
More informationA New 3-CNF Transformation by Parallel-Serial Graphs 1
A New 3-CNF Transformation by Parallel-Serial Graphs 1 Uwe Bubeck, Hans Kleine Büning University of Paderborn, Computer Science Institute, 33098 Paderborn, Germany Abstract For propositional formulas we
More informationSAT-Solvers: propositional logic in action
SAT-Solvers: propositional logic in action Russell Impagliazzo, with assistence from Cameron Held October 22, 2013 1 Personal Information A reminder that my office is 4248 CSE, my office hours for CSE
More informationLecture 15 - NP Completeness 1
CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) February 29, 2018 Lecture 15 - NP Completeness 1 In the last lecture we discussed how to provide
More informationLecture 22: Counting
CS 710: Complexity Theory 4/8/2010 Lecture 22: Counting Instructor: Dieter van Melkebeek Scribe: Phil Rydzewski & Chi Man Liu Last time we introduced extractors and discussed two methods to construct them.
More informationVersion January Please send comments and corrections to
Mathematical Logic for Computer Science Second revised edition, Springer-Verlag London, 2001 Answers to Exercises Mordechai Ben-Ari Department of Science Teaching Weizmann Institute of Science Rehovot
More informationA New Look at BDDs for Pseudo-Boolean Constraints
Journal of Artificial Intelligence Research 45 (22) 443-48 Submitted 3/2; published /2 A New Look at BDDs for Pseudo-Boolean Constraints Ignasi Abío Robert Nieuwenhuis Albert Oliveras Enric Rodríguez-Carbonell
More informationNP-Completeness Part II
NP-Completeness Part II Please evaluate this course on Axess. Your comments really do make a difference. Announcements Problem Set 8 due tomorrow at 12:50PM sharp with one late day. Problem Set 9 out,
More informationLinear Algebra, Boolean Rings and Resolution? Armin Biere. Institute for Formal Models and Verification Johannes Kepler University Linz, Austria
Linear Algebra, Boolean Rings and Resolution? Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria ACA 08 Applications of Computer Algebra Symbolic Computation
More informationChapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013
Chapter 2 Reductions and NP CS 573: Algorithms, Fall 2013 August 29, 2013 2.1 Reductions Continued 2.1.1 The Satisfiability Problem SAT 2.1.1.1 Propositional Formulas Definition 2.1.1. Consider a set of
More information13th International Conference on Relational and Algebraic Methods in Computer Science (RAMiCS 13)
13th International Conference on Relational and Algebraic Methods in Computer Science (RAMiCS 13) Relation Algebras, Matrices, and Multi-Valued Decision Diagrams Francis Atampore and Dr. Michael Winter
More information8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM
8. INTRACTABILITY I poly-time reductions packing and covering problems constraint satisfaction problems sequencing problems partitioning problems graph coloring numerical problems Lecture slides by Kevin
More informationComputation Tree Logic
Computation Tree Logic Hao Zheng Department of Computer Science and Engineering University of South Florida Tampa, FL 33620 Email: zheng@cse.usf.edu Phone: (813)974-4757 Fax: (813)974-5456 Hao Zheng (CSE,
More informationBounded Model Checking
Vol. 58 of Advances in Computers, 2003. Academic Press (pre-print). Bounded Model Checking Armin Biere 1 Alessandro Cimatti 2 Edmund M. Clarke 3 Ofer Strichman 3 Yunshan Zhu 4 1 Institute of Computer Systems,
More informationIntroduction to Artificial Intelligence Propositional Logic & SAT Solving. UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010
Introduction to Artificial Intelligence Propositional Logic & SAT Solving UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010 Today Representation in Propositional Logic Semantics & Deduction
More informationSAT, NP, NP-Completeness
CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)
More informationAutomata-based Verification - III
COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata
More informationCSC 2429 Approaches to the P vs. NP Question and Related Complexity Questions Lecture 2: Switching Lemma, AC 0 Circuit Lower Bounds
CSC 2429 Approaches to the P vs. NP Question and Related Complexity Questions Lecture 2: Switching Lemma, AC 0 Circuit Lower Bounds Lecturer: Toniann Pitassi Scribe: Robert Robere Winter 2014 1 Switching
More informationBounds on the OBDD-Size of Integer Multiplication via Universal Hashing
Bounds on the OBDD-Size of Integer Multiplication via Universal Hashing Philipp Woelfel Dept. of Computer Science University Dortmund D-44221 Dortmund Germany phone: +49 231 755-2120 fax: +49 231 755-2047
More informationA Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver
A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver J.C. Madre and O. Coudert Bull Corporate Research Center Rue Jean Jaurès 78340 Les Clayes-sous-bois FRANCE Abstract
More informationTitle. Citation Information Processing Letters, 112(16): Issue Date Doc URLhttp://hdl.handle.net/2115/ Type.
Title Counterexamples to the long-standing conjectur Author(s) Yoshinaka, Ryo; Kawahara, Jun; Denzumi, Shuhei Citation Information Processing Letters, 112(16): 636-6 Issue Date 2012-08-31 Doc URLhttp://hdl.handle.net/2115/50105
More informationPropositional Fragments for Knowledge Compilation and Quantified Boolean Formulae
1/15 Propositional Fragments for Knowledge Compilation and Quantified Boolean Formulae Sylvie Coste-Marquis Daniel Le Berre Florian Letombe Pierre Marquis CRIL, CNRS FRE 2499 Lens, Université d Artois,
More informationSAT Solvers: Theory and Practice
Summer School on Verification Technology, Systems & Applications, September 17, 2008 p. 1/98 SAT Solvers: Theory and Practice Clark Barrett barrett@cs.nyu.edu New York University Summer School on Verification
More informationDD representation, the equivalence chec or specication and implementation translates to the chec whether the corresponding DDs are identical. The most
Technical Report 02, Albert-Ludwigs-University, Freiburg, May 998. Word-Level Decision Diagrams, WLCDs and Division Christoph Scholl Bernd Becer Thomas M. Weis Institute o Computer Science Albert{Ludwigs{University
More informationPropositional Calculus - Semantics (3/3) Moonzoo Kim CS Dept. KAIST
Propositional Calculus - Semantics (3/3) Moonzoo Kim CS Dept. KAIST moonzoo@cs.kaist.ac.kr 1 Overview 2.1 Boolean operators 2.2 Propositional formulas 2.3 Interpretations 2.4 Logical Equivalence and substitution
More informationBinary Decision Diagrams
Binary Decision Diagrams Sungho Kang Yonsei University Outline Representing Logic Function Design Considerations for a BDD package Algorithms 2 Why BDDs BDDs are Canonical (each Boolean function has its
More informationQuantified Boolean Formulas Part 1
Quantified Boolean Formulas Part 1 Uwe Egly Knowledge-Based Systems Group Institute of Information Systems Vienna University of Technology Results of the SAT 2009 application benchmarks for leading solvers
More informationRepresentations of All Solutions of Boolean Programming Problems
Representations of All Solutions of Boolean Programming Problems Utz-Uwe Haus and Carla Michini Institute for Operations Research Department of Mathematics ETH Zurich Rämistr. 101, 8092 Zürich, Switzerland
More informationConjunctive Normal Form and SAT
Notes on Satisfiability-Based Problem Solving Conjunctive Normal Form and SAT David Mitchell mitchell@cs.sfu.ca October 4, 2015 These notes are a preliminary draft. Please use freely, but do not re-distribute
More informationCS6840: Advanced Complexity Theory Mar 29, Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K.
CS684: Advanced Complexity Theory Mar 29, 22 Lecture 46 : Size lower bounds for AC circuits computing Parity Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K. Theme: Circuit Complexity Lecture Plan: Proof
More informationA Collection of Problems in Propositional Logic
A Collection of Problems in Propositional Logic Hans Kleine Büning SS 2016 Problem 1: SAT (respectively SAT) Instance: A propositional formula α (for SAT in CNF). Question: Is α satisfiable? The problems
More informationCTL Model checking. 1. finite number of processes, each having a finite number of finite-valued variables. Model-Checking
CTL Model checking Assumptions:. finite number of processes, each having a finite number of finite-valued variables.. finite length of CTL formula Problem:Determine whether formula f 0 is true in a finite
More informationA Symbolic Approach to Safety LTL Synthesis
A Symbolic Approach to Safety LTL Synthesis Shufang Zhu 1 Lucas M. Tabajara 2 Jianwen Li Geguang Pu 1 Moshe Y. Vardi 2 1 East China Normal University 2 Rice Lucas M. Tabajara (Rice University) 2 University
More informationPropositional and Predicate Logic - II
Propositional and Predicate Logic - II Petr Gregor KTIML MFF UK WS 2016/2017 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - II WS 2016/2017 1 / 16 Basic syntax Language Propositional logic
More informationModel Checking: An Introduction
Model Checking: An Introduction Meeting 3, CSCI 5535, Spring 2013 Announcements Homework 0 ( Preliminaries ) out, due Friday Saturday This Week Dive into research motivating CSCI 5535 Next Week Begin foundations
More informationSymbolic Trajectory Evaluation (STE): Orna Grumberg Technion, Israel
Symbolic Trajectory Evaluation (STE): Automatic Refinement and Vacuity Detection Orna Grumberg Technion, Israel Marktoberdort 2007 1 Agenda Model checking Symbolic Trajectory Evaluation Basic Concepts
More informationSums of Products. Pasi Rastas November 15, 2005
Sums of Products Pasi Rastas November 15, 2005 1 Introduction This presentation is mainly based on 1. Bacchus, Dalmao and Pitassi : Algorithms and Complexity results for #SAT and Bayesian inference 2.
More informationInfinitary Relations and Their Representation
Infinitary Relations and Their Representation DI, Laurent Mauborgne 1 École Normale Supérieure, 45 rue d Ulm, 75 23 Paris cedex 5, France Email: Laurent.Mauborgne@ens.fr WWW home page: http://www.di.ens.fr/~mauborgn/
More informationSBMC : Symmetric Bounded Model Checking
SBMC : Symmetric Bounded Model Checing Brahim NASRAOUI LIP2 and Faculty of Sciences of Tunis Campus Universitaire 2092 - El Manar Tunis Tunisia brahim.nasraoui@gmail.com Syrine AYADI LIP2 and Faculty of
More information1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT
1 Algebraic Methods In an algebraic system Boolean constraints are expressed as a system of algebraic equations or inequalities which has a solution if and only if the constraints are satisfiable. Equations
More informationCS 320, Fall Dr. Geri Georg, Instructor 320 NP 1
NP CS 320, Fall 2017 Dr. Geri Georg, Instructor georg@colostate.edu 320 NP 1 NP Complete A class of problems where: No polynomial time algorithm has been discovered No proof that one doesn t exist 320
More informationSymbolic Model Checking of Domain Models. for Autonomous Spacecrafts
Raisonnement sur modèles Intelligence artificielle Symbolic Model Checking of Domain Models Vérification symbolique for Autonomous Spacecrafts Charles Pecheur (RIACS / NASA Ames) Autonomie Logiciel spatial
More informationChapter 6: Computation Tree Logic
Chapter 6: Computation Tree Logic Prof. Ali Movaghar Verification of Reactive Systems Outline We introduce Computation Tree Logic (CTL), a branching temporal logic for specifying system properties. A comparison
More informationNP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015
CS 374: Algorithms & Models of Computation, Spring 2015 NP Completeness Lecture 23 November 19, 2015 Chandra & Lenny (UIUC) CS374 1 Spring 2015 1 / 37 Part I NP-Completeness Chandra & Lenny (UIUC) CS374
More informationPropositional Logic. Testing, Quality Assurance, and Maintenance Winter Prof. Arie Gurfinkel
Propositional Logic Testing, Quality Assurance, and Maintenance Winter 2018 Prof. Arie Gurfinkel References Chpater 1 of Logic for Computer Scientists http://www.springerlink.com/content/978-0-8176-4762-9/
More informationAbstractions and Decision Procedures for Effective Software Model Checking
Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture
More informationMODEL CHECKING. Arie Gurfinkel
1 MODEL CHECKING Arie Gurfinkel 2 Overview Kripke structures as models of computation CTL, LTL and property patterns CTL model-checking and counterexample generation State of the Art Model-Checkers 3 SW/HW
More informationMore on NP and Reductions
Indian Institute of Information Technology Design and Manufacturing, Kancheepuram Chennai 600 127, India An Autonomous Institute under MHRD, Govt of India http://www.iiitdm.ac.in COM 501 Advanced Data
More informationLogic as a Tool Chapter 1: Understanding Propositional Logic 1.1 Propositions and logical connectives. Truth tables and tautologies
Logic as a Tool Chapter 1: Understanding Propositional Logic 1.1 Propositions and logical connectives. Truth tables and tautologies Valentin Stockholm University September 2016 Propositions Proposition:
More information