# Proof style

## 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.

## Keywords

Symbolic Execution High Order Logic Prototype Verification System Proof Checker Proof Script## 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.Google Scholar
- Boyer, R. S. and Moore, J S. (1979)
*A Computational Logic*. ACM Monograph Series. Academic Press.Google Scholar - 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.Google Scholar - Chen, W. (1992) Tactic-based theorem proving and knowledge-based forward chaining. See Kapur (1992), pp. 552–566.Google Scholar
- 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.Google Scholar
- Constable, R. (1986)
*Implementing Mathematics with The Nuprl Proof Development System*. Prentice-Hall.Google Scholar - Constable, R. L., Knoblock, T. B., and Bates, J. L. (1985) Writing programs that construct proofs.
*Journal of Automated Reasoning*,**1**, 285–326.zbMATHMathSciNetCrossRefGoogle Scholar - 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.Google Scholar - Curzon, P. (1995) Tracking design changes with formal machine-checked proof.
*The Computer Journal*,**38**, 91–100.CrossRefGoogle Scholar - Garland, S. J. and Guttag, J. V. (1991) A guide to LP, the Larch Prover. Technical report, MIT Laboratory for Computer Science.Google Scholar
- 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.Google Scholar - Gordon, M. J. C. and Melham, T. F. (1993)
*Introduction to HOL: a theorem proving environment for higher order logic*. Cambridge University Press.Google Scholar - 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.Google Scholar - 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.Google Scholar - Guard, J. R., Oglesby, F. C., Bennett, J. H., and Settle, L. G. (1969) Semiautomated mathematics.
*Journal of the ACM*,**16**, 49–62.zbMATHCrossRefGoogle Scholar - 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.Google Scholar - 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.Google Scholar - Kapur, D. (ed.) (1992)
*11th International Conference on Automated Deduction*, Volume 607 of*Lecture Notes in Computer Science*, Saratoga, NY. Springer-Verlag.Google Scholar - 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.Google Scholar - Lam, C. W. H. (1990) How reliable is a computer-based proof?
*The Mathematical Intelligencer*,**12**, 8–12.zbMATHCrossRefGoogle Scholar - Lamport, L. (1993) How to write a proof. Research Report 94, DEC Systems Research Center, 130 Lytton Avenue, Palo Alto, California 94301, USA.Google Scholar
- 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.Google Scholar - McAllester, D. A. (1989)
*ONTIC: A Knowledge Representation System for Mathematics*. MIT Press.Google Scholar - 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.Google Scholar - Owre, S., Rushby, J. M., and Shankar, N. (1992) PVS: A prototype verification system. See Kapur (1992), pp. 748–752.Google Scholar
- Paulson, L. C. (1987)
*Logic and computation: interactive proof with Cambridge LCF*, Volume 2 of*Cambridge Tracts in Theoretical Computer Science*. Cambridge University Press.Google Scholar - 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.Google Scholar - Paulson, L. C. (1994)
*Isabelle: a generic theorem prover*, Volume 828 of*Lecture Notes in Computer Science*. Springer-Verlag. With contributions by Tobias Nipkow.Google Scholar - 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.zbMATHMathSciNetCrossRefGoogle Scholar - 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.Google Scholar - 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.Google Scholar - 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.Google Scholar - Rudnicki, P. (1987) Obvious inferences.
*Journal of Automated Reasoning*,**3**, 383–393.zbMATHMathSciNetCrossRefGoogle Scholar - 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.Google Scholar
- 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.Google Scholar
- Syme, D. (1997b) Proving Java type soundness. Technical Report 427, University of Cambridge Computer Laboratory, New Museums Site, Pembroke Street, Cambridge, CB2 3QG, UK.Google Scholar
- Trybulec, A. (1978) The Mizar-QC/6000 logic information language.
*ALLC Bulletin (Association for Literary and Linguistic Computing)*,**6**, 136–140.Google Scholar - 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.Google Scholar - Trybulec, Z. and Święczkowska, H. (1991-1992) The language of mathematical texts.
*Studies in Logic, Grammar and Rhetoric, Biakystok*,**10/11**, 103–124.Google Scholar