Abstract
Decision procedures are increasingly being employed for deciding or simplifying propositional combinations of ground equalities involving uninterpreted function symbols, linear arithmetic, arrays, and other theories. Two approaches for constructing decision procedures for combinations of ground theories were pioneered in the late seventies. In the approach of Nelson and Oppen, decision procedures for two disjoint theories are combined by introducing variables to name subterms and iteratively propagating any deduced equalities between variables from one theory to another. Shostak employs a different approach that works far more efficiently in practice. He uses an optimized implementation of the congruence closure procedure for ground equality over uninterpreted function symbols to combine theories that are canonizable and algebraically solvable. Many useful theories have these properties. Shostak's algorithm is subtle and complex and his description of this procedure is lacking in rigor. We present, for the first time, a careful development and clarification of Shostak's procedure that corrects several mistakes in Shostak's original presentation. Our analysis serves as a useful basis for the implementation, extension, and further optimization of Shostak's decision procedure.
Supported by by NSF Grant CCR-930044, ONR Contract No. N00014-95-C-0168, NSF Grant CCR-9224858, and ARPA contract A721. We are indebted to Rob Shostak for the original ideas studied in this paper. We thank John Rushby, Sam Owre, Deepak Kapur, Harald Ruess, Oliver Möller, and Tomas Uribe, and the anonymous referees for valuable feedback and comments.
Preview
Unable to display preview. Download preview PDF.
References
R. S. Boyer and J S. Moore. A Computational Logic Handbook. Academic Press, New York, NY, 1988.
User Guide for theEhdmSpecification Language and Verification System, Version 6.1. Computer Science Laboratory, SRI International, Menlo Park, CA, February 1993. Three volumes.
Jeffrey V. Cook, Ivan V. Filippenko, Beth H. Levy, Leo G. Marcus, and Telis K. Menas. Formal computer verification in the state delta verification system (SDVS). In AIAA Computing in Aerospace VIII, pages 77–87, Baltimore, MD, October 1991. AIAA paper 91-3715.
Dan Craigen, Sentot Kromodimoeljo, Irwin Meisels, Bill Pase, and Mark Saaltink. EVES: An overview. InPrehn and Toetenel [15]., pages 389–405.
S. Crocker. Comparison of Shostak's and Oppen's solvers. Unpublished manuscript, 1988.
P. J. Downey, R. Sethi, and R. E. Tarjan. Variations on the common subexpressions problem. Journal of the ACM, 27(4):758–771, October 1980.
D. Kozen. Complexity of finitely represented algebras. In Proc. 9th ACM STOC, pages 164–177, 1988.
D. C. Luckham, S. M. German, F. W. von Henke, R. A. Karp, P. W. Milne, D. C. Oppen, W. Polak, and W. L. Scherlis. Stanford Pascal Verifier user manual. CSD Report STAN-CS-79-731, Stanford University, Stanford, CA, March 1979.
David A. McAllester. ONTIC: A Knowledge Representation System for Mathematics. MIT Press, Cambridge, MA, 1989.
G. Nelson and D. C. Oppen. Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems, 1(2):245–257, 1979.
G. Nelson and D. C. Oppen. Fast decision procedures based on congruence closure. Journal of the ACM, 27(2):356–364, 1980.
Greg Nelson. Techniques for program verification. Technical Report csl-81-10, Xerox Palo Alto Research Center, Palo Alto, CA, June 1981.
S. Owre, J. M. Rushby, and N. Shankar. PVS: A prototype verification system. In Deepak Kapur, editor, 11th International Conference on Automated Deduction (CADE), volume 607 of Lecture Notes in Artificial Intelligence, pages 748–752, Saratoga, NY, June 1992. Springer-Verlag.
Sam Owre, John Rushby, Natarajan Shankar, and Friedrich von Henke. Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Transactions on Software Engineering, 21(2):107–125, February 1995.
S. Prehn and W. J. Toetenel, editors. VDM '91: Formal Software Development Methods, volume 551 of Lecture Notes in Computer Science, Noordwijkerhout, The Netherlands, October 1991. Springer-Verlag. Volume 1: Conference Contributions.
John Rushby and Friedrich von Henke. Formal verification of the Interactive Convergence clock synchronization algorithm using Ehdm. Technical Report SRI-CSL-89-3R, Computer Science Laboratory, SRI International, Menlo Park, CA, February 1989 (Revised August 1991). Original version also available as NASA Contractor Report 4239, June 1989.
Robert E. Shostak. An algorithm for reasoning about equality. Communications of the ACM, 21(7):583–585, July 1978.
Robert E. Shostak. Deciding combinations of theories. Journal of the ACM, 31(1):1–12, January 1984.
Robert E. Shostak. Deciding combinations of theories. Technical Report 132, SRI-CSL, Menlo Park, CA, January 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cyrluk, D., Lincoln, P., Shankar, N. (1996). On Shostak's decision procedure for combinations of theories. In: McRobbie, M.A., Slaney, J.K. (eds) Automated Deduction — Cade-13. CADE 1996. Lecture Notes in Computer Science, vol 1104. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61511-3_107
Download citation
DOI: https://doi.org/10.1007/3-540-61511-3_107
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61511-8
Online ISBN: 978-3-540-68687-3
eBook Packages: Springer Book Archive