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