This is done by building a new type system in which a type T 2 contains all the members of every type T 1 such that T 1 is coercible to T 2 . Foundations for the implementation of higher-order subtyping . Foundations for the implementation of higher-order subtyping . Furthermore, the ability to type check intermediate code provides an . Foundations for the implementation of higherorder subtyping .
T is a supertype of T that contains all the elements of T and also all divergent terms.
A total type is one that contains only convergent terms. Aside from its advantages for formal program reasoning, embedding programming languages into type theory allows a researcher to bring the full power of type theory to bear on a programming problem. Foundations for the implementation of higher-order subtyping . Furthermore, the type translation partially specifies the corresponding term translation and often captures the critical concerns in an elegant and succinct fashion. Foundations for the implementation of higher-order subtyping .