THE CLASSICAL DECISION PROBLEM (Perspectives in Mathematical Logic) By Egon Börger, Erich Grädel and Yuri Gurevich: 482 pp., DM.158.–, ISBN 3 540 57073 X (Springer, 1997).

The Decision Problem (Entscheidungsproblem) was brought to the attention of the mathematical community by Hilbert in 1922 as part of his formalist programme for the foundations of mathematics, and he considered it to be the most important problem of mathematical logic at the time. It consists in finding an algorithm which, when given an arbitrary well-formed formula of first-order logic as input, eventually terminates and reveals whether or not that formula is satisfiable (that is, whether it is true under some interpretation of the predicate symbols and function symbols occurring in the formula). Already, in 1915, Lo$ wenheim had provided a positive solution for formulas containing, apart from equality, only unary predicate symbols (and no function symbols), and many other special cases were solved in the twenties and early thirties. (One such result appeared in the paper [2] which is now much better known for its combinatorial method—Ramsey’s Theorem—than for its original logical purpose.) However, doubts were beginning to grow as to whether there could be an algorithm for the general case, although, as von Neumann remarked in 1927, ‘... we have no clue as to how... a proof of undecidability would go’. To understand why everything suddenly happened in 1936, the interested reader might like to consult [1]. Suffice it to say here that this year saw the development of both the Go$ del–Herbrand–Kleene theory of recursive functions and, independently, the equivalent notion of machine computable sets of words (on a finite formal alphabet) by Turing. The widely accepted Church–Turing thesis asserts that either of these mathematically precise notions captures the intuitive concept of ‘algorithm’, and so from that time we have had a convincing method to demonstrate undecidability rigorously. Indeed, the method was immediately applied by Church (indirectly by formalizing recursive function theory within logic, and then using the completeness theorem to equate satisfiability with consistency) and Turing (by directly coding his machines into interpretations of certain formulas) to prove the unsolvability of the Entscheidungsproblem. There remained the issue of completing the work begun by Lo$ wenheim; that is, of classifying the various natural subclasses of the class of all first-order formulas according to the decidability or otherwise of their satisfiability problem. It is the aim of the book under review to present as many results in this direction as is feasible, and it achieves this with authority and considerable clarity. The project begins with the observation from elementary logic that any wellformed formula is logically equivalent to one in which all the quantifiers are pushed to the front (so-called prenex normal form). The shape of this quantifier prefix is then used to classify the formula. For example, d*c# d* denotes the class of all formulas logically equivalent to one having the form