# Safe Arithmetic Contract

> Check operands before calculation, reject division by zero, reject non-finite results, enforce bounds, and return nullable or typed failure instead of unsafe numeric state.

Record: `algorithms:safe-arithmetic-contract`
Kind: algorithm
Canonical: https://banes-lab.com/ontology/algorithms#algorithms-safe-arithmetic-contract
Closure: https://banes-lab.com/json/records/algorithms/safe-arithmetic-contract/closure

Listed in [Algorithm contracts](https://banes-lab.com/api/records/algorithms.md), after [Defensive String Normalization](https://banes-lab.com/records/algorithms/defensive-string-normalization.md) and before [Recursion Control](https://banes-lab.com/records/algorithms/recursion-control.md).

## Domain

- [Context verification](https://banes-lab.com/records/algorithms-domain/context-verification.md)

## Stage

- [act](https://banes-lab.com/records/stage/act.md)

## Axis

- [formalization](https://banes-lab.com/records/reasoning/axis-formalization.md)

## Tier

- [process](https://banes-lab.com/records/vocabulary/domain-tier-process.md)

## Math type

- [Logic](https://banes-lab.com/records/reasoning/math-type-logic.md)

## Force

- [Contract compatibility](https://banes-lab.com/records/force/contract-compatibility.md)

## Linked from

- [The derivation loop](https://banes-lab.com/ontology/reasoning/reasoning-loop-derivation-loop.md)
- [The axes](https://banes-lab.com/ontology/reasoning/the-axes.md)
- [The mathematics](https://banes-lab.com/ontology/reasoning/the-mathematics.md)
- [Domain tiers](https://banes-lab.com/ontology/schema/the-vocabulary-domain-tier.md)
- [The forces](https://banes-lab.com/ontology/schema/the-forces.md)
