Hostname: page-component-848d4c4894-5nwft Total loading time: 0 Render date: 2024-05-22T05:35:12.162Z Has data issue: false hasContentIssue false

Formalization of metatheory of the Lambda Calculus in constructive type theory using the Barendregt variable convention

Published online by Cambridge University Press:  26 November 2021

Ernesto Copello
Affiliation:
Universidad ORT Uruguay, MontevideoUruguay
Nora Szasz*
Affiliation:
Universidad ORT Uruguay, MontevideoUruguay
Álvaro Tasistro
Affiliation:
Universidad ORT Uruguay, MontevideoUruguay
*
*Corresponding author. Email: szasz@ort.edu.uy

Abstarct

We formalize in Constructive Type Theory the Lambda Calculus in its classical first-order syntax, employing only one sort of names for both bound and free variables, and with α-conversion based upon name swapping. As a fundamental part of the formalization, we introduce principles of induction and recursion on terms which provide a framework for reproducing the use of the Barendregt Variable Convention as in pen-and-paper proofs within the rigorous formal setting of a proof assistant. The principles in question are all formally derivable from the simple principle of structural induction/recursion on concrete terms. We work out applications to some fundamental meta-theoretical results, such as the Church–Rosser Theorem and Weak Normalization for the Simply Typed Lambda Calculus. The whole development has been machine checked using the system Agda.

Type
Paper
Copyright
© The Author(s), 2021. Published by Cambridge University Press

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Abel, A. (2008). Normalization for the simply-typed Lambda-Calculus in Twelf. Electronic Notes in Theoretical Computer Science 199 316.CrossRefGoogle Scholar
Abel, A., Allais, G., Hameer, A., Pientka, B., Momigliano, A., Schäfer, S. and Stark, K. (2019). POPLMark reloaded: mechanizing proofs by logical relations. Journal of Functional Programming 29 e19.CrossRefGoogle Scholar
Aydemir, B., Bohannon, A. and Weirich, S. (2007). Nominal reasoning techniques in Coq. Electronic Notes in Theoretical Computer Science 174 (5) 6977.CrossRefGoogle Scholar
Barendregt, H. (1984). The λ-calculus Its Syntax and Semantics, Studies in Logic and the Foundations of Mathematics, revised edition, vol. 103, North Holland.Google Scholar
Berger, U., Berghofer, S., Letouzey, P. and Schwichtenberg, H. (2006). Program extraction from normalization proofs. Studia Logica 82 (1) 2549.CrossRefGoogle Scholar
Berghofer, S. and Urban, C. (2007). A head-to-head comparison of de Bruijn indices and names. Electronic Notes in Theoretical Computer Science 174 (5) 5367.CrossRefGoogle Scholar
Charguéraud, A. (2012). The locally nameless representation. Journal of Automated Reasoning 49 (3) 363408.CrossRefGoogle Scholar
Copello, E. (2017). On the Formalisation of the Metatheory of the Lambda Calculus and Languages with Binders. Phd thesis, Universidad ORT Uruguay.Google Scholar
Copello, E., Szasz, N. and Tasistro, Á. (2017). Formal metatheory of the Lambda calculus using Stoughton’s substitution. Theoretical Computer Science 685 6582.CrossRefGoogle Scholar
Copello, E., Szasz, N. and Tasistro, Á. (2018a). Machine-checked proof of the Church-Rosser Theorem for the Lambda Calculus Using the Barendregt variable convention in constructive type theory. Electronic Notes in Theoretical Computer Science 338 7995. The 12th Workshop on Logical and Semantic Frameworks, with Applications (LSFA 2017).CrossRefGoogle Scholar
Copello, E., Szasz, N. and Tasistro, Á. (2018b). Formalisation in constructive type theory of Barendregt’s variable convention for generic structures with binders. Electronic Proceedings in Theoretical Computer Science 274 1126.CrossRefGoogle Scholar
Copello, E., Tasistro, Á., Szasz, N., Bove, A. and Fernández, M. (2016). Alpha-structural induction and recursion for the λ-Calculus in constructive type theory. Electronic Notes in Theoretical Computer Science 323 109124.CrossRefGoogle Scholar
Joachimski, F. and Matthes, R. (2003). Short proofs of normalization for the simply- typed λ-calculus, permutative conversions and Gödel’s T. Archive for Mathematical Logic 42 (1) 5987.CrossRefGoogle Scholar
Pitts, A. M. (2003). Nominal logic, a first order theory of names and binding. Information and Computation 186 (2) 165193.CrossRefGoogle Scholar
Pitts, A. M. (2006). Alpha-structural recursion and induction. Journal of the ACM 53 (3) 459506.CrossRefGoogle Scholar
Takahashi, M. (1995). Parallel reductions inλ-calculus. Information and Computation 118 (1) 120127.CrossRefGoogle Scholar
Urban, C. and Berghofer, S. (2006). A recursion combinator for nominal datatypes implemented in Isabelle/HOL. In: Furbach, U. and Shankar, N. (eds.) Automated Reasoning, Third International Joint Conference, IJCAR 2006, Seattle, WA, USA, August 17–20, 2006, Proceedings, Lecture Notes in Computer Science, vol. 4130, Springer, 498512.CrossRefGoogle Scholar
Urban, C., Berghofer, S. and Norrish, M. (2007). Barendregt’s variable convention in rule inductions, 35–50.Google Scholar
Urban, C. and Tasson, C. (2005). Nominal techniques in Isabelle/HOL. In: Nieuwenhuis, R. (ed.), Automated Deduction – CADE-20, Lecture Notes in Computer Science, vol. 3632, Berlin, Heidelberg, Springer, 38–53.Google Scholar
Vestergaard, R. and Brotherston, J. (2003). A formalised first-order confluence proof for the λ-calculus using one-sorted variable names. Information and Computation 183 (2) 212244.CrossRefGoogle Scholar