Definitional Functoriality for Dependent (Sub)Types
Résumé
Dependently-typed proof assistant rely crucially on definitional equality,
which relates types and terms that are automatically identified in
the underlying type theory.
This paper extends type theory with definitional functor laws,
equations satisfied propositionally by a large class of container-like type
constructors F : Type → Type, equipped with a mapF : (A → B) → F A → F B$, such as lists or trees.
Promoting these equations to definitional ones strengthen the theory, enabling
slicker proofs and more automation for functorial type constructors.
This extension is used to modularly justify a structural form of coercive
subtyping, propagating subtyping through type formers in a map-like fashion.
We show that the resulting notion of coercive subtyping, 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) |
---|