introduction of function-entry invariants