Practical Formal Software Engineering by Bruce Mills & Bruce Ian Mills