# Exhaustive State Reasoning

> The ability to enumerate and reason about every state a system can occupy and every transition between them.

Record: `lexicon:exhaustive-state-reasoning`
Kind: capability
Layer: [Design Patterns Core](https://banes-lab.com/records/layer/design-patterns-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-exhaustive-state-reasoning

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Deferred Execution](https://banes-lab.com/records/lexicon/deferred-execution.md) and before [Framework Reuse](https://banes-lab.com/records/lexicon/framework-reuse.md).

## Category

- [Behavioral Patterns](https://banes-lab.com/records/lexicon-category/behavioral-patterns.md)

## Enabled by

- [Finite State Machine](https://banes-lab.com/records/architecture/finite-state-machine.md)

## Linked from

- [Behavioral Patterns](https://banes-lab.com/ontology/principles/architecture-category-behavioral-patterns.md)
