Invariants
An invariant is a logical statement that always holds at a particular step in an algorithm (or program).
A loop invariant is an invariant that holds at every iteration of a loop.
Invariants can be expressed:
- in logical notation (e.g., 0 ? i < n)
- as a schematic diagram (as above).