Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Standard view
Full view
of .

Introduction
1.1 Declarative vs Procedural Programming
1.2 What Kind of Logic?
1.3 A Warning
1.4 A Request
Knowledge Representation
2.1 Propositional Calculus
2.2 First Order Predicate Calculus
2.3 We Turn to Prolog
2.4 Prolog Constants
2.5 Goals and Clauses
2.6 Multiple Clauses
2.7 Rules
2.8 Semantics
2.11 Rules and Disjunctions
2.12 Both Disjunctions and Conjunctions
2.13 What You Should Be Able To Do
Prolog’s Search Strategy
3.1 Queries and Disjunctions
3.2 A Simple Conjunction
3.3 Conjunctions and Disjunctions
3.4 What You Should Be Able To Do
4.1 Uniﬁcation
4.2 Recursion
4.3 Lists
4.4 What You Should Be Able To Do
The Box Model of Execution
5.1 The Box Model
5.2 The Flow of Control
5.3 An Example using the Byrd Box Model
5.4 An Example using an AND/OR Proof Tree
5.5 What You Should Be Able To Do
6.1 The ‘Reversibility’ of Prolog Programs
6.3.1 Program Patterns
6.3.2 Reconstructing Lists
6.4 Proof Trees
6.5 What You Should Be Able To Do
Control and Negation
7.1 Some Useful Predicates for Control
7.2 The Problem of Negation
7.2.1 Negation as Failure
7.2.2 Using Negation in Case Selection
7.3 Some General Program Schemata
7.4 What You Should Be Able To Do
Parsing in Prolog
8.1 Simple English Syntax
8.2 The Parse Tree
8.3 First Attempt at Parsing
8.4 A Second Approach
8.5 Prolog Grammar Rules
8.6 To Use the Grammar Rules
8.7 How to Extract a Parse Tree
8.9 What You Should Be Able To Do
Modifying the Search Space
9.1 A Special Control Predicate
9.1.1 Commit
9.1.2 Make Determinate
9.1.3 Fail Goal Now
9.2 Changing the Program
9.2.1 Do Not Do It!
9.2.2 Sometimes You have To!
9.3 What You Should Be Able To Do
10.1 Constants
10.2 Variables
10.3 Compound Terms
10.4 (Compound) Terms as Trees
10.5 Compound Terms and Uniﬁcation
10.6 The Occurs Check
10.7 Lists Are Terms Too
10.8 How To Glue Two Lists Together
10.9 Rules as Terms
10.10 What You Should Be Able To Do
11.1 The Three Forms
11.1.1 Inﬁx
11.1.2 Preﬁx
11.1.3 Postﬁx
11.2 Precedence
11.3 Associativity Notation
11.3.1 Inﬁx Operators
11.3.2 The Preﬁx Case
11.3.3 Preﬁx Operators
11.3.4 Postﬁx Operators
11.4 How to Find Operator Deﬁnitions
11.5 How to Change Operator Deﬁnitions
11.6 A More Complex Example
11.7 What You Should Be Able To Do
12.1 Powerful Features
12.1.1 Powerful Features Typing
12.1.2 Powerful Features Splitting Up Clauses
12.1.3 Powerful Features Comparisons of Terms
12.1.4 Powerful Features Finding All Solutions
12.1.5 Powerful Features Find Out about Known Terms
12.2 Open Lists and Diﬀerence Lists
12.3 Prolog Layout
12.4 Prolog Style
12.4.1 Side Eﬀect Programming
12.5 Prolog and Logic Programming
12.5.1 Prolog and Resolution
12.5.2 Prolog and Parallelism
12.5.3 Prolog and Execution Strategies
12.5.4 Prolog and Functional Programming
12.5.5 Other Logic Programming Languages
12.6 What You Should Be Able To Do
A Short Prolog Bibliography
C.1 Exercise 2.1
C.2 Execise 2.2
C.3 Exercise 2.3
C.4 Exercise 2.4
C.5 Exercise 2.5
C.6 Exercise 2.6
C.7 Exercise 2.7
D.1 Exercise 3.1
D.2 Exercise 3.2
E.1 Exercise 4.1
E.2 Exercise 4.2
E.3 Exercise 4.3
F.1 Exercise 6.1
G.1 Exercise 8.1
H.1 Exercise 9.1
0 of .
Results for:
P. 1
brna-prolog-book

# brna-prolog-book

Ratings: (0)|Views: 235|Likes:

### Availability:

See more
See less

05/04/2012

pdf

text

original

Pages 4 to 20 are not shown in this preview.
Pages 24 to 39 are not shown in this preview.
Pages 43 to 63 are not shown in this preview.