The Design of well-structured and correct programs - Alagic, Suad (New York Springer-Verlag, 1978)