About the square/rectangle example, what would be the solution? The Square subclass should not verify equality with width and height or it should not even exist? Or something else?
-- edit Wikipedia: If Square and Rectangle had only getter methods (i.e., they were immutable objects), then no violation of LSP could occur.