Decidability of Conversion for Type Theory in Type Theory
Journal article, 2018

Type theory should be able to handle its own meta-theory, both to justify its foundational claims and to obtain a verified implementation. At the core of a type checker for intensional type theory lies an algorithm to check equality of types, or in other words, to check whether two types are convertible. We have formalized in Agda a practical conversion checking algorithm for a dependent type theory with one universe à la Russell, natural numbers, and η-equality for Π types. We prove the algorithm correct via a Kripke logical relation parameterized by a suitable notion of equivalence of terms. We then instantiate the parameterized fundamental lemma twice: once to obtain canonicity and injectivity of type formers, and once again to prove the completeness of the algorithm. Our proof relies on inductive-recursive definitions, but not on the uniqueness of identity proofs. Thus, it is valid in variants of intensional Martin-Löf Type Theory as long as they support induction-recursion, for instance, Extensional, Observational, or Homotopy Type Theory.

Agda

Formalization

Dependent types

Logical relations

Author

Andrea Vezzosi

Chalmers, Computer Science and Engineering (Chalmers), Computing Science (Chalmers)

Joakim Öhman

Fundacion IMDEA Software

Andreas Abel

Chalmers, Computer Science and Engineering (Chalmers), Computing Science (Chalmers)

Proceedings of the ACM on Programming Languages

2475-1421 (ISSN)

Vol. 2 POPL 23:1-23:29 23

Subject Categories

Algebra and Logic

Geometry

Mathematical Analysis

Roots

Basic sciences

DOI

10.1145/3158111

More information

Latest update

7/19/2018