(n.) a variable, especially in a DO-loop, that appears only on the right side of an equals sign. The variable is read only, it is never assigned a new value.
An invariant is a type of assertion that describes a relationship between variables that holds as the values of those variables change. A special type of invariant is the loop invariant.
An Assertion about some design element that must be true at all times, except during specifically transient situations such as the middle of the execution of a method, or the middle of an uncommitted database transaction.