Skip to main content
Log in

Introduction to the OBDD algorithm for the ATP community

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

We describe in terms familiar to the automated reasoning community the graph-based algorithm for deciding propositional equivalence published by R. E. Bryant in 1986. Such algorithms, based onordered binary decision diagrams orOBDDs, are among the fastest known ways to decide whether two propositional expressions are equivalent and are generally hundreds or thousands of times faster on such problems than most automatic theorem-proving systems. An OBDD is a normalized IF (‘if-then-else’) expression in which the tests down any branch are ascending in some previously chosen fixed order. Such IF expressions represent a canonical form for propositional expressions. Three coding tricks make it extremely efficient to manipulate canonical IF expressions. The first is that two canonicalized expressions can be rapidly combined to form the canonicalized form of their disjunction (conjunction, exclusive-or, etc.) by exploiting the fact that the tests are ordered. The second is that every distinct canonical IF expression should be assigned a unique integer index to enable fast recognition of identical forms. The third trick is that the operation in which one combines canonicalized subterms term should be ‘memo-ized’ or cached so that if the same operation is required in the future its result can be looked up rather than recomputed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Boyer, R. S. and Moore, J S.,A Computational Logic, Academic Press, New York (1979).

    Google Scholar 

  2. Boyer, R. S. and Moore, J. S., ‘Integrating decision procedures into heuristic theorem provers: A case study with linear arithmetic’, InMachine Intelligence 11, Oxford University Press (1988). Also available through Computational Logic, Inc., Suite 290, 1717 West Sixth Street, Austin, TX 78703.

  3. Brace, K. S., Ruddell, R. L., and Bryant, R. E., ‘Efficient implementation of a BDD Package’, 27th ACM/IEEE Design Automation Conference (1990), pp. 40–45.

  4. Bryant, R. E., ‘Graph-based algorithms for Boolean function manipulation’,IEEE Transactions on Computers C-35,8, 677–691 (August 1986).

    Google Scholar 

  5. Bryant, R. E., ‘Symbolic Boolean manipulation with ordered binary decision diagrams’, Tech. Rept. CMU-CS-92-160, School of Computer Science, Carnegie Mellon University (July 1992).

  6. Claesen, L. J. M. (ed.),Formal VLSI Correctness Verification, VLSI Design Methods — II. North-Holland (1990).

  7. Deutsch, L. P., ‘An interactive program verifier’, Tech. Rept. CSL-73-1, Xerox Palo Alto Research Center (May, 1973).

  8. Michie, D., ‘Memo functions: A language feature with rote learning properties’, Tech. Rept, MIP-R-29, Department of Artificial Intelligence, University of Edinburgh, Scotland (1967).

    Google Scholar 

  9. Michie, D., ‘“Memo” functions and machine learnings’,Nature 218 19–22 (1968).

    Google Scholar 

  10. Slaney, J., Fujita, M., and Stickel, M., ‘Automated reasoning and exhaustive search: Quasigroup existence problems’,Computer Mathematics and Applications (1993).

  11. Zhang, H., ‘Sato: A decision procedure for propositional logic’,Association for Automated Reasoning Newsletter,22, 1–3 (March, 1993).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work was supported in part at Computational Logic, Inc., by the National Computer Security Center (Contract MDA904-92-C-5167). The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of Computational Logic, Inc., the National Computer Security Center, or the U.S. Government.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Moore, J.S. Introduction to the OBDD algorithm for the ATP community. J Autom Reasoning 12, 33–45 (1994). https://doi.org/10.1007/BF00881842

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00881842

Key words

Navigation