{"id":"lsp-violation-patterns-reveal-history-constraint","text":"Both the Rectangle-Square problem (coupled setters breaking postconditions) and mutable-subtype-of-immutable (introducing state transitions absent in the supertype) are violations of LSP's history constraint — Liskov and Wing's novel contribution beyond Design by Contract. The history constraint addresses subtle aspects of behavioral subtyping, and these two examples illustrate commonly encountered violations of it.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["lsp-rectangle-square-canonical-violation","lsp-mutable-subtype-of-immutable-violates-history","lsp-history-constraint-novel-contribution"],"outlist":[],"label":"Two canonical violation examples both reduce to history constraint violations, revealing it as the dominant failure mode in practice"}],"dependents":["lsp-dual-role-enabling-and-constraining"],"metadata":{"source_type":"derived","review_result":"invalid","repair_action":"softened"},"created_at":"2026-06-17T18:38:48+00:00","updated_at":"2026-06-18T06:15:08+00:00","reviewed_at":"2026-06-18T06:15:08+00:00","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"lsp-violation-patterns-reveal-history-constraint","truth_value":"IN","reason":"SL justification valid","antecedents":["lsp-rectangle-square-canonical-violation","lsp-mutable-subtype-of-immutable-violates-history","lsp-history-constraint-novel-contribution"],"label":"Two canonical violation examples both reduce to history constraint violations, revealing it as the dominant failure mode in practice"},{"node":"lsp-rectangle-square-canonical-violation","truth_value":"IN","reason":"premise"},{"node":"lsp-mutable-subtype-of-immutable-violates-history","truth_value":"IN","reason":"premise"},{"node":"lsp-history-constraint-novel-contribution","truth_value":"IN","reason":"premise"}]}}