Skip to main content

Crafting a Proof Assistant

  • Conference paper
Types for Proofs and Programs (TYPES 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4502))

Included in the following conference series:

Abstract

Proof assistants are complex applications whose development has never been properly systematized or documented. This work is a contribution in this direction, based on our experience with the development of Matita: a new interactive theorem prover based—as Coq—on the Calculus of Inductive Constructions (CIC). In particular, we analyze its architecture focusing on the dependencies of its components, how they implement the main functionalities, and their degree of reusability.

The work is a first attempt to provide a ground for a more direct comparison between different systems and to highlight the common functionalities, not only in view of reusability but also to encourage a more systematic comparison of different softwares and architectural solutions.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Asperti, A., Guidi, F., Coen, C.S., Tassi, E., Zacchiroli, S.: A content based mathematical search engine: Whelp. In: Filliâtre, J.-C., Paulin-Mohring, C., Werner, B. (eds.) TYPES 2004. LNCS, vol. 3839, pp. 17–32. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  2. Aspinall, D.: Proof General: A generic tool for proof development. In: Schwartzbach, M.I., Graf, S. (eds.) ETAPS 2000 and TACAS 2000. LNCS, vol. 1785, Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  3. Barthe, G.: Implicit coercions in type systems. In: Types for Proofs and Programs: International Workshop, TYPES 1995, pp. 1–15 (1995)

    Google Scholar 

  4. Bertot, Y.: The CtCoq system: Design and architecture. Formal Aspects of Computing 11, 225–243 (1999)

    Article  Google Scholar 

  5. Bertot, Y., Kahn, G., Théry, L.: Proof by pointing. In: Hagiya, M., Mitchell, J.C. (eds.) TACS 1994. LNCS, vol. 789, Springer, Heidelberg (1994)

    Google Scholar 

  6. Coscoy, Y.: Explication textuelle de preuves pour le Calcul des Constructions Inductives. PhD thesis, Université de Nice-Sophia Antipolis (2000)

    Google Scholar 

  7. Coscoy, Y., Kahn, G., Thery, L.: Extracting Text from Proofs. Technical Report RR-2459, Inria (Institut National de Recherche en Informatique et en Automatique), France (1995)

    Google Scholar 

  8. Geuvers, H., Jojgov, G.I.: Open proofs and open terms: A basis for interactive logic. In: Bradfield, J.C. (ed.) CSL 2002 and EACSL 2002. LNCS, vol. 2471, pp. 537–552. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  9. Harrison, J.: A Mizar Mode for HOL. In: von Wright, J., Harrison, J., Grundy, J. (eds.) TPHOLs 1996. LNCS, vol. 1125, pp. 203–220. Springer, Heidelberg (1996)

    Google Scholar 

  10. Luo, Z.: Coercive subtyping. Journal of Logic and Computation 9(1), 105–130 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  11. Magnusson, L., Nordström, B.: The ALF proof editor and its proof engine. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993. LNCS, vol. 806, pp. 213–237. Springer, Heidelberg (1994)

    Google Scholar 

  12. Mathematical Markup Language (MathML) Version 2.0. W3C Recommendation (February 21 2001) (2003), http://www.w3.org/TR/MathML2

  13. Mu\(\tilde{n}\)oz, C.: A Calculus of Substitutions for Incomplete-Proof Representation in Type Theory. PhD thesis, INRIA (November 1997)

    Google Scholar 

  14. OMDoc: An open markup format for mathematical documents (draft, version 1.2) (2005), http://www.mathweb.org/omdoc/pubs/omdoc1.2.pdf

  15. Padovani, L., Zacchiroli, S.: From notation to semantics: There and back again. In: Asperti, A., Bancerek, G., Trybulec, A. (eds.) MKM 2004. LNCS (LNAI), vol. 3119, pp. 194–207. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  16. Riazanov, A.: Implementing an Efficient Theorem Prover. PhD thesis, The University of Manchester (2003)

    Google Scholar 

  17. Coen, C.S., Tassi, E., Zacchiroli, S.: Tinycals: step by step tacticals. In: Proceedings of UITP 2006: User Interface for Theorem Provers. Seattle, WA, August 21, 2006. ENTCS, vol. 174(2), pp. 125–142. Elsevier Science, North-Holland (May 2007) ISSN: 1571-0661

    Google Scholar 

  18. Coen, C.S., Zacchiroli, S.: Efficient ambiguous parsing of mathematical formulae. In: Asperti, A., Bancerek, G., Trybulec, A. (eds.) MKM 2004. LNCS, vol. 3119, pp. 347–362. Springer, Heidelberg (2004)

    Google Scholar 

  19. Strecker, M.: Construction and Deduction in Type Theories. PhD thesis, Universität Ulm (1998)

    Google Scholar 

  20. Wiedijk, F.: Mmode, a mizar mode for the proof assistant coq. Technical Report NIII-R0333, University of Nijmegen (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Thorsten Altenkirch Conor McBride

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Asperti, A., Coen, C.S., Tassi, E., Zacchiroli, S. (2007). Crafting a Proof Assistant. In: Altenkirch, T., McBride, C. (eds) Types for Proofs and Programs. TYPES 2006. Lecture Notes in Computer Science, vol 4502. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74464-1_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74464-1_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74463-4

  • Online ISBN: 978-3-540-74464-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics