The Free On-line Dictionary of Computing (30 December 2018):
Liskov substitution principle
    (LSP) The principle that
   object-oriented functions that use pointers or
   references to a base class must be able to use objects of
   a derived class without knowing it.
   Barbara Liskov first wrote it as follows: If for each object
   o1 of type S there is an object o2 of type T such that for all
   programs P defined in terms of T, the behaviour of P is
   unchanged when o1 is substituted for o2 then S is a subtype
   of T.
   A function that violates the LSP uses a reference to a base
   class and must know about all the derivatives of that base
   class.  Such a function violates the open/closed principle
   because it must be modified whenever a new derivative of the
   base class is created.
   [Liskov, B. Data Abstraction and Hierarchy, SIGPLAN
   Notices. 23(5), May 1988].
   (2001-09-14)