# Contract Preservation

> The requirement that a subtype honor every behavioral guarantee of the type it replaces.

Record: `lexicon:contract-preservation`
Kind: constraint
Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-contract-preservation

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Feature Extension without Modification](https://banes-lab.com/records/lexicon/feature-extension-without-modification.md) and before [Role-Specific Interfaces](https://banes-lab.com/records/lexicon/role-specific-interfaces.md).

## Category

- [SOLID / Object-Oriented Design](https://banes-lab.com/records/lexicon-category/solid-object-oriented-design.md)

## Required by

- [Liskov Substitution Principle](https://banes-lab.com/records/architecture/liskov-substitution.md)

## Linked from

- [SOLID / Object-Oriented Design](https://banes-lab.com/ontology/principles/architecture-category-solid-object-oriented-design.md)
