patience: more complete invariant on state