Program Construction by Roland C. Backhouse