Logic, Programming and Prolog

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Found within the confines of these pages is a well-written monograph that provides an intuitive account of both the foundations of logic programming and simple programming techniques in Prolog. Only the most important areas of logic programming are considered. The book covers foundations, programming in logic, and alternative logic programming schemes. Within each of these sections are comprehensive explorations covering areas such as SLD-resolution, negation in logic programming, logic and databases, logic and expert systems, logic and grammars, logic programming and concurrency, logic programs with equality, and constraint logic programming. In addition, there are bibliographical notes and answers to selected exercises.

Author(s): Nilsson U., Maluszynski J.
Edition: 2
Publisher: Wiley
Year: 2000

Language: English
Pages: 294

Table of Contents
Preface
Objectives
Prerequsites
Organization
What's new in the second edition
Acknowledgements
I Foundations
1 Preliminaries
1.1 Logic Formulas
1.2 Semantics of Formulas
1.3 Models and Logical Consequence
1.4 Logical Inference
1.5 Substitutions
Exercises
2 Definite Logic Programs
2.1 Definite Clauses
2.2 Definite Programs and Goals
2.3 The Least Herbrand Model
2.4 Construction of Least Herbrand Models
Exercises
3 SLD-Resolution
3.1 Informal Introduction
3.2 Unification
3.3 SLD-Resolution
3.4 Soundness of SLD-resolution
3.5 Completeness of SLD-resolution
3.6 Proof Trees
Exercises
4 Negation in Logic Programming
4.1 Negative Knowledge
4.2 The Completed Program
4.3 SLDNF-resolution for Definite Programs
4.4 General Logic Programs
4.5 SLDNF-resolution for General Programs
4.6 Three-valued Completion
4.7 Well-founded Semantics
Exercises
5 Towards Prolog: Cut and Arithmetic
5.1 Cut: Pruning the SLD-tree
5.2 Built-in Arithmetic
Exercises
II Programming in Logic
6 Logic and Databases
6.1 Relational Databases
6.2 Deductive Databases
6.3 Relational Algebra vsLogic Programs
6.4 Logic as a Query-language
6.5 Special Relations
6.6 Databases with Compound Terms
Exercises
7 Programming with Recursive Data Structures
7.1 Recursive Data Structures
7.2 Lists
7.3 Difference Lists
Exercises
8 Amalgamating Object- and Meta-language
8.1 What is a Meta-language?
8.2 Ground Representation
8.3 Nonground Representation
8.4 The Built-in Predicate clause/2
8.5 The Built-in Predicates assert{a,z}/1
8.6 The Built-in Predicate retract/1
Exercises
9 Logic and Expert Systems
9.1 Expert Systems
9.2 Collecting Proofs
9.3 Query-the-user
9.4 Fixing the Car (Extended Example)
Exercises
10 Logic and Grammars
10.1 Context-free Grammars
10.2 Logic Grammars
10.3 Context-dependent Languages
10.4 Definite Clause Grammars (DCGs)
10.5 Compilation of DCGs into Prolog
Exercises
11 Searching in a State-space
11.1 State-spaces and State-transitions
11.2 Loop Detection
11.3 Water-jug Problem (Extended Example)
11.4 Blocks World (Extended Example)
11.5 Alternative Search Strategies
Exercises
III Alternative Logic Programming Schemes
12 Logic Programming and Concurrency
12.1 Algorithm = Logic + Control
12.2 And-parallelism
12.3 Producers and Consumers
12.4 Don’t Care Nondeterminism
12.5 Concurrent Logic Programming
Exercises
13 Logic Programs with Equality
13.1 Equations and E-unification
13.2 More on E-unification
13.3 Logic Programs with Equality
Exercises
14 Constraint Logic Programming
14.1 Logic Programming with Constraints
14.2 Declarative Semantics of CLP
14.3 Operational Semantics of CLP
14.4 Examples of CLP-languages
Exercises
15 Query-answering in Deductive Databases
15.1 Naive Evaluation
15.2 Semi-naive Evaluation
15.3 Magic Transformation
15.4 Optimizations
Exercises
A Bibliographical Notes
A.1 Foundations
A.2 Programming in Logic
A.3 Alternative Logic Programming Schemes
B Basic Set Theory
B.1 Sets
B.2 Relations
B.3 Functions
C Answers to Selected Exercises
Bibliography
Index