Abstract
We are concerned with how computer theorem provers should expect users to communicate proofs to them. There are many stylistic choices that still allow the machine to generate a completely formal proof object. The most obvious choice is the amount of guidance required from the user, or from the machine perspective, the degree of automation provided. But another important consideration, which we consider particularly significant, is the bias towards a ‘procedural’ or ‘declarative’ proof style. We will explore this choice in depth, and discuss the strengths and weaknesses of declarative and procedural styles for proofs in pure mathematics and for verification applications. We conclude with a brief summary of our own experiments in trying to combine both approaches.
Preview
Unable to display preview. Download preview PDF.
References
Back, R., Grundy, J., and von Wright, J. (1996) Structured calculational proof. Technical Report 65, Turku Centre for Computer Science (TUCS), Lemminkäisenkatu 14 A, FIN-20520 Turku, Finland. Also available as Technical Report TR-CS-96-09 from the Australian National University.
Boyer, R. S. and Moore, J S. (1979) A Computational Logic. ACM Monograph Series. Academic Press.
de Bruijn, N. G. (1970) The mathematical language AUTOMATH, its usage and some of its extensions. In Laudet, M., Lacombe, D., Nolin, L., and Schützenberger, M. (eds.), Symposium on Automatic Demonstration, Volume 125 of Lecture Notes in Mathematics, pp. 29–61. Springer-Verlag.
Chen, W. (1992) Tactic-based theorem proving and knowledge-based forward chaining. See Kapur (1992), pp. 552–566.
Cohn, A. (1990) Proof accounts in HOL (incomplete draft). Available on the Web as http://www.cl.cam.ac.uk/users/mjcg/AccountsPaper.ps.gz.
Constable, R. (1986) Implementing Mathematics with The Nuprl Proof Development System. Prentice-Hall.
Constable, R. L., Knoblock, T. B., and Bates, J. L. (1985) Writing programs that construct proofs. Journal of Automated Reasoning, 1, 285–326.
Coscoy, Y., Kahn, G., and Théry, L. (1995) Extracting text from proofs. In Dezani-Ciancaglini, M. and Plotkin, G. (eds.), Second International Conference on Typed Lambda Calculi and Applications, TLCA'95, Volume 902 of Lecture Notes in Computer Science, Edinburgh, pp. 109–123. Springer-Verlag.
Curzon, P. (1995) Tracking design changes with formal machine-checked proof. The Computer Journal, 38, 91–100.
Garland, S. J. and Guttag, J. V. (1991) A guide to LP, the Larch Prover. Technical report, MIT Laboratory for Computer Science.
Gonthier, G. (1996) Verifying the safety of a practical concurrent garbage collector. In Alur, R. and Henzinger, T. A. (eds.), Proceedings of the 8th international conference on computer aided verification (CAV'96), Volume 1102 of Lecture Notes in Computer Science, New Brunswick, NJ, pp. 462–465. Springer-Verlag.
Gordon, M. J. C. and Melham, T. F. (1993) Introduction to HOL: a theorem proving environment for higher order logic. Cambridge University Press.
Gordon, M. J. C., Milner, R., and Wadsworth, C. P. (1979) Edinburgh LCF: A Mechanised Logic of Computation, Volume 78 of Lecture Notes in Computer Science. Springer-Verlag.
Grundy, J. (1996) A browsable format for proof presentation. In Gefwert, C., Orponen, P., and Seppänen, J. (eds.), Proceedings of the Finnish Artificial Intelligence Society Symposium: Logic, Mathematics and the Computer, Volume 14 of Suomen Tekoälyseuran julkaisuja, pp. 171–178. Finnish Artificial Intelligence Society.
Guard, J. R., Oglesby, F. C., Bennett, J. H., and Settle, L. G. (1969) Semiautomated mathematics. Journal of the ACM, 16, 49–62.
Harrison, J. (1996) A Mizar mode for HOL. In von Wright, J., Grundy, J., and Harrison, J. (eds.), Theorem Proving in Higher Order Logics: 9th International Conference, TPHOLs'96, Volume 1125 of Lecture Notes in Computer Science, Turku, Finland, pp. 203–220. Springer-Verlag.
van Bentham Jutting, L. S. (1977) Checking Landau's “Grundlagen” in the AUTOMATH System. Ph. D. thesis, Eindhoven University of Technology. Useful summary in Nederpelt, Geuvers, and de Vrijer (1994), pp. 701–732.
Kapur, D. (ed.) (1992) 11th International Conference on Automated Deduction, Volume 607 of Lecture Notes in Computer Science, Saratoga, NY. Springer-Verlag.
Kreisel, G. (1985) Proof theory and the synthesis of programs: Potential and limitations. In Buchberger, B. (ed.), EUROCAL '85: European Conference on Computer Algebra, Volume 203 of Lecture Notes in Computer Science, pp. 136–150. Springer-Verlag.
Lam, C. W. H. (1990) How reliable is a computer-based proof? The Mathematical Intelligencer, 12, 8–12.
Lamport, L. (1993) How to write a proof. Research Report 94, DEC Systems Research Center, 130 Lytton Avenue, Palo Alto, California 94301, USA.
Landau, E. (1930) Grundlagen der Analysis. Leipzig. English translation by F. Steinhardt: “Foundations of analysis: the arithmetic of whole, rational, irrational, and complex numbers. A supplement to textbooks on the differential and integral calculus', published by Chelsea; 3rd edition 1966.
McAllester, D. A. (1989) ONTIC: A Knowledge Representation System for Mathematics. MIT Press.
Nederpelt, R. P., Geuvers, J. H., and de Vrijer, R. C. (eds.) (1994) Selected Papers on Automath, Volume 133 of Studies in Logic and the Foundations of Mathematics. North-Holland.
Owre, S., Rushby, J. M., and Shankar, N. (1992) PVS: A prototype verification system. See Kapur (1992), pp. 748–752.
Paulson, L. C. (1987) Logic and computation: interactive proof with Cambridge LCF, Volume 2 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press.
Paulson, L. C. (1990) Isabelle: The next 700 theorem provers. In Odifreddi, P. G. (ed.), Logic and Computer Science, Volume 31 of APIC Studies in Data Processing, pp. 361–386. Academic Press.
Paulson, L. C. (1994) Isabelle: a generic theorem prover, Volume 828 of Lecture Notes in Computer Science. Springer-Verlag. With contributions by Tobias Nipkow.
Paulson, L. C. and Grąbczewski, K. (1996) Mechanizing set theory: Cardinal arithmetic and the axiom of choice. Journal of Automated Reasoning, 17, 291–323.
Pollack, R. (1995) On extensibility of proof checkers. In Dybjer, P., Nordström, B., and Smith, J. (eds.), Types for Proofs and Programs: selected papers from TYPES'94, Volume 996 of Lecture Notes in Computer Science, Båstad, pp. 140–161. Springer-Verlag.
Prasetya, I. S. W. B. (1993) On the style of mechanical proving. In Joyce, J. J. and Seger, C. (eds.), Proceedings of the 1993 International Workshop on the HOL theorem proving system and its applications, Volume 780 of Lecture Notes in Computer Science, UBC, Vancouver, Canada, pp. 475–488. Springer-Verlag.
Robinson, J. A. (1994) Logic, computers, Turing and von Neumann. In Furukawa, K., Michie, D., and Muggleton, S. (eds.), Machine Intelligence 13, pp. 1–35. Clarendon Press.
Rudnicki, P. (1987) Obvious inferences. Journal of Automated Reasoning, 3, 383–393.
Rudnicki, P. (1992) An overview of the MIZAR project. Available by anonymous FTP from menaik.cs.ualberta.ca as pub/Mizar/Mizar_Over.tar.Z.
Syme, D. (1997a) DECLARE: A prototype declarative proof system for higher order logic. Technical Report 416, University of Cambridge Computer Laboratory, New Museums Site, Pembroke Street, Cambridge, CB2 3QG, UK.
Syme, D. (1997b) Proving Java type soundness. Technical Report 427, University of Cambridge Computer Laboratory, New Museums Site, Pembroke Street, Cambridge, CB2 3QG, UK.
Trybulec, A. (1978) The Mizar-QC/6000 logic information language. ALLC Bulletin (Association for Literary and Linguistic Computing), 6, 136–140.
Trybulec, A. and Blair, H. A. (1985) Computer aided reasoning. In Parikh, R. (ed.), Logics of Programs, Volume 193 of Lecture Notes in Computer Science, Brooklyn, pp. 406–412. Springer-Verlag.
Trybulec, Z. and Święczkowska, H. (1991-1992) The language of mathematical texts. Studies in Logic, Grammar and Rhetoric, Biakystok, 10/11, 103–124.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Harrison, J. (1998). Proof style. In: Giménez, E., Paulin-Mohring, C. (eds) Types for Proofs and Programs. TYPES 1996. Lecture Notes in Computer Science, vol 1512. Springer, Berlin, Heidelberg . https://doi.org/10.1007/BFb0097791
Download citation
DOI: https://doi.org/10.1007/BFb0097791
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65137-6
Online ISBN: 978-3-540-49562-8
eBook Packages: Springer Book Archive