Preface | p. xi |
Core Prolog | |
Prolog Databases | p. 3 |
Elementary Prolog Databases | p. 3 |
Representing a Circuit | p. 8 |
Identification of Hickory Trees | p. 12 |
Syntax | p. 14 |
Using Prolog Systems | p. 18 |
Exercises | p. 22 |
Simple Queries against Databases | p. 26 |
Concrete Questions | p. 26 |
Databases and Reality | p. 29 |
Documentation Style and Comments | p. 31 |
Queries with Variables | p. 32 |
Exercises | p. 35 |
Compound Queries | p. 39 |
Queries with Multiple Literals | p. 39 |
Solving Compound Queries by Backtracking | p. 43 |
Backtracking, Multiple Variables, and Multiple Solutions | p. 50 |
The Logical Interpretation of Prolog Queries | p. 54 |
Facts Containing Variables | p. 58 |
Difference | p. 61 |
Exercises | p. 63 |
Queries and Rules | p. 66 |
Abbreviating Questions by Rules | p. 66 |
Defining Relationships with Rules | p. 74 |
Two Interpretations of Rules | p. 77 |
How Prolog Works | p. 80 |
Tracing Prolog Computations | p. 82 |
How Prolog Applies Rules | p. 87 |
Exercises | p. 96 |
Recursion on Predicates | p. 99 |
The Ancestor Problem | p. 99 |
Path Finding in Graphs | p. 103 |
Representing Systems with State | p. 112 |
Exercises | p. 120 |
Recursion on Terms | p. 126 |
Elementary List Processing | p. 126 |
Reversing and Sorting Lists | p. 134 |
Association Lists | p. 143 |
Trees | p. 150 |
Graphs Revisited | p. 155 |
Exercises | p. 169 |
Pragmatics | p. 172 |
Control: Disjunction, Cut, Negation, and Relatives | p. 172 |
Looking at the Program | p. 178 |
Builtins Affecting the Program | p. 179 |
Comparing Terms and Sorting Lists | p. 182 |
Collecting Information | p. 185 |
Analyzing Terms | p. 189 |
Arithmetic Expressions | p. 192 |
Input/Output | p. 194 |
Operator Declarations | p. 202 |
Exercises | p. 204 |
MetaLevel Programming and Expert Systems | |
Elementary Expert Systems | p. 209 |
Object-Level Expert Systems | p. 209 |
Generate and Test | p. 221 |
Query-the-User | p. 231 |
Accumulating Proofs for Explanations | p. 236 |
Exercises | p. 241 |
MetaLevel Shells | p. 242 |
A Prolog Interpreter in Prolog | p. 242 |
Interpreters for Rule-Based Systems | p. 245 |
Solving Constraints | p. 257 |
Exercises | p. 263 |
Parsing and Definite Clause Grammars | p. 265 |
Stepping-Stone Parsing and List Representation | p. 265 |
Parameter-Free Definite Clause Grammars | p. 272 |
Building an Internal Representation | p. 275 |
Using DCGs with Expert Systems | p. 279 |
Exercises | p. 283 |
Compiling Knowledge | p. 287 |
Exercises | p. 310 |
Mixed Forward and Backward Reasoning | p. 311 |
Exercises | p. 320 |
Appendixes | p. 321 |
Television Schematic and Repair | p. 321 |
Enzyme Sites and Actions | p. 323 |
Cloud Descriptions and Properties | p. 324 |
IRS Filing Rules | p. 330 |
Photography Troubleshooting | p. 333 |
Automobile Engine Problems | p. 336 |
Bibliography | p. 341 |
Index | p. 343 |
Table of Contents provided by Syndetics. All Rights Reserved. |