Summary: Optimal Representations of Polymorphic Types with
Alexander Aiken Edward L. Wimmers Jens Palsberg
Report No. UCB/CSD96909
Computer Science Division (EECS)
University of California
Berkeley, California 94720
Optimal Representations of Polymorphic Types with Subtyping
Alexander Aiken \Lambda Edward L. Wimmers y Jens Palsberg z
Many type inference and program analysis systems include notions of subtyping and parametric
polymorphism. When used together, these two features induce equivalences that allow types to be
simplified by eliminating quantified variables. Eliminating variables both improves the readability of
types and the performance of algorithms whose complexity depends on the number of type variables.
We present an algorithm for simplifying quantified types in the presence of subtyping and prove it
is sound and complete for nonrecursive and recursive types. We also show that an extension of the
algorithm is sound but not complete for a type language with intersection and union types, as well as
for a language of constrained types.