Definitional Functoriality for Dependent (Sub)Types
Résumé
Dependently-typed proof assistant rely crucially on a definitional equality, identifying the types and terms
that are automatically undistinguishable for the underlying type theory. This paper extends type theory with
definitional functor laws, two equations satisfied propositionally by a large class of container-like type con-
structors F: Type → Type, equipped with a mapF : (A → B) → F A → F B, such as lists or trees. Promot-
ing these equations to definitional ones strengthen the theory, enabling slicker proofs and more automation
for functorial type constructors. This extension is then used to justify modularly a structural form of coercive
subtyping, propagating subtyping through type formers. We show that the resulting notion of coercive sub-
typing, thanks to the extra definitional equations, is equivalent to a natural and implicit form of subsumptive
subtyping. The key result of decidability of type-checking in a dependent type system with functor laws for
lists has been entirely mechanized in Coq
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|