Algebraic Semantics of Imperative Programs by Grant Malcolm & Joseph Goguen