ernius / formalmetatheory-nominal-Church-Rosser

Formalisation of Church Rosser Theorem

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Documentation

Principal Results

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:

Authors

  • Ernesto Copello
  • Nora Szasz
  • Álvaro Tasistro

Build Status in Travis CI : Build Status

Agda compiler version 2.5.2 and standard library version 0.13

About

Formalisation of Church Rosser Theorem


Languages

Language:Agda 86.2%Language:TeX 13.4%Language:Makefile 0.4%