A practical theory of programming - Hehner, Eric C. R. (Springer, 1993)