Introduction to OOP Chapter 10: Subclasses and Subtypes: next previous audio real text

The Undecidability of the Subtype Relationship

It is trivial to determine if one class is a subclass of another.

It is extremely difficult to define meaning (think of the Stack ADT), and even if you can it is almost always impossible to determine if one class preserves the meaning of another.

One of the classic corollaries of the halting problem is that there is no procedure that can determine, in general, if two programs have equivalent behavior.

Intro OOP, Chapter 10, Slide 08