The Liskov substitution principle is one and considered only one definition of subtype, a kind of datatype. The name commonly used in the field of object-oriented computer programming for the definition of subtype introduced by Barbara Liskov and Jeannette Wing in a 1993 paper entitled Family Values: A Behavioral Notion of Subtyping. It was formulated in a subsequent paper as follows:

Let q(x) be a property provable about objects x of type T. Then q(y) should be true for objects y of type S where S is a subtype of T.

Thus, the notion of "subtype" is based on the notion of substitutability; that is, if S is a subtype of T, then objects of type T in a program may be substituted with objects of type S, without altering any of the desirable properties of that program (eg. correctness).

External Links

Citeseer page for the original paper: