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.

Formalization

Agda

Logical relations

Dependent types

Author

Andreas Abel

University of Gothenburg

Joakim Öhman

Fundacion IMDEA Software

Andrea Vezzosi

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

12/7/2021