dynamic invariants