Abstract
We present a case study in which an automated proof assistant was used to show the correctness of an algorithm. Specifically, we document the application of an extension of the Boyer-Moore Theorem Prover to the problem of verifying the correctness of an implementation of generalization, where the proof had surprisingly many details and a previous implementation contained an error. We attempt to provide sufficient detail so that the reader can gain a realistic impression of the nature of this exercise.
Similar content being viewed by others
References
Boyer, R. S. and Moore, J S. (1985). Integrating Decision Procedures into Heuristic Theorem Provers: A Case Study of Linear Arithmetic, Technical Report ICSCA-CMP-44, University of Texas at Austin.
Boyer, R. S. and Moore, J S. (1979). A Computational Logic, Academic Press, New York.
Boyer, R. S. and Moore, J S. (1981). ‘Metafunctions: proving them correct and using them efficiently as new proof procedures’, The Correctness Problem in Computer Science, Academic Press, 103–185.
Boyer, R. S. and Moore, J S. (1988). A Computational Logic Handbook, Academic Press, Boston.
Boyer, R. S., Goldschlag, D. M., Kaufmann, M. and Moore, J S. (1989). Functional Instantiation in First Order Logic, Report 44, Technical Report, Computational Logic, 1717 W. 6th St., Austin, Texas, 78703, U.S.A., 1989. To appear in the Proceedings of the 1989 Workshop on Programming Logic, Programming Methodology Group, University of Gøteborg.
Constable, R. L. et al. (1986). Implementing Mathematics with the Nuprl Proof Development System, Prentice Hall, 1986.
Davis, M. and Schwartz, J. T. (1979), ‘Metamate'hmatical extensibility for theorem verifiers and proof-checkers’, Computers and Mathematics with Applications 5, 217–230.
Gordon, M. J., Milner, A. J. and Wadsworth, C. P. (1979). Edinburgh LCF. Springer-Verlag, New York.
Gordon, M. (1987). HOL: A Proof Generating System for Higher-Order Logic, Technical Report 103, University of Cambridge, Computer Laboratory.
Howe, D. J. (1988), ‘Computational metatheory in Nuprl’, In 9th International Conference on Automated Deduction, Springer-Verlag, pp. 238–257.
Kaufmann, M. (1988). A User's Manual for an Interactive Enhancement to the Boyer-Moore Theorem Prover. Technical Report 19, Computational Logic, Inc., Austin, Texas, May.
Kaufmann, M. (1989). Addition of Free Variables to an Interactive Enhancement of the Boyer-Moore Theorem Prover. Technical Report 42, Computational Logic, Inc., Austin, Texas, May.
Kaufmann, M. (1989). DEFN-SK: An Extension of the Boyer-Moore Theorem Prover to Handle First-Order Quantifiers. Technical Report 43, Computational Logic, Inc., Austin, Texas, June. Revision to appear as ‘An extension of the Boyer-Moore theorem prover, to support first-order quantification’, Journal of Automated Reasoning.
Knoblock, T. B. (to appear). ‘A formal metalanguage for NuPrl’.
Knoblock, T. B. and Constable, R. L. (1976). ‘Formalized metareasoning in type theory’, In Proceedings of the First Annual Symposium on Logic in Computer Science, IEEE.
Moore, J S. (1989). ‘System verification’, Journal of Automated Reasoning 5(4), 409–410.
Quaife, A. (1988). ‘Automated proofs of Loeb's Theorem and Goedel's two imcompleteness theorems’, Journal of Automated Reasoning 4, 219–231.
Kaufmann, M. (1990). Generalization in the Presence of Free Variables: a Mechanically-Checked Correctness Proof for One Algorithm, Technical Report 53, Computational Logic, Inc., Austin, Texas.
Shankar, N. (1985). ‘Towards mechanical metamathematics’, Journal of Automated Reasoning 1(4), 407–434
Steele, G. L. Jr. (1984). Common Lisp: The Language, Digital Press.
Weyhrauch, R. W. (1980). ‘Prolegomena to a theory of formal reasoning’, Artificial Intelligence 13, 133–170.
Yu, Y. (1990). ‘Computer proofs in group theory’, Journal of Automated Reasoning 6(3), 251–286.
Author information
Authors and Affiliations
Additional information
This research was supported in part by ONR Contrast N00014-88-C-0454. 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 Office of Naval Research or the U.S. Government.
Rights and permissions
About this article
Cite this article
Kaufmann, M. Generalization in the presence of free variables: A mechanically-checked correctness proof for one algorithm. J Autom Reasoning 7, 109–158 (1991). https://doi.org/10.1007/BF00249356
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00249356