##
**Foundations of logic programming.
1st corr. print. 2nd ext. ed.**
*(English)*
Zbl 0807.68001

Symbolic Computation. Artificial Intelligence. Berlin: Springer-Verlag. XII, 212 p. DM 100.00/hbk (1993).

This is the second edition of the most important book on the mathematical foundations of logic programming. It collects and unifies the basic theoretic results that have previously only been available in research papers.

The book is organized into six chapters: preliminaries, definite programs, normal programs, programs, deductive databases, perceptual processes. Compared with the previous edition (1984; Zbl 0668.68004) this edition has bout 70% more material and two new chapters. The first chapter contains now all the preliminary results. The second chapter contains both the declarative and procedural semantics of definite programs. In addition to the first edition, chapter 2 contains now a proof of the result that every computable function can be computed by a definite program. Further material on negation ha been added to chapter 3, including discussions of the consistency of the completion of a normal program, the floudering of SLDNF-resolution, and the completeness of SLDNF-resolution for hierarchical programs. The fourth chapter contains a discussion of SLDNF-resolution programs, the main result being the soundness of the negation as failure rule and SLDNF-resolution. The fifth chapter gives a theoretical foundation for deductive database systems. The main result of this chapter are soundness and completeness results for the query evaluation process and a simplification theorem for integrity constraint checking. The last chapter is concerned with the semantics of perpetual processes and is the same as the last chapter of the first edition.

The book is self-contained, but familiarity with PROLOG and knowledge of some basic undergraduate mathematics (mathematical logic, induction, metric spaces) is required. The material is indispensable as a reference book for researchers. Along with presenting technical results, many examples and problems are included. Therefore, this is also a suitable text book for a graduate course on logic programming and deductive database systems.

The book is organized into six chapters: preliminaries, definite programs, normal programs, programs, deductive databases, perceptual processes. Compared with the previous edition (1984; Zbl 0668.68004) this edition has bout 70% more material and two new chapters. The first chapter contains now all the preliminary results. The second chapter contains both the declarative and procedural semantics of definite programs. In addition to the first edition, chapter 2 contains now a proof of the result that every computable function can be computed by a definite program. Further material on negation ha been added to chapter 3, including discussions of the consistency of the completion of a normal program, the floudering of SLDNF-resolution, and the completeness of SLDNF-resolution for hierarchical programs. The fourth chapter contains a discussion of SLDNF-resolution programs, the main result being the soundness of the negation as failure rule and SLDNF-resolution. The fifth chapter gives a theoretical foundation for deductive database systems. The main result of this chapter are soundness and completeness results for the query evaluation process and a simplification theorem for integrity constraint checking. The last chapter is concerned with the semantics of perpetual processes and is the same as the last chapter of the first edition.

The book is self-contained, but familiarity with PROLOG and knowledge of some basic undergraduate mathematics (mathematical logic, induction, metric spaces) is required. The material is indispensable as a reference book for researchers. Along with presenting technical results, many examples and problems are included. Therefore, this is also a suitable text book for a graduate course on logic programming and deductive database systems.

Reviewer: R.Andonie (Braşov)

### MSC:

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

68N17 | Logic programming |

68T27 | Logic in artificial intelligence |

68T99 | Artificial intelligence |

68T30 | Knowledge representation |