Abstract data type invariant
= Abstract data type invariant
A condition describing legal abstract states, independently of their concrete storage. A bounded-key <multiset> has nonnegative counts and zero counts outside its allowed range. A <representation invariant> instead constrains implementation states; an <abstraction function> connects a valid representation to its abstract state. The two kinds of <invariant> should not be conflated.