🤖 AI Summary
This work addresses the challenge of precisely controlling variable usage and enabling safe code erasure in dependent type systems. To this end, it introduces the first theoretical framework integrating graded modalities with dependent types, employing a partially ordered semiring to track variable usage quantitatively and incorporating erasability annotations to support compiler optimizations. The system formally accommodates both weak and strong Σ-types along with erasable parameters, and is implemented in Agda. Its metatheoretic properties—including type preservation under reduction, consistency, and normalization—are established via a syntactic Kripke logical relation. Furthermore, in the context of open programs, the paper proves that for a specific class of modalities, the semantics of natural number programs remains invariant after extraction to the untyped λ-calculus.
📝 Abstract
We present a graded modal type theory, a dependent type theory with grades that can be used to enforce various properties of the code. The theory has $Π$-types, weak and strong $Σ$-types, natural numbers, an empty type, and a universe, and we also extend the theory with weak and strong unit types and graded $Σ$-types. The theory is parameterized by a modality structure, a kind of partially ordered semiring, whose elements (grades) are used to track the usage of variables in terms and types. Different modalities are possible. We focus mainly on quantitative properties, in particular erasure: with the erasure modality one can mark function arguments as erasable.
The theory is fully formalized in Agda. The formalization, which uses a syntactic Kripke logical relation at its core and is based on earlier work, establishes major meta-theoretic properties such as subject reduction, consistency, normalization, and decidability of definitional equality. We also prove a substitution theorem for grade assignment, and preservation of grades under reduction. Furthermore we study an extraction function that translates terms to an untyped $λ$-calculus and removes erasable content, in particular function arguments with the "erasable" grade. For a certain class of modalities we prove that extraction is sound, in the sense that programs of natural number type have the same value before and after extraction. Soundness of extraction holds also for open programs, as long as all variables in the context are erasable, the context is consistent, and erased matches are not allowed for weak $Σ$-types.