Formal development of programs and proofs. - Dijkstra, Edsger W. (Addison-Wesley Publishing Co., 1990)