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.
Similar content being viewed by others
References
Boyer, R. S. and Moore, J S.,A Computational Logic, Academic Press, New York (1979).
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.
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.
Bryant, R. E., ‘Graph-based algorithms for Boolean function manipulation’,IEEE Transactions on Computers C-35,8, 677–691 (August 1986).
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).
Claesen, L. J. M. (ed.),Formal VLSI Correctness Verification, VLSI Design Methods — II. North-Holland (1990).
Deutsch, L. P., ‘An interactive program verifier’, Tech. Rept. CSL-73-1, Xerox Palo Alto Research Center (May, 1973).
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).
Michie, D., ‘“Memo” functions and machine learnings’,Nature 218 19–22 (1968).
Slaney, J., Fujita, M., and Stickel, M., ‘Automated reasoning and exhaustive search: Quasigroup existence problems’,Computer Mathematics and Applications (1993).
Zhang, H., ‘Sato: A decision procedure for propositional logic’,Association for Automated Reasoning Newsletter,22, 1–3 (March, 1993).
Author information
Authors and Affiliations
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
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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00881842