Abstract
This paper is a report about the use of Matita, an interactive theorem prover under development at the University of Bologna, for the solution of the POPLmark Challenge, part 1a. We provide three different formalizations, including two direct solutions using pure de Bruijn and locally nameless encodings of bound variables, and a formalization using named variables, obtained by means of a sound translation to the locally nameless encoding. According to this experience, we also discuss some of the proof principles used in our solutions, which have led to the development of a generalized inversion tactic for Matita.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Asperti, A., Ricciotti, W., Sacerdoti Coen, C., Tassi, E.: A compact kernel for the calculus of inductive constructions. Sadhana 34(1), 71–144 (2009)
Asperti, A., Sacerdoti Coen, C., Tassi, E., Zacchiroli, S.: Crafting a proof assistant. In: Proceedings of Types 2006: Conference of the Types Project (2006)
Asperti, A., Sacerdoti Coen, C., Tassi, E., Zacchiroli, S.: User interaction with the Matita proof assistant. J. Autom. Reason. (Special Issue on User Interfaces for Theorem Proving) 39(2), 109–139 (2007)
Aydemir, B., Bohannon, A., Fairbairn, M., Foster, J., Pierce, B., Sewell, P., Vytiniotis, D., Washburn, G., Weirich, S., Zdancewic, S.: Mechanized metatheory for the masses: the POPLmark challenge. In: Proceedings of the Eighteenth International Conference on Theorem Proving in Higher Order Logics (TPHOLs 2005) (2005)
Aydemir, B.E., Charguéraud, A., Pierce, B.C., Pollack, R., Weirich, S.: Engineering formal metatheory. In: Necula, G.C., Wadler, P. (eds.) POPL, pp. 3–15 (2008)
Cardelli, L., Martini, S., Mitchell, J.C., Scedrov, A.: An extension of system F with subtyping (TACS). In: Ito, T., Meyer, A.R. (eds.) Proc. of 1st Int. Symp. on Theor. Aspects of Computer Software, TACS’91, Sendai, Japan, 24–27 Sept 1991, vol. 526 of Lecture Notes in Computer Science, pp. 750–770. Springer, Berlin (1991)
Charguéraud, A.: Submissions to the PoplMark Challenge. http://www.chargueraud.orgarthur/research/2006/poplmark/ (2006)
Chlipala, A.: Submission to the PoplMark Challenge. http://adam.chlipala.net/poplmark/ (2006)
Coq: The Coq Proof Assistant Reference Manual, Version 8.0. The Coq Development Team (2004)
Cornes, C., Terrasse, D.: Automating inversion of inductive predicates in Coq’. In: TYPES ’95: Selected Papers from the International Workshop on Types for Proofs and Programs, pp. 85–104. London, UK (1996)
Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax involving binders. In: 14th Annual Symposium on Logic in Computer Science, pp. 214–224. Washington, DC, USA (1999)
Guidi, F.: Lambda Types on the Lambda Calculus with Abbreviations. Research report UBLCS-2006-25, Department of Computer Science, University of Bologna (2006)
Hirschowitz, A., Maggesi, M.: Submission to the PoplMark Challenge. http://web.math.unifi.it/~maggesi/poplmark/Part1a.v (2007)
Leroy, X.: A Locally Nameless Solution to the POPLmark Challenge. Research report 6098, INRIA (2007)
McBride, C.: Elimination with a motive. In: Callaghan, P., Luo, Z., McKinna, J., Pollack, R. (eds.) Types for Proofs and Programs (Proceedings of the International Workshop, TYPES’00), vol. 2277 of LNCS (2002)
Pitts, A.M.: Nominal logic: a first order theory of names and binding. Inf. Comput. 186(2), 165–193 (2003)
Pollack, R.: Closure under alpha-conversion. In: Barendregt, H., Nipkow, T. (eds.) Proceedings of the Workshop on Types for Proofs and Programs, pp. 313–332. Nijmegen, The Netherlands (1993)
Sacerdoti Coen, C., Tassi, E., Zacchiroli, S.: Tinycals: step by step tacticals. In: Proceedings of User Interface for Theorem Provers 2006 (2006)
Sallinens, J.: Submission to the PoplMark Challenge. https://alliance.seas.upenn.edu/∼plclub/cgibin/poplmark/index.php?title=Submission_by_Jevgenijs_Sallinens (2007)
Stump, A.: Submission to the PoplMark Challenge. http://www.cs.uiowa.edu/~astump/poplmark-coq/ (2005)
Urban, C., Pollack, R.: Strong induction principles in the locally nameless representation of binders. In: Workshop on Mechanized Metatheory (2007)
Vouillon, J.: Submission to the PoplMark Challenge. http://www.cis.upenn.edu/~plclub/wiki-static/vouillon-coq/part-a.v (2005)
Werner, B.: Une Théorie des Constructions Inductives. Ph.D. thesis, Université Paris VII (1994)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Asperti, A., Ricciotti, W., Sacerdoti Coen, C. et al. Formal Metatheory of Programming Languages in the Matita Interactive Theorem Prover. J Autom Reasoning 49, 427–451 (2012). https://doi.org/10.1007/s10817-011-9228-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-011-9228-z