Extensible Universes for Object-oriented Data Models
The authors present a datatype package that enables the shallow embedding technique to object-oriented specification and programming languages. This datatype package incrementally compiles an object-oriented data model to a theory containing object-universes, constructors, accessor's functions, coercions between dynamic and static types, characteristic sets, their relations reflecting inheritance, and the necessary class invariants. The package is conservative, i.e., all properties are derived entirely from axiomatic definitions. As an application, they use the package for an object-oriented core-language called IMP++, for which correctness of a hoare-logic with respect to an operational semantics is proven.