The Liskov substitution principle is one possible definition of subtype, a kind of datatype. The name is 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:
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 (e.g., correctness).