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