This paper extends Martin-Löf Type Theory (MLTT) with definitional functor laws for type constructors like lists, trees, and dependent products, enabling slicker proofs and more automation for functorial type constructors. It also uses this functorial structure to modularly justify a structural form of coercive subtyping.
Coinductive predicates have an equivalent topological counterpart in terms of coinductively generated positivity relations, and inductive predicates are equivalent to inductively generated basic covers in dependent type theory.
Bidirectional typing is a typing discipline that decomposes the typing judgment into inference and checking modes, allowing to control the flow of type information in typing rules and specify algorithmically how they should be used. This work provides a generic account of bidirectional typing for a general class of dependent type theories.