Machine-checked proof of the Church-Rosser theorem for the Lambda Calculus using the Barendregt Variable Convention in Constructive Type Theory.
In this work we continue the work started in our previous formalisation https://github.com/ernius/formalmetatheory-nominal, deriving in Constructive Type Theory new induction principles for the lambda calculus, using first order syntax with only one sort of names for both bound and free variables, and with alpha-conversion based upon name swapping. The principles provide a flexible framework within which it is possible to mimic pen-and-paper proofs inside the rigorous formal setting of a proof assistant. We here show one a complete proof of the Church-Rosser and the Subject Reduction theorems. The whole development has been machine-checked using the system Agda.
-
Machine-checked proof of the Church-Rosser theorem for Lambda-Calculus using the Barendregt Variable Convention in Constructive Type Theory, Electronic Notes in Theoretical Computer Science,2018 in press.
-
Alpha-Structural Induction and Recursion for the Lambda Calculus in Constructive Type Theory. Electr. Notes Theor. Comput. Sci. 323: 109-124 (2016)
The Church-Rosser theorem is in the file Diamond.agda file, Subject Reduction theorem is in the file Types.lagda, and Weak Normalization result is in WeakNormalization.lagda
The entire code can be browsed in html format here: https://ernius.github.io/formalmetatheory-nominal-Church-Rosser/html/index.html.
The principal results are in the following links:
- Church-Rosser: https://ernius.github.io/formalmetatheory-nominal-Church-Rosser/html/Diamond.html
- Subject Reduction: https://ernius.github.io/formalmetatheory-nominal-Church-Rosser/html/Types.html
- Weak Normalization: https://ernius.github.io/formalmetatheory-nominal-Church-Rosser/html/WeakNormalization.html
- Ernesto Copello
- Nora Szasz
- Álvaro Tasistro
Agda compiler version 2.5.2 and standard library version 0.13