The design of well-structured and correct programs. Second edition. - Springer Verlag, 1978. - ( Texts and Monographs in Computer Science ).