Algebraic semantics of imperative programs - Goguen, Joseph A. (Foundations of Computing Series / Michael Garey and Albert Meyer, 1996)