Summary: Subtyping with Power Types #
LFCS, University of Edinburgh, U.K.
This paper introduces a typed #calculus called # Power , a predicative reformulation
of part of Cardelli's power type system. Power types integrate subtyping into the typing
judgement, allowing bounded abstraction and bounded quantification over both types
and terms. This gives a powerful and concise system of dependent types, but leads
to di#culty in the metatheory and semantics which has impeded the application of
power types so far. Basic properties of # Power are proved here, and it is given a model
definition using a form of applicative structures. A particular novelty is the auxiliary
system for rough typing, which assigns simple types to terms in # Power . These ``rough''
types are used to prove strong normalization of the calculus and to structure models,
allowing a novel form of containment semantics without a universal domain.
1 Introducing Power Types
Power types were introduced in a seminal paper by Cardelli . The notion is that Power(A)
is a type ``whose elements are all of the subtypes of the type A,''