====== invariant ======