semantics of Imp