[TYPES] completeness of subtype judgments

Sophia Drossopoulou scd at doc.ic.ac.uk
Tue Apr 25 16:21:04 EDT 2006


Dave Clarke and I have been wondering whether there is any work
on the completeness of type systems, in the presence of subtyping
and rather intricate types.

We have a way of defining what completeness is, but proving it for
a  particular system seems daunting.

Here is how we would define completeness of a type system:

      1) Define a judgment \Gamma |- T <: T’ with the obvious meaning

      2) Define the denotation of a type T for a given stack S
         and heap H, as
                             [[T]]_{S,H}
         as the set of all values with type T in S and H.
        (We need to consider the stack S because we have path-dependent
         types, i.e.  T may mention entities from S.)

      3) Define a judgment \Gamma |- S, H to express when a
         stack S and heap H agree with an environment \Gamma.

      4)  The subtyping system is complete, iff
          \forall \Gamma, T and T’
              (\forall S, H:
               \Gamma |- S,H => [[T]]_{S,H} \subset [[T’]]_{S,H} )
              =>
              ( \Gamma |- T <: T’ )

Our question is whether there are alternative formulations of
completeness, and, more importantly, whether there is work proving
such completeness.

Cheers and thanks,

Dave Clarke and Sophia Drossopoulou

-- ===================================================================
Sophia Drossopoulou Department of Computing,
http://www.doc.ic.ac.uk/~scd/index.html


More information about the Types-list mailing list