Reduced Ordered Binary Decision Diagrams

Size: px
Start display at page:

Download "Reduced Ordered Binary Decision Diagrams"

Transcription

1 Reduced Ordered Binary Decision Diagrams Lecture #12 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification December 13, 2016 c JPK

2 Symbolic CTL model checking Explicit representation of transition system: state explosion problem Idea: reformulate model-checking in a symbolic way Concept: represent sets of states and transitions symbolically Approach: binary encoding of states + switching functions for sets Compact representation of switching functions by binary decision diagrams Alternative: conjunctive normal form (basis for SAT-based model checking) c JPK 1

3 Basic approach let TS = (S,,I, AP,L) be a large finite transition system the set of actions is irrelevant here and has been omitted, i.e., S S For n log S, let injective function enc : S {0,1} n note: enc(s) = {0,1} n is no restriction, as all elements {0,1} n \ enc(s) can be treated as the encoding of pseudo states that are unreachable Identify the states s S = enc 1 ({0,1} n ) with enc(s) {0,1} n And T S by its characteristic function χ T : {0,1} n {0,1} that is χ T (enc(s)) = 1 if and only if s T And S S by the Boolean function : {0,1} 2n {0,1} such that ( enc(s), enc(s ) ) = 1 if and only if s s c JPK 2

4 Switching functions Let Var = {z 1,...,z m } be a finite set of Boolean variables, m 0 An evaluation is a function η : Var {0,1} let Eval(z 1,...,z m ) denote the set of evaluations for z 1,...,z m shorthand [z 1 = b 1,...,z m = b m ] for η(z 1 ) = b 1,...,η(z m ) = b m f : Eval(Var) {0,1} is a switching function for Var = {z 1,...,z m } Logical operations and quantification are defined as expected f 1 ( ) f 2 ( ) = min{f 1 ( ),f 2 ( )} f 1 ( ) f 2 ( ) = max{f 1 ( ),f 2 ( )} z.f( ) = f( ) z=0 f( ) z=1, and z.f( ) = f( ) z=0 f( ) z=1 c JPK 3

5 Polynomial-size data structure impossible There is no poly-size data structure for all switching functions Eval(z 1,...,z m ) = 2 m, so #functions Eval(z 1,...,z m ) {0,1} is 2 2m Suppose there is a data structure that can represent K m switching functions by at most 2 m 1 bits Then K m 2 m 1 i=0 2 i = 2 2m < 2 2m 1 +1 But then there are at least ( ) 2 2m 2 2m 1 +1 = 2 2m m 2 m ( ) = 2 2m m switching functions whose representation needs more than 2 m 1 bits c JPK 4

6 Possible representations of switching functions Truth tables very space inefficient: 2 n entries for n variables satisfiability and equivalence check: easy; boolean operations also easy... but have to consider exponentially many lines (so are hard)... in Disjunctive Normal Form (DNF) satisfiability is easy: find a disjunct that does have complementary literals negation and conjunction complicated equivalence checking (f = g?) is conp-complete... in Conjunctive Normal Form (CNF) satisfiability problem is NP-complete (Cook s theorem) negation and disjunction complicated c JPK 5

7 Representing switching functions representation compact? sat equi propositional formula often hard hard easy easy easy DNF sometimes easy hard hard easy hard CNF sometimes hard hard easy hard hard (ordered) truth table never hard hard hard hard hard c JPK 6

8 There is hope... perhaps Nevertheless there are data structures which yield compact representations for many switching functions that appear in practical applications for hardware circuits, ordered binary decision diagrams (OBDDs) are successful c JPK 7

9 Representing boolean functions representation compact? sat equ propositional formula often hard hard easy easy easy DNF sometimes easy hard hard easy hard CNF sometimes hard hard easy hard hard (ordered) truth table never hard hard hard hard hard reduced ordered binary decision diagram often easy easy medium medium easy provided appropriate implementation techniques are used c JPK 8

10 Binary decision tree The BDT for function f on Var = {z 1,...,z m } has depth m outgoing edges for node at level i stand for z i = 0 (dashed) and z i = 1 (solid) For evaluation s = [z 1 = b 1,...,z m = b m ], f(s) is the value of the leaf reached by traversing the BDT from the root using branch z i = b i for at level i The subtree of node v at level i for variable ordering z 1 <... < z m represents f v = f z1 =b 1,...,z i 1 =b i 1 which is a switching function over {z i,...,z m } and where z 1 = b 1,...,z i 1 = b i 1 is the sequence of decisions made along the path from the root to node v c JPK 9

11 Symbolic representation of a transition system s 0 s 1 a Switching function: (x 1,x 2 s 3 s 2 {a,b},x }{{} 1,x 2) = 1 if and only if s s }{{} s s (x 1,x 2,x 1,x 2 ) = ( x 1 x 2 x 1 x 2 ) ( x 1 x 2 x 1 x 2 ) ( x 1 x 2 x 1 x 2 )... (x 1 x 2 x 1 x 2 ) b c JPK 10

12 Transition relation as a BDT x 1 x 2 x 2 x 1 x 1 x 1 x 1 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x A BDT representing for our example using ordering x 1 < x 2 < x 1 < x 2 c JPK 11

13 Facts about BDTs BDTs are not compact a BDT for switching function f on n variables has 2 n leafs they are as space inefficient as truth tables! BDTs contain quite some redundancy all leafs with value one (zero) could be collapsed into a single leaf a similar scheme could be adopted for isomorphic subtrees The size of a BDT does not change if the variable order changes c JPK 12

14 Ordered Binary Decision Diagram OBDDs rely on compactifying BDT representations Idea: skip redundant fragments of BDT representations Collapse subtrees with all terminals having same value Identify nodes with isomorphic sub-trees This yields directed acyclic graphs with out-degree two Inner nodes are labeled with variables Leafs are labeled with function values (zero and one) c JPK 13

15 Ordered Binary Decision Diagram Let be a (total) variable ordering for Var where = (z 1,...,z m ). An -OBDD is a tuple B = (V,V I,V T, succ 0, succ 1, var, val,v 0 ) with a finite set V of nodes, partitioned into V I (inner) and V T (terminals) and a distinguished root (node) v 0 V successor functions succ 0, succ 1 : V I V such that each node v V \ {v 0 } has at least one predecessor i.e., all nodes of the OBDD B are reachable from the root a labeling functions var : V I Var and val : V T {0,1} satisfying for = (z 1,...,z m ) and v V I : var(v) = z i w { succ 0 (v), succ 1 (v)} V I var(w) = z j for j > i c JPK 14

16 Some example OBDDs c JPK 15

17 Transition relation as an OBDD x 1 x 2 x 2 x 1 x 1 x 1 x 1 x 2 x 2 x 2 x An example OBDD representing f for our example using x 1 < x 2 < x 1 < x 2 c JPK 16

18 Semantics of an OBDD The semantics of -OBDD B is the switching function f B where f B ([z 1 = b 1,...,z m = b m ]) is the value of the resulting leaf when traversing B starting in v 0 and branching according to the evaluation [z 1 = b 1,...,z m = b m ] c JPK 17

19 Intermezzo: OBDDs versus DFA x x 1 x x x 2 x each OBDD B is a deterministic automaton A B with f 1 B (1) = L(A B) c JPK 18

20 Bottom-up characterization of f B Let B be a -OBDD. Switching function f v for node v V : If v V T, then f v is the constant switching function with value val(v) Ifv V I with var(v) = z, thenf v = ( ( ) z f succ0 (v)) z fsucc1 (v) }{{} Shannon expansion Furthermore, f B = f v0 for the root v 0 of B c JPK 19

21 Consistent co-factors in OBDDs Let f be a switching function for Var Let = (z 1,...,z m ) a variable ordering for Var, i.e., z 1 <... < z m Switching function g is a -consistent cofactor of f if g = f z1 =b 1,...,z i =b i for some i {0,1,...,m} It holds that: 1. for each node v of an -OBDD B, f v is a -consistent cofactor of f B 2. for each -consistent cofactor g of f B there is a node v B with f v = g c JPK 20

22 Reduced OBDDs A -OBDD B is reduced if for every pair (v,w) of nodes in B: v w implies f v f w (A reduced -OBDD is abbreviated as -ROBDD) In -ROBDDs any -consistent cofactor is represented by exactly one node c JPK 21

23 Example ROBDDs c JPK 22

24 Transition relation as an OBDD x 1 x 2 x 2 x 1 x 1 x 1 x 1 x 2 x 2 x 2 x An example OBDD representing f for our example using x 1 < x 2 < x 1 < x 2 c JPK 23

25 Transition relation as an ROBDD x 1 x 1 x 2 x 2 x 1 x 1 x 1 x 1 x 1 x 2 x 2 x 2 x 2 x (a) ordering x 1 < x 2 < x 1 < x 2 (b) ordering x 1 < x 1 < x 2 < x 2 c JPK 24

26 Universality and canonicity theorem [Fortune, Hopcroft & Schmidt, 1978] For finite set Var of Boolean variables and a variable ordering for Var: (a) For each switching function f on Var there exists a -ROBDD B with f B = f (b) For any -ROBDDs B and C with f B = f C, B and C are isomorphic, i.e., agree up to renaming of nodes c JPK 25

27 Proof c JPK 26

28 The importance of canonicity Absence of redundant vertices if f B does not depend on x i, ROBDD B does not contain an x i node Test for equivalence: f(x 1,...,x n ) g(x 1,...,x n )? generate ROBDDs B f and B g, and check isomorphism Test for validity: for all x 1,...,x n, is f(x 1,...,x n ) = 1? generate ROBDD B f and check whether it only consists of a 1-leaf Test for implication: f(x 1,...,x n ) g(x 1,...,x n )? generate ROBDD B f g and check if it just consists of a 0-leaf Test for satisfiability f is satisfiable if and only if B f has a reachable 1-leaf c JPK 27

29 Minimality of ROBDDs Let B be an -OBDD for f. Then: B is reduced iff size(b) size(c) for each -OBDD C for f. This follows from the fact that: 1. Each -consistent cofactor of f is represented in any -OBDD for f by at least one node, and 2. A -OBDD B for f is reduced iff there is a 1-to-1 correspondence between the nodes in B and the -consistent cofactors of B. c JPK 28

30 Reducing OBDDs Generate an OBDD (or BDT) for a boolean expression, then reduce by means of a recursive descent over the OBDD Elimination of duplicate leafs for a duplicate 0-leaf (or 1-leaf), redirect all incoming edges to just one of them Elimination of don t care (non-leaf) vertices if succ 0 (v) = succ 1 (v) = w, delete v and redirect all its incoming edges to w Elimination of isomorphic subtrees if v w are roots of isomorphic subtrees, remove w and redirect all incoming edges to w to v note that the first reduction is a special case of the latter c JPK 29

31 How to reduce an OBDD? becomes (special case of) isomorphism rule c JPK 30

32 How to reduce an OBDD? v w v becomes isomorphism rule c JPK 31

33 How to reduce an OBDD? v becomes w w elimination rule c JPK 32

34 Example c JPK 33

35 Soundness of reduction rules if C arises from a -OBDD B by the elimination or isomorphism rule, then: C is a -OBDD with f B = f C Elimination rule for v with var(v) = z, and w = succ 0 (v) = succ 1 (v): f v = ( ) z f succ0 (v) ( ) z f succ1 (v) Isomorphism rule for v, w with var(v) = var(w) = z yields: f v = = = f w = ( z f w ) (z f w ) = f w ( ) ( ) z f succ0 (v) z f ( ) ( succ1 (v) ) z f succ0 (w) z f succ1 (w) as each reduction rule decreases the # nodes, repeatedly applying them terminates c JPK 34

36 Completeness of reduction rules -OBDD B is reduced if and only if no reduction rule is applicable to B c JPK 35

Reduced Ordered Binary Decision Diagrams

Reduced 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 information

Symbolic Model Checking with ROBDDs

Symbolic 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 information

Decision Procedures for Satisfiability and Validity in Propositional Logic

Decision 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 information

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

Computational 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 information

Binary Decision Diagrams Boolean Functions

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 information

Comp487/587 - Boolean Formulas

Comp487/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 information

Binary Decision Diagrams

Binary 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 information

Boolean decision diagrams and SAT-based representations

Boolean decision diagrams and SAT-based representations Boolean decision diagrams and SAT-based representations 4th July 200 So far we have seen Kripke Structures 2 Temporal logics (and their semantics over Kripke structures) 3 Model checking of these structures

More information

Part 1: Propositional Logic

Part 1: Propositional Logic Part 1: Propositional Logic Literature (also for first-order logic) Schöning: Logik für Informatiker, Spektrum Fitting: First-Order Logic and Automated Theorem Proving, Springer 1 Last time 1.1 Syntax

More information

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. 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 information

Binary Decision Diagrams

Binary 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 information

Binary Decision Diagrams

Binary 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 information

COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS

COMPRESSED 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 information

Binary Decision Diagrams

Binary 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 information

Basing Decisions on Sentences in Decision Diagrams

Basing 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 information

EECS 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 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 information

Model Checking for Propositions CS477 Formal Software Dev Methods

Model 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 information

A brief introduction to Logic. (slides from

A 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 information

2.5.2 Basic CNF/DNF Transformation

2.5.2 Basic CNF/DNF Transformation 2.5. NORMAL FORMS 39 On the other hand, checking the unsatisfiability of CNF formulas or the validity of DNF formulas is conp-complete. For any propositional formula φ there is an equivalent formula in

More information

CSC 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 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 information

Tecniche di Verifica. Introduction to Propositional Logic

Tecniche 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 information

CTL Model Checking. Wishnu Prasetya.

CTL 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 information

Quantified Boolean Formulas: Complexity and Expressiveness

Quantified 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 information

02 Propositional Logic

02 Propositional Logic SE 2F03 Fall 2005 02 Propositional Logic Instructor: W. M. Farmer Revised: 25 September 2005 1 What is Propositional Logic? Propositional logic is the study of the truth or falsehood of propositions or

More information

Chapter 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. 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 information

Propositional Logic. Testing, Quality Assurance, and Maintenance Winter Prof. Arie Gurfinkel

Propositional 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 information

Propositional and Predicate Logic - II

Propositional 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 information

CS357: CTL Model Checking (two lectures worth) David Dill

CS357: 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 information

Labeled Transition Systems

Labeled Transition Systems Labeled Transition Systems Lecture #1 of Probabilistic Models for Concurrency Joost-Pieter Katoen Lehrstuhl II: Programmiersprachen u. Softwarevalidierung E-mail: katoen@cs.rwth-aachen.de March 12, 2005

More information

NP and Computational Intractability

NP 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 information

Tutorial 1: Modern SMT Solvers and Verification

Tutorial 1: Modern SMT Solvers and Verification University of Illinois at Urbana-Champaign Tutorial 1: Modern SMT Solvers and Verification Sayan Mitra Electrical & Computer Engineering Coordinated Science Laboratory University of Illinois at Urbana

More information

CSE 555 HW 5 SAMPLE SOLUTION. Question 1.

CSE 555 HW 5 SAMPLE SOLUTION. Question 1. CSE 555 HW 5 SAMPLE SOLUTION Question 1. Show that if L is PSPACE-complete, then L is NP-hard. Show that the converse is not true. If L is PSPACE-complete, then for all A PSPACE, A P L. We know SAT PSPACE

More information

CS156: The Calculus of Computation

CS156: The Calculus of Computation CS156: The Calculus of Computation Zohar Manna Winter 2010 It is reasonable to hope that the relationship between computation and mathematical logic will be as fruitful in the next century as that between

More information

Equivalences. Proposition 2.8: The following equivalences are valid for all formulas φ, ψ, χ: (φ φ) φ. Idempotency Idempotency Commutativity

Equivalences. Proposition 2.8: The following equivalences are valid for all formulas φ, ψ, χ: (φ φ) φ. Idempotency Idempotency Commutativity Substitution Theorem Proposition 2.7: Let φ 1 and φ 2 be equivalent formulas, and ψ[φ 1 ] p be a formula in which φ 1 occurs as a subformula at position p. Then ψ[φ 1 ] p is equivalent to ψ[φ 2 ] p. 84

More information

Reduced 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 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 information

Boolean circuits. Lecture Definitions

Boolean circuits. Lecture Definitions Lecture 20 Boolean circuits In this lecture we will discuss the Boolean circuit model of computation and its connection to the Turing machine model. Although the Boolean circuit model is fundamentally

More information

A Collection of Problems in Propositional Logic

A 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 information

Classes of Boolean Functions

Classes of Boolean Functions Classes of Boolean Functions Nader H. Bshouty Eyal Kushilevitz Abstract Here we give classes of Boolean functions that considered in COLT. Classes of Functions Here we introduce the basic classes of functions

More information

Chapter 4: Computation tree logic

Chapter 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 information

Propositional and Predicate Logic - V

Propositional and Predicate Logic - V Propositional and Predicate Logic - V Petr Gregor KTIML MFF UK WS 2016/2017 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - V WS 2016/2017 1 / 21 Formal proof systems Hilbert s calculus

More information

SAT, NP, NP-Completeness

SAT, 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 information

Binary Decision Diagrams. Graphs. Boolean Functions

Binary 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 information

Chapter 4: Classical Propositional Semantics

Chapter 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 information

Chapter 3 Deterministic planning

Chapter 3 Deterministic planning Chapter 3 Deterministic planning In this chapter we describe a number of algorithms for solving the historically most important and most basic type of planning problem. Two rather strong simplifying assumptions

More information

Conjunctive Normal Form and SAT

Conjunctive 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 information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 31. Propositional Logic: DPLL Algorithm Malte Helmert and Gabriele Röger University of Basel April 24, 2017 Propositional Logic: Overview Chapter overview: propositional

More information

Introduction 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 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 information

On the Isomorphism Problem for Decision Trees and Decision Lists

On the Isomorphism Problem for Decision Trees and Decision Lists On the Isomorphism Problem for Decision Trees and Decision Lists V. Arvind 1, Johannes Köbler 2, Sebastian Kuhnert 2, Gaurav Rattan 1, and Yadu Vasudev 1 1 The Institute of Mathematical Sciences, Chennai,

More information

SAT Solvers: Theory and Practice

SAT 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 information

Notes for Lecture 3... x 4

Notes for Lecture 3... x 4 Stanford University CS254: Computational Complexity Notes 3 Luca Trevisan January 14, 2014 Notes for Lecture 3 In this lecture we introduce the computational model of boolean circuits and prove that polynomial

More information

Compiling Knowledge into Decomposable Negation Normal Form

Compiling Knowledge into Decomposable Negation Normal Form Compiling Knowledge into Decomposable Negation Normal Form Adnan Darwiche Cognitive Systems Laboratory Department of Computer Science University of California Los Angeles, CA 90024 darwiche@cs. ucla. edu

More information

LOGIC PROPOSITIONAL REASONING

LOGIC 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 information

Maximum 3-SAT as QUBO

Maximum 3-SAT as QUBO Maximum 3-SAT as QUBO Michael J. Dinneen 1 Semester 2, 2016 1/15 1 Slides mostly based on Alex Fowler s and Rong (Richard) Wang s notes. Boolean Formula 2/15 A Boolean variable is a variable that can take

More information

Non-Deterministic Time

Non-Deterministic Time Non-Deterministic Time Master Informatique 2016 1 Non-Deterministic Time Complexity Classes Reminder on DTM vs NDTM [Turing 1936] (q 0, x 0 ) (q 1, x 1 ) Deterministic (q n, x n ) Non-Deterministic (q

More information

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions CS 6743 Lecture 15 1 Fall 2007 1 Circuit Complexity 1.1 Definitions A Boolean circuit C on n inputs x 1,..., x n is a directed acyclic graph (DAG) with n nodes of in-degree 0 (the inputs x 1,..., x n ),

More information

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT

1 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 information

CS156: The Calculus of Computation Zohar Manna Autumn 2008

CS156: The Calculus of Computation Zohar Manna Autumn 2008 Page 3 of 52 Page 4 of 52 CS156: The Calculus of Computation Zohar Manna Autumn 2008 Lecturer: Zohar Manna (manna@cs.stanford.edu) Office Hours: MW 12:30-1:00 at Gates 481 TAs: Boyu Wang (wangboyu@stanford.edu)

More information

Automata Theory CS Complexity Theory I: Polynomial Time

Automata Theory CS Complexity Theory I: Polynomial Time Automata Theory CS411-2015-17 Complexity Theory I: Polynomial Time David Galles Department of Computer Science University of San Francisco 17-0: Tractable vs. Intractable If a problem is recursive, then

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 16: Abstract Interpretation VI (Counterexample-Guided Abstraction Refinement) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de

More information

Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011

Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber 15-414 Aug 31, 2011 Why study SAT solvers? Many problems reduce to SAT. Formal verification CAD, VLSI Optimization AI, planning, automated

More information

A note on monotone real circuits

A note on monotone real circuits A note on monotone real circuits Pavel Hrubeš and Pavel Pudlák March 14, 2017 Abstract We show that if a Boolean function f : {0, 1} n {0, 1} can be computed by a monotone real circuit of size s using

More information

Theoretical Foundations of the UML

Theoretical Foundations of the UML Theoretical Foundations of the UML Lecture 17+18: A Logic for MSCs Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group moves.rwth-aachen.de/teaching/ws-1718/fuml/ 5.

More information

CSE 135: Introduction to Theory of Computation NP-completeness

CSE 135: Introduction to Theory of Computation NP-completeness CSE 135: Introduction to Theory of Computation NP-completeness Sungjin Im University of California, Merced 04-15-2014 Significance of the question if P? NP Perhaps you have heard of (some of) the following

More information

The Calculus of Computation: Decision Procedures with Applications to Verification. Part I: FOUNDATIONS. by Aaron Bradley Zohar Manna

The Calculus of Computation: Decision Procedures with Applications to Verification. Part I: FOUNDATIONS. by Aaron Bradley Zohar Manna The Calculus of Computation: Decision Procedures with Applications to Verification Part I: FOUNDATIONS by Aaron Bradley Zohar Manna 1. Propositional Logic(PL) Springer 2007 1-1 1-2 Propositional Logic(PL)

More information

Propositional Logic: Models and Proofs

Propositional Logic: Models and Proofs Propositional Logic: Models and Proofs C. R. Ramakrishnan CSE 505 1 Syntax 2 Model Theory 3 Proof Theory and Resolution Compiled at 11:51 on 2016/11/02 Computing with Logic Propositional Logic CSE 505

More information

A New 3-CNF Transformation by Parallel-Serial Graphs 1

A 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 information

Part 1: Propositional Logic

Part 1: Propositional Logic Part 1: Propositional Logic Literature (also for first-order logic) Schöning: Logik für Informatiker, Spektrum Fitting: First-Order Logic and Automated Theorem Proving, Springer 1 Last time 1.1 Syntax

More information

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system):

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system): Logic Knowledge-based agents Inference engine Knowledge base Domain-independent algorithms Domain-specific content Knowledge base (KB) = set of sentences in a formal language Declarative approach to building

More information

Lecture #14: NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition.

Lecture #14: NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition. Lecture #14: 0.0.1 NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition. 0.0.2 Preliminaries: Definition 1 n abstract problem Q is a binary relations on a set I of

More information

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 1 Gate Circuits and Boolean Equations Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. Overview Part 1 Gate

More information

Logic and Inferences

Logic and Inferences Artificial Intelligence Logic and Inferences Readings: Chapter 7 of Russell & Norvig. Artificial Intelligence p.1/34 Components of Propositional Logic Logic constants: True (1), and False (0) Propositional

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 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 information

Propositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel

Propositional 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 information

Conjunctive Normal Form and SAT

Conjunctive Normal Form and SAT Notes on Satisfiability-Based Problem Solving Conjunctive Normal Form and SAT David Mitchell mitchell@cs.sfu.ca September 10, 2014 These notes are a preliminary draft. Please use freely, but do not re-distribute

More information

Propositional Logic: Evaluating the Formulas

Propositional 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 information

Binary Decision Diagrams

Binary 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 information

On the Complexity of the Reflected Logic of Proofs

On the Complexity of the Reflected Logic of Proofs On the Complexity of the Reflected Logic of Proofs Nikolai V. Krupski Department of Math. Logic and the Theory of Algorithms, Faculty of Mechanics and Mathematics, Moscow State University, Moscow 119899,

More information

CSE20: Discrete Mathematics for Computer Science. Lecture Unit 2: Boolan Functions, Logic Circuits, and Implication

CSE20: Discrete Mathematics for Computer Science. Lecture Unit 2: Boolan Functions, Logic Circuits, and Implication CSE20: Discrete Mathematics for Computer Science Lecture Unit 2: Boolan Functions, Logic Circuits, and Implication Disjunctive normal form Example: Let f (x, y, z) =xy z. Write this function in DNF. Minterm

More information

Propositional and First Order Reasoning

Propositional and First Order Reasoning Propositional and First Order Reasoning Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p p Clause: disjunction of literals q \/ p \/ r given by

More information

Exercises - Solutions

Exercises - Solutions Chapter 1 Exercises - Solutions Exercise 1.1. The first two definitions are equivalent, since we follow in both cases the unique path leading from v to a sink and using only a i -edges leaving x i -nodes.

More information

Propositional Calculus: Formula Simplification, Essential Laws, Normal Forms

Propositional Calculus: Formula Simplification, Essential Laws, Normal Forms P Formula Simplification, Essential Laws, Normal Forms Lila Kari University of Waterloo P Formula Simplification, Essential Laws, Normal CS245, Forms Logic and Computation 1 / 26 Propositional calculus

More information

Intro to Theory of Computation

Intro to Theory of Computation Intro to Theory of Computation LECTURE 25 Last time Class NP Today Polynomial-time reductions Adam Smith; Sofya Raskhodnikova 4/18/2016 L25.1 The classes P and NP P is the class of languages decidable

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

De Morgan s a Laws. De Morgan s laws say that. (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2.

De Morgan s a Laws. De Morgan s laws say that. (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2. De Morgan s a Laws De Morgan s laws say that (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2. Here is a proof for the first law: φ 1 φ 2 (φ 1 φ 2 ) φ 1 φ 2 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 a Augustus DeMorgan

More information

Lecture Notes on Emptiness Checking, LTL Büchi Automata

Lecture Notes on Emptiness Checking, LTL Büchi Automata 15-414: Bug Catching: Automated Program Verification Lecture Notes on Emptiness Checking, LTL Büchi Automata Matt Fredrikson André Platzer Carnegie Mellon University Lecture 18 1 Introduction We ve seen

More information

Propositional Logic Basics Propositional Equivalences Normal forms Boolean functions and digital circuits. Propositional Logic.

Propositional Logic Basics Propositional Equivalences Normal forms Boolean functions and digital circuits. Propositional Logic. Propositional Logic Winter 2012 Propositional Logic: Section 1.1 Proposition A proposition is a declarative sentence that is either true or false. Which ones of the following sentences are propositions?

More information

Formal Verification Methods 1: Propositional Logic

Formal Verification Methods 1: Propositional Logic Formal Verification Methods 1: Propositional Logic John Harrison Intel Corporation Course overview Propositional logic A resurgence of interest Logic and circuits Normal forms The Davis-Putnam procedure

More information

Deductive Systems. Lecture - 3

Deductive Systems. Lecture - 3 Deductive Systems Lecture - 3 Axiomatic System Axiomatic System (AS) for PL AS is based on the set of only three axioms and one rule of deduction. It is minimal in structure but as powerful as the truth

More information

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015

NP 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 information

Binary Decision Diagrams and Symbolic Model Checking

Binary Decision Diagrams and Symbolic Model Checking Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of

More information

Binary Decision Diagrams

Binary 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 information

Validating QBF Invalidity in HOL4

Validating 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 information

Substitution Theorem. Equivalences. Proposition 2.8 The following equivalences are valid for all formulas φ, ψ, χ: (φ φ) φ Idempotency

Substitution Theorem. Equivalences. Proposition 2.8 The following equivalences are valid for all formulas φ, ψ, χ: (φ φ) φ Idempotency Substitution Theorem Proposition 2.7 Let φ 1 and φ 2 be equivalent formulas, and ψ[φ 1 ] p be a formula in which φ 1 occurs as a subformula at position p. Then ψ[φ 1 ] p is equivalent to ψ[φ 2 ] p. Proof.

More information

The Complexity of Minimizing FBDDs

The Complexity of Minimizing FBDDs The Complexity of Minimizing FBDDs Detlef Sieling 1 FB Informatik, LS II, Univ. Dortmund 44221 Dortmund, Fed. Rep. of Germany sieling@ls2.cs.uni-dortmund.de Abstract Free Binary Decision Diagrams (FBDDs)

More information

Complete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in

Complete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in Oracle Turing Machines Nondeterministic OTM defined in the same way (transition relation, rather than function) oracle is like a subroutine, or function in your favorite PL but each call counts as single

More information

On the Relative Efficiency of DPLL and OBDDs with Axiom and Join

On 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 information

3 Propositional Logic

3 Propositional Logic 3 Propositional Logic 3.1 Syntax 3.2 Semantics 3.3 Equivalence and Normal Forms 3.4 Proof Procedures 3.5 Properties Propositional Logic (25th October 2007) 1 3.1 Syntax Definition 3.0 An alphabet Σ consists

More information

Notes on Computer Theory Last updated: November, Circuits

Notes on Computer Theory Last updated: November, Circuits Notes on Computer Theory Last updated: November, 2015 Circuits Notes by Jonathan Katz, lightly edited by Dov Gordon. 1 Circuits Boolean circuits offer an alternate model of computation: a non-uniform one

More information