Introduction to programming with specifications - a mathematical approach. - Ryszard Kubiak; Roman Rudzinski; Stefan Sokolowski (Academic Press, 1991)