The way of Z practical programming with formal methods - Jacky, Jonathan (Cambridge University Press, Cambridge, 1997)