Martin-Löf à la Coq
Authors:
Open Access
- 9 January 2024
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 230-245
Abstract
We present an extensive mechanization of the metatheory of Martin-Löf Type Theory (MLTT) in the Coq proof assistant. Our development builds on pre-existing work in Agda to show not only the decidability of conversion, but also the decidability of type checking, using an approach guided by bidirectional type checking. From our proof of decidability, we obtain a certified and executable type checker for a full-fledged version of MLTT with support for Π, Σ, ℕ, and Id types, and one universe. Our development does not rely on impredicativity, induction-recursion or any axiom beyond MLTT extended with indexed inductive types and a handful of predicative universes, thus narrowing the gap between the object theory and the metatheory to a mere difference in universes. Furthermore, our formalization choices are geared towards a modular development that relies on Coq's features, e.g. universe polymorphism and metaprogramming with tactics.Keywords
This publication has 7 references indexed in Scilit:
- Impredicative Observational EqualityProceedings of the ACM on Programming Languages, 2023
- Observational equality: now for goodProceedings of the ACM on Programming Languages, 2022
- The Braga Method: Extracting Certified Algorithms from Complex Recursive Schemes in Coq2021
- The MetaCoq ProjectJournal of Automated Reasoning, 2020
- A Coq formalization of normalization by evaluation for Martin-Löf type theory2018
- Type classes for mathematics in type theoryMathematical Structures in Computer Science, 2011
- Local type inferenceACM Transactions on Programming Languages and Systems, 2000