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

The Substitution Paradox

There is a curious paradox that lies at the heart of most strongly typed object-oriented programming languages. If substitution only makes sense for subtypes and not for all subclasses, why do programming languages based the validity of assignment on subclasses?
Intro OOP, Chapter 10, Slide 07