Program Construction by D.J. Cooke & R.G. Stone