Using Z: Specification, Refinement, and Proof
Jim Woodcock
This book covers all aspects of the Z notation, including specification, rigorous and formal proof, and refinements into code. It sets out to explain the principles and practice of formal development of programs using Z.