A conjunctively decomposed boolean representation for symbolic model checking

  • K. L. McMillan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1102)


A canonical boolean representation is proposed, which decomposes a function into the conjunction of a sequence of components, based on a fixed variable order. The components can be represented in OBDD form. Algorithms for boolean operations and quantification are presented allowing the representation to be used for symbolic model checking. The decomposed form has a number of useful properties that OBDD's lack. For example, the size of conjunction of two independent functions is the sum of the sizes of the functions. The representation also factors out dependent variables, in the sense that a variable that is determined by the previous variables in the variable order appears in only one component of the decomposition. An example of verifying equivalence of sequential circuits is used to show the potential advantage of the decomposed representation over OBDD's.


Boolean Function Variable Order Transition Relation Boolean Variable Reachable State 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [BCL91]
    Jerry R. Burch, Edmund M. Clarke, and David E. Long. Symbolic model checking with partitioned transition relations. In A. Halaas and P. B. Denyer, editors, Proceedings of the IFIP International Conference on Very Large Scale Integration, Edinburgh, Scotland, August 1991.Google Scholar
  2. [Bry86]
    R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, C-35(8), 1986.Google Scholar
  3. [CBM89]
    Olivier Coudert, Christian Berthet, and Jean Christophe Madre. Verification of synchronous sequential machines based on symbolic execution. In Joseph Sifakis, editor, Automatic Verification Methods for Finite State Systems, International Workshop, Grenoble, France, volume 407 of Lecture Notes in Computer Science. Springer-Verlag, June 1989.Google Scholar
  4. [GM94]
    J. Gergov and C. Meinel. Efficient boolean manipulation with obdd's can be extended to fbdd's. IEEE Transactions on Computers, 43(10):1197–209, Oct. 1994.CrossRefGoogle Scholar
  5. [HD93]
    A. J. Hu and D. L. Dill. Efficient verification with bdds using implicitly conjoined invariants. In C. Courcoubetis, editor, Computer Aided Verification. 5th International Conference, CAV '93, pages 3–14, Berlin, Germany, 1993. Springer-Verlag.Google Scholar
  6. [JABF92]
    J. Jain, J. A. Abraham, J. Bitner, and D. S. Fussell. Probabilistic verification of boolean functions. Formal Methods in System Design, 1(1):61–115, July 1992.CrossRefGoogle Scholar
  7. [TSL+90]
    H. J. Touati, H. Savoj, B. Lin, R. K. Brayton, and A. Sangiovanni-Vincentelli. Implicit state enumeration of finite state machines using BDD's. In ICCAD, pages 130–133, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • K. L. McMillan
    • 1
  1. 1.Cadence Berkeley LabsBerkeley

Personalised recommendations