Introduction To Formal Specification And Z by Ben Potter & David Till