Genesereth, Michael Introduction to Logic Programming (1681737248)
This is an introduction to Logic Programming theory, current technology, and popular applications. It is an innovative, model-theoretic approach to logic programming.
Logic Programming is a style of programming in which programs take the form of sets of sentences in the language of Symbolic Logic. Over the years, there has been growing interest in Logic Programming due to applications in deductive databases, automated worksheets, Enterprise Management (business rules), Computational Law, and General Game Playing.
It begins with the fundamental notion of datasets, i.e., sets of ground atoms. Given this fundamental notion, it then introduces views, i.e., virtual relations; and defines classical logic programs as sets of view definitions, written using traditional Prolog-like notation but with semantics given in terms of datasets rather than implementation. It then introduces actions, i.e., additions and deletions of ground atoms; and defines dynamic logic programs as sets of action definitions.
In addition to the printed book, there is an online version of the text with an interpreter and a compiler for the language used in the text and an integrated development environment for use in developing and deploying practical logic programs.