Proof style

  • John Harrison
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1512)


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.


Symbolic Execution High Order Logic Prototype Verification System Proof Checker Proof Script 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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
  2. Boyer, R. S. and Moore, J S. (1979) A Computational Logic. ACM Monograph Series. Academic Press.Google Scholar
  3. 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
  4. Chen, W. (1992) Tactic-based theorem proving and knowledge-based forward chaining. See Kapur (1992), pp. 552–566.Google Scholar
  5. Cohn, A. (1990) Proof accounts in HOL (incomplete draft). Available on the Web as Scholar
  6. Constable, R. (1986) Implementing Mathematics with The Nuprl Proof Development System. Prentice-Hall.Google Scholar
  7. 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
  8. 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
  9. Curzon, P. (1995) Tracking design changes with formal machine-checked proof. The Computer Journal, 38, 91–100.CrossRefGoogle Scholar
  10. Garland, S. J. and Guttag, J. V. (1991) A guide to LP, the Larch Prover. Technical report, MIT Laboratory for Computer Science.Google Scholar
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. Kapur, D. (ed.) (1992) 11th International Conference on Automated Deduction, Volume 607 of Lecture Notes in Computer Science, Saratoga, NY. Springer-Verlag.Google Scholar
  19. 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
  20. Lam, C. W. H. (1990) How reliable is a computer-based proof? The Mathematical Intelligencer, 12, 8–12.zbMATHCrossRefGoogle Scholar
  21. 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
  22. 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
  23. McAllester, D. A. (1989) ONTIC: A Knowledge Representation System for Mathematics. MIT Press.Google Scholar
  24. 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
  25. Owre, S., Rushby, J. M., and Shankar, N. (1992) PVS: A prototype verification system. See Kapur (1992), pp. 748–752.Google Scholar
  26. 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
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. 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
  33. Rudnicki, P. (1987) Obvious inferences. Journal of Automated Reasoning, 3, 383–393.zbMATHMathSciNetCrossRefGoogle Scholar
  34. Rudnicki, P. (1992) An overview of the MIZAR project. Available by anonymous FTP from as pub/Mizar/Mizar_Over.tar.Z.Google Scholar
  35. 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
  36. 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
  37. Trybulec, A. (1978) The Mizar-QC/6000 logic information language. ALLC Bulletin (Association for Literary and Linguistic Computing), 6, 136–140.Google Scholar
  38. 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
  39. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • John Harrison
    • 1
  1. 1.Computer Laboratory New Museums SiteUniversity of CambridgeCambridgeEngland

Personalised recommendations