• Let Φ(x) be a property provable about objects x of type T. Then Φ(y) should be true for objects y of type S where S is a subtype of T. http://rubyblog.pro/2017/06/solid-liskov-substitution-principle
LSP Liskov Substitution Principle • objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program http://rubyblog.pro/2017/06/solid-liskov-substitution-principle