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.