Using Z. Specification, refinement, and proof.

*(English)*Zbl 0855.68060
London: Prentice Hall. xvi, 386 p. (1996).

The book is an in-depth introduction to the specification language \(Z\). It is primarily directed to the user; the background theory is – with the exception of the natural deduction calculus, see below – only introduction as far as necessary. With respect to the many \(Z\) books already on the market, a significant novel feature is the integration of \(Z\) with the refinement calculus and data refinement. The overall presentation is fluent, with many well-chosen examples. Throughout the authors strive to make reading as entertaining as possible. However, there are quite a number of minor unclarities, inconsistencies and errors (both in semantics and spelling). This gives the impression that the book was finished somewhat in a rush. What I find least satisfactory about the book is the broad and tedious exposition of the natural deduction calculus, which is not used further on in the book. Rather, most proofs are omitted and replaced by an appeal to the reader’s intuition. Is this adquate for promoting a discipline of formal specification and reasoning? Another disappointment is that in those places where proofs are given, the treatment often is quite cumbersome. In particular, although all necessary notions from the relational calculus are introduced, its algebraic properties are not mentioned; many of the proofs about relational notions could have been given much more simply and elegantly by relational algebra than in the pointwise fashion used in the book. Nevertheless I think the book is interesting and worthwhile reading for newcomers to \(Z\) with a certain amount of mathematical inclination.

Reviewer: B.MĂ¶ller (Augsburg)

##### MSC:

68Q60 | Specification and verification (program logics, model checking, etc.) |

68-01 | Introductory exposition (textbooks, tutorial papers, etc.) pertaining to computer science |