Formal Verification Lab 3 - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Formal Verification Lab 3

Description:

Canonical representation of Boolean function. For given variable ordering ... If x x' (according to the order of the variables), then. f |x 0 = f |x 1 = f ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 16
Provided by: csHai
Category:
Tags: formal | lab | var | verification

less

Transcript and Presenter's Notes

Title: Formal Verification Lab 3


1
Formal Verification Lab 3
  • Dan Goldwasser
  • dgoldwas_at_cs.haifa.ac.il

2
Binary Decision Tree
  • A directed rooted tree with
  • Non Terminal Nodes
  • Labeled by a variable var(v)
  • Two successors high(v), low(v)
  • Terminal Nodes
  • Labeled by value(v) 0/1
  • Binary Decision Tree are used to represent a
    Boolean function

3
Binary Decision Tree
  • Deciding the truth
  • value of a formula is
  • done by traversing
  • the tree according to
  • a truth assignment

4
Binary Decision Diagram
  • There is a lot of redundancy in this
    representation a smaller representation could
    be achieved by merging isomorphic sub-trees.
  • The result is a BDD

5
Ordered Binary Decision Diagram
  • A canonical representation can be obtained by
    following two restrictions
  • Variable ordering
  • No isomorphic sub trees

6
Ordered Binary Decision Diagram
  • Assign arbitrary total ordering to variables
  • e.g., x1 lt x2 lt x3
  • Variables must appear in ascending order along
    all paths

7
Ordered Binary Decision Diagram
8
Ordered Binary Decision Diagram
Merge isomorphic nodes
9
Ordered Binary Decision Diagram
10
Ordered Binary Decision Diagram
Initial Graph
Reduced Graph
  • Canonical representation of Boolean function
  • For given variable ordering
  • Two functions equivalent if and only if graphs
    isomorphic
  • Can be tested in linear time
  • Desirable property simplest form is canonical.

11
Logical Operations
  • Logical operations can be implemented efficiently
    ( O(n) , n being the size of the OBDD )
  • Key Idea Shannons expansion
  • f ( ? x ? fx?0) ? (x ? fx?1)

12
APPLY
  • Definitions
  • Let be an arbitrary two argument logical
    operation,
  • Let f and f be two Boolean functions
  • Let v and v be the roots of the OBDDS of f and
    f
  • Let var(v)x and var(v)x

13
APPLY
  • if v and v are both terminal vertices, then ff
    is value(v) value(v)
  • If xx, then we use the Shannon expansionf f
    ( ? x ? (fx?0 f x?0 )) ?
    ( x ? (fx?1 f x?1 ))

14
APPLY
  • If x lt x (according to the order of the
    variables), thenf x?0 f x?1 f
  • since f does not depend on x, so that
  • f f ( ? x ? (fx?0 f )) ?
    ( x ? (fx?1 f ))

15
Apply Operation - AND
a AND c
ac
a


c
AND
Write a Comment
User Comments (0)
About PowerShow.com