Contents
1
Facts, Rules, and Queries
1.1 Some Simple Examples
1.2 Prolog Syntax
1.3 Exercises
1.4 Practical Session
2 Unification and Proof Search
2.1 Unification
2.2 Proof Search
2.3 Exercises
2.4 Practical Session
3 Recursion
3.1 Recursive Definitions
3.2 Rule Ordering, Goal Ordering, and Termination
3.3 Exercises
3.4 Practical Session
4 Lists
4.1 Lists
4.2 Member
4.3 Recursing down Lists
4.4 Exercises
4.5 Practical Session
5 Arithmetic
5.1 Arithmetic in Prolog
5.2 A Closer Look
5.3 Arithmetic and Lists
5.4 Comparing Integers
5.5 Exercises
5.6 Practical Session
6 More Lists
6.1 Append
6.2 Reversing a List
6.3 Exercises
6.4 Practical Session
7 Definite Clause Grammars
7.1 Context Free Grammars
7.2 Definite Clause Grammars
7.3 Exercises
7.4 Practical Session
8 More Definite Clause Grammars
8.1 Extra Arguments
8.2 Extra Goals
8.3 Concluding Remarks
8.4 Exercises
8.5 Practical Session
9 A Closer Look at Terms
9.1 Comparing Terms
9.2 Terms with a Special Notation
9.3 Examining Terms
9.4 Operators
9.5 Exercises
9.6 Practical Session
10 Cuts and Negation
10.1 The Cut
10.2 Using Cut
10.3 Negation as Failure
10.4 Exercises
10.5 Practical Session
11 Database Manipulation and Collecting Solutions
11.1 Database Manipulation
11.2 Collecting Solutions
11.3 Exercises
11.4 Practical Session
12 Working With Files
12.1 Splitting Programs over Files
12.2 Writing to Files
12.3 Reading from Files
12.4 Exercises
12.5 Practical Session
Predicate Index
Subject Index
1.1 Some Simple Examples
1.2 Prolog Syntax
1.3 Exercises
1.4 Practical Session
2 Unification and Proof Search
2.1 Unification
2.2 Proof Search
2.3 Exercises
2.4 Practical Session
3 Recursion
3.1 Recursive Definitions
3.2 Rule Ordering, Goal Ordering, and Termination
3.3 Exercises
3.4 Practical Session
4 Lists
4.1 Lists
4.2 Member
4.3 Recursing down Lists
4.4 Exercises
4.5 Practical Session
5 Arithmetic
5.1 Arithmetic in Prolog
5.2 A Closer Look
5.3 Arithmetic and Lists
5.4 Comparing Integers
5.5 Exercises
5.6 Practical Session
6 More Lists
6.1 Append
6.2 Reversing a List
6.3 Exercises
6.4 Practical Session
7 Definite Clause Grammars
7.1 Context Free Grammars
7.2 Definite Clause Grammars
7.3 Exercises
7.4 Practical Session
8 More Definite Clause Grammars
8.1 Extra Arguments
8.2 Extra Goals
8.3 Concluding Remarks
8.4 Exercises
8.5 Practical Session
9 A Closer Look at Terms
9.1 Comparing Terms
9.2 Terms with a Special Notation
9.3 Examining Terms
9.4 Operators
9.5 Exercises
9.6 Practical Session
10 Cuts and Negation
10.1 The Cut
10.2 Using Cut
10.3 Negation as Failure
10.4 Exercises
10.5 Practical Session
11 Database Manipulation and Collecting Solutions
11.1 Database Manipulation
11.2 Collecting Solutions
11.3 Exercises
11.4 Practical Session
12 Working With Files
12.1 Splitting Programs over Files
12.2 Writing to Files
12.3 Reading from Files
12.4 Exercises
12.5 Practical Session
Predicate Index
Subject Index