,
Edwin Brady
Creative Commons Attribution 4.0 International license
Erasure enriches type theory with a distinction between runtime relevant and irrelevant data, allowing the compilation step to safely erase the latter. Versions of this feature are implemented by many systems, including Agda, Idris, and Rocq. We present a structural version of type theory with erasure, formulated as a second-order generalised algebraic theory (SOGAT). Erasure is encoded as a phase distinction between runtime and erased terms, in the form of a proposition that can appear in a context. This formulation has several advantages: it has models based on categories with families, is compatible with other structural features such as staging, and provides a better guideline for implementation. Through the model theory of SOGATs, we study the semantics of type theory with erasure in families of sets, which generalises to any Grothendieck topos equipped with a tiny proposition. We establish conservativity over Martin-Löf type theory (MLTT) in both phases. For code extraction, we construct a presheaf model that produces untyped lambda calculus programs and prove its correctness through gluing. Our results are formalised in Agda and we provide a toy elaborator implementation.
@InProceedings{theocharis_et_al:LIPIcs.FSCD.2026.31,
author = {Theocharis, Constantine and Brady, Edwin},
title = {{Type Theory with Erasure}},
booktitle = {11th International Conference on Formal Structures for Computation and Deduction (FSCD 2026)},
pages = {31:1--31:21},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-433-8},
ISSN = {1868-8969},
year = {2026},
volume = {378},
editor = {Pfenning, Frank},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.FSCD.2026.31},
URN = {urn:nbn:de:0030-drops-263816},
doi = {10.4230/LIPIcs.FSCD.2026.31},
annote = {Keywords: Type theory, erasure, dependent types, compilation, synthetic phase distinction, higher-order abstract syntax, logical frameworks}
}
archived version
archived version
archived version
archived version