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