Principles of Logic and Logic ProgrammingBy
- G. Metakides, Commission of the European Communities, Brussels, Belgium
- A. Nerode, Cornell University, Mathematical Sciences Institute, Ithaca, NY, USA
Logic's basic elements are unfolded in this book. The relation of and the transition from Logic to Logic Programming are analysed.
With the use and the development of computers in the beginning of the 1950's, it soon became clear that computers could be used, not only for arithmetical computation, but also for symbolic computation. Hence, the first arithmetical computation programs, and the first programs created to answer elementary questions and prove simple theorems, were written simultaneously. The basic steps towards a general method based on Logic, were accomplished in 1965 by Robinson and later by Kowalski and Colmerauer who made use of Logic directly as a Logic Programming language.
Each chapter includes solved as well as unsolved exercises provided to help the reader assimilate the corresponding topics. The solved exercises demonstrate how to work methodically, whereas the unsolved exercises aim to stimulate the reader's personal initiative. The contents of the book are self-contained; only an elementary knowledge of analysis is required. Thus, it can be used by students in every academic year, as simply reading material, or in the context of a course. It can also be used by those who utilize Logic Programming without having any particular theoretical background knowledge of Logic, or by those simply interested in Logic and its applications in Logic Programming.
Studies in Computer Science and Artificial Intelligence
Published: June 1996
With a title somehow restrictive and possibly misleading, a lot more being there than just principles, the book actually covers both fields. It does so in a manner likely to satisfy all those interested in artificial intelligence, not only its intended readership i.e. students,
those who utilize Logic Programming without having any particular theoretical background knowledge in Logic and those simply interested in Logic and its applications in Logic Programming.This book cuts no separate edges: instead of being juxtaposed, the two fields permeate each other in an almost osmotic way. Logic entirely retrieves its Aristotelian characteristic of serving as an
&ogr;&rgr;&ggr;&agr;&ngr;&ogr;&ngr;Laying on the solid foundation of an conspicuous teaching experience, the authors interlace the more attractive semantics of the theory of models with the arid accuracy of axiomatic derivation.
Studies in Informatics and Control, 1997
- I: PROPOSITIONAL LOGIC. Introduction. The language of propositional logic. Semantic concepts in propositional logic. Truth tables. Consequences and interpretations. Adequacy of logical connectives - normal forms. Semantic tableaux. Axiomatic proofs. Resolution. Soundness and completeness of tableaux. Deductions from assumptions. Soundness and completeness of axiomatic proofs. Soundness and completeness of resolution. Exercises. II: PREDICATE LOGIC. Introduction. The language of predicate logic. Axiomatic foundation of predicate logic. Notation in logic programming. Interpretations of predicate logic. Normal forms in predicate logic. Herbrand interpretations. Proofs with systematic tableaux. Unification and resolution in PrL. Soundness and completeness of PrL proofs. Decision methods in logic. Exercises. III: LOGIC PROGRAMMING: THE PROLOG PARADIGM. PROLOG and Logic Programming. Logic and programming. Logic programming. Historical evolution. Program Structure. The program elements. The facts. The rules. The queries. Syntax of Data. The objects of PROLOG. The alphabet of PROLOG. The variables. The constants. The predicates. Tree structure of predicates. The lists. Operation Mechanism. The unification procedure in PROLOG. Inference and the backtracking procedure. Depth-first search. Controlling backtracking: cut. Recursive definitions in PROLOG. List management. Built-in Predicates. Data management predicates: assert and retract. Interaction predicates: read, write and consult. Equality in PROLOG. Arithmetic in PROLOG. Type checking of objects. The operators. The Towers of Hanoi. Negation in PROLOG. The closed world assumption and negation by failure. Normal goals. Completion of programs. Normal programs and stratification. The predicate fail. The predicate not. Nonmonotonic logics. Expert Systems. Artificial intelligence. Expert systems and knowledge management. An expert system for kidney diseases. The Evolution of Logic Programming. Editions of PROLOG. Dialects of PROLOG. PROLOG and metaprogramming. PROLOG and parallelism. PROLOG and Predicate Logic. Exercises. Bibliography. Index of Symbols. Index of Terms.