Generalization in the presence of free variables: A mechanically-checked correctness proof for one algorithm
Problem Corner
Received:
- 19 Downloads
- 4 Citations
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.
Key words
Program verification case study generalization free variables proof-checkingPreview
Unable to display preview. Download preview PDF.
References
- 1.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.Google Scholar
- 2.Boyer, R. S. and Moore, J S. (1979). A Computational Logic, Academic Press, New York.Google Scholar
- 3.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.Google Scholar
- 4.Boyer, R. S. and Moore, J S. (1988). A Computational Logic Handbook, Academic Press, Boston.Google Scholar
- 5.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.Google Scholar
- 6.Constable, R. L. et al. (1986). Implementing Mathematics with the Nuprl Proof Development System, Prentice Hall, 1986.Google Scholar
- 7.Davis, M. and Schwartz, J. T. (1979), ‘Metamate'hmatical extensibility for theorem verifiers and proof-checkers’, Computers and Mathematics with Applications 5, 217–230.Google Scholar
- 8.Gordon, M. J., Milner, A. J. and Wadsworth, C. P. (1979). Edinburgh LCF. Springer-Verlag, New York.Google Scholar
- 9.Gordon, M. (1987). HOL: A Proof Generating System for Higher-Order Logic, Technical Report 103, University of Cambridge, Computer Laboratory.Google Scholar
- 10.Howe, D. J. (1988), ‘Computational metatheory in Nuprl’, In 9th International Conference on Automated Deduction, Springer-Verlag, pp. 238–257.Google Scholar
- 11.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.Google Scholar
- 12.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.Google Scholar
- 13.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.Google Scholar
- 14.Knoblock, T. B. (to appear). ‘A formal metalanguage for NuPrl’.Google Scholar
- 15.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.Google Scholar
- 16.Moore, J S. (1989). ‘System verification’, Journal of Automated Reasoning 5(4), 409–410.Google Scholar
- 17.Quaife, A. (1988). ‘Automated proofs of Loeb's Theorem and Goedel's two imcompleteness theorems’, Journal of Automated Reasoning 4, 219–231.Google Scholar
- 18.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.Google Scholar
- 19.Shankar, N. (1985). ‘Towards mechanical metamathematics’, Journal of Automated Reasoning 1(4), 407–434Google Scholar
- 20.Steele, G. L. Jr. (1984). Common Lisp: The Language, Digital Press.Google Scholar
- 21.Weyhrauch, R. W. (1980). ‘Prolegomena to a theory of formal reasoning’, Artificial Intelligence 13, 133–170.Google Scholar
- 22.Yu, Y. (1990). ‘Computer proofs in group theory’, Journal of Automated Reasoning 6(3), 251–286.Google Scholar
Copyright information
© Kluwer Academic Publishers 1991