Three Tactic Theorem Proving

  • Don Syme
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1690)


We describe the key features of the proof description language of Declare, an experimental theorem prover for higher order logic. We take a somewhat radical approach to proof description: proofs are not described with tactics but by using just three expressive outlining constructs. The language is “declarative” because each step specifies its logical consequences, i.e. the constants and formulae that are introduced, independently of the justification of that step. Logical constants and facts are lexically scoped in a style reminiscent of structured programming. The style is also heavily “inferential”, because Declare relies on an automated prover to eliminate much of the detail normally made explicit in tactic proofs. Declare has been partly inspired by Mizar, but provides better automation. The proof language has been designed to take advantage of this, allowing proof steps to be both large and controlled. We assess the costs and benefots of this approach, and describe its impact on three areas of theorem prover design: specification, automated reasoning and interaction.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [COR+95]
    Judy Crow, Sam Owre, John Rushby, Natarajan Shankar, and Mandayam Srivas. A tutorial introduction to PVS. In Proceedings of the Workshop on Industrial-Strength Formal Specification Techniques, Baco Raton, Florida, 1995.Google Scholar
  2. [GM93]
    M.J.C Gordon and T.F Melham. Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, 1993.Google Scholar
  3. [Har96]
    J. Harrison. A Mizar Mode for HOL. In J. Von Wright, J. Grundy, and J. Harrison, editors, Ninth international Conference on Theorem Proving in Higher Order Logics TPHOL, volume 1125 of Lecture Notes in Computer Science, pages 203–220, Turku, Finland, August 1996. Springer Verlag.CrossRefGoogle Scholar
  4. [KM96]
    Matt Kaufmann and J. Strother Moore. ACL2: An industrial strength version of Nqthm. COMPASS — Proceedings of the Annual Conference on Computer Assurance, pages 23–34, 1996. IEEE catalog number 96CH35960.Google Scholar
  5. [MRC79]
    M.J.C. Gordon, R. Milner, and C.P. Wadsworth. A Mechanized Logic of Computation, volume 78 of Lecture Notes in Computer Science. Springer-Verlag, New York, 1979.zbMATHGoogle Scholar
  6. [Nor98]
    Michael Norrish. C Formalized in HOL. PhD thesis, University of Cambridge, August 1998.Google Scholar
  7. [Pau94]
    L.C. Paulson. Isabelle: A Generic Theorem Prover, volume 828 of Lecture Notes in Computer Science. Springer Verlag, 1994.CrossRefzbMATHGoogle Scholar
  8. [RJ79]
    R.S. Boyer and J.S. Moore. A Computational Logic Handbook. Academic Press, 1979.Google Scholar
  9. [Rud92]
    P. Rudnicki. An overview of the MIZAR project, 1992. Unpublished; available by anonymous FTP from as
  10. [Sym98]
    Don Syme. Interaction for Declarative Theorem Proving, December 1998. Available from
  11. [Sym99]
    Don Syme. Declarative Theorem Proving for Operational Semantics. PhD thesis, University of Cambridge, Computer Laboratory, January 1999. Available from

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Don Syme
    • 1
  1. 1.Microsoft Research LimitedCambridge, CB2UK

Personalised recommendations