The present book 1 provides a rigorous treatment and coherent presentation of
the consolidated results of the authors' work, over the past four years, on the
employment of logic programming as a representational and reasoning tool.
It comes out of a background of a world-wide research effort for at least the
past six years on the improvement of the semantical basis, the procedures,
and the applications of logic programs, thereby showing how they can be
used to enact ever wider forms of reasoning by virtue of their rich knowledge
representation ability.
The book is a research monograph intended for a diverse public at the
post-graduate level: for AI researchers looking for a represeutation language
and implementation vehicle for carrying out reasoning tasks; for those interested
in the relationships between logic programming and non-monotonic reasoning,
both from a theoretical and an implementation viewpoint; for those of
the logic programming persuasion wishing to use logic programming for nonmonotonic
reasoning; for the Prolog aficionados looking to overcome some of
its limitations.
The book also serves as a good platform for understanding the exciting
innovations and ongoing research in this rapidly evolving field. It is suitable
as well for a MSc level course, and the material has in fact been used by us
for just that purpose.
As the first monograph in the field, this state-of-the-art survey provides a rigorous presentation of logic programs as representational and reasoning tools. The authors used this book successfully as a text for a MSc course. The use of logic programming for various types of reasoning, particularly for nonmonotonic reasoning, is thoroughly investigated and illustrated and a variety of knowledge representation formalisms, like default negation, integrity constraints, default rules, etc., are treated in depth. Besides the main text, detailed introductory background and motivational information is included together with a bibliography listing 215 entries as well as the listing of the Prolog interpreter used in the text for running numerous examples.