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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
Barthe, G.: Implicit coercions in type systems. In: Types for Proofs and Programs: International Workshop, TYPES 1995, pp. 1–15 (1995)
Bertot, Y.: The CtCoq system: Design and architecture. Formal Aspects of Computing 11, 225–243 (1999)
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)
Coscoy, Y.: Explication textuelle de preuves pour le Calcul des Constructions Inductives. PhD thesis, Université de Nice-Sophia Antipolis (2000)
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)
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)
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)
Luo, Z.: Coercive subtyping. Journal of Logic and Computation 9(1), 105–130 (1999)
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)
Mathematical Markup Language (MathML) Version 2.0. W3C Recommendation (February 21 2001) (2003), http://www.w3.org/TR/MathML2
Mu\(\tilde{n}\)oz, C.: A Calculus of Substitutions for Incomplete-Proof Representation in Type Theory. PhD thesis, INRIA (November 1997)
OMDoc: An open markup format for mathematical documents (draft, version 1.2) (2005), http://www.mathweb.org/omdoc/pubs/omdoc1.2.pdf
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)
Riazanov, A.: Implementing an Efficient Theorem Prover. PhD thesis, The University of Manchester (2003)
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
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)
Strecker, M.: Construction and Deduction in Type Theories. PhD thesis, Universität Ulm (1998)
Wiedijk, F.: Mmode, a mizar mode for the proof assistant coq. Technical Report NIII-R0333, University of Nijmegen (2003)
Author information
Authors and Affiliations
Editor information
Rights 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)