An introduction to programming in Prolog

Bibliographic Information

An introduction to programming in Prolog

by Patrick Saint-Dizier ; translated by Sharon J. Hamilton

Springer-Verlag, 1989, c1990

  • : u.s.
  • : germany

Other Title

Initiation à la programmation en Prolog

Available at  / 21 libraries

Search this Book/Journal

Note

Translation of: Initiation à la programmation en Prolog

Includes bibliographical references

Description and Table of Contents

Description

This book is an introduction to Prolog (GBPrQgramming in ~ic). It presents the basic foundations of Prolog and basic and fundamental programming methods. This book is written for programmers familiar with other programming languages, as well as for novices in computer science, willing to have an original introduction to programming. The approach adopted in this book is thus based on methodological elements together with some pragmatic aspects. The book is composed of two parts. In the fIrst part the major aspects of programming in Prolog are presented step by step. Each new aspect is illustrated by short examples and exercises. The second part is composed of more developed examples, which are often games, that illustrate major aspects of artifIcial intelligence. More advanced books are given in the bibliography and will allow the reader to deepen his or her know ledge of Prolog. Prolog was first designed in France at OJ.A., Marseille, with a specific syntax. We have adopted here a more common notation, defIned at Edinburgh, which tends to be an implicit norm. At the end of each chapter of the fIrst part, there are exercises that the reader is invited to do and to test on his or her machine. Complete answers are given in Appendix A, at the end of the book.

Table of Contents

1 Representing Facts in Prolog.- 1. Trees.- 2. Facts.- 3. Properties and Relations.- 4. Introducing Facts in Prolog.- Exercises.- 2 Querying the Fact Base.- 1. Elementary Questions.- 2. Questions with Variables.- 3. Conjunction of Elementary Questions.- 4. An Example of a Prolog Execution.- Exercises.- 3 Expressing Rules.- 1. Advantages of Rules.- 2. Constructing a Rule.- 3. Rules without Conditions.- 4. Rules and Logic.- 5. Facts and Rules with Complex Arguments.- 6 Summary.- Exercises.- 4 Syntax of Prolog. The Unification Mechanism.- 1. Numbers and Atoms.- 2. Variables.- 3. Terms.- 4. Clauses.- 5. Formal Definitions of Terms and Clauses.- 6. Substitutions.- 7. Unification of Terms.- Exercises.- 5 Arithmetic Operations.- 1. Arithmetic Operators.- 2. Logical Operators.- 3. Application to Databases.- 6 Procedures.- 1. The Problem.- 2. Procedures.- 3. Execution Order of Clauses in a Procedure.- 4. Procedures and Classical Programming.- Exercises.- 7 Recursion.- 1. Recursion and Recurrence.- 2. Paths in a Graph.- 3. Calculating the Length of a Path.- Exercises.- 8 Structure and Management of Control.- 1. Control Structure.- 2. The Execution Process.- 3. Predicates for Controlling Resolution.- 4. Negation as Failure.- Exercises.- 9 Lists.- 1. Representing Lists.- 2. Searching for an Element in a List.- 3. Set Operations.- 4. Concatenation of Two Lists.- 5. Palindromes.- Exercises.- 10 Predefined Predicates.- 1. Identifying Kinds of Terms.- 2. Decomposition and Construction of Terms.- 3. Input-Output Operations.- 4. Defining New Operators.- Exercises.- 11 Some Programming Advice.- 1. General Principles.- 2. Top-Down Approach.- 3. Testing Prolog Programs.- 4. Thinking in Prolog.- 5. Toward Applications.- 12 Formal Aspects of Programming in Logic.- 1. First-Order Logic.- 2. Clausal Forms and Horn Clauses.- 3. Declarative and Procedural Semantics of Prolog.- 4. SLD Resolution.- 5. SLD Resolution in Prolog.- 6. Meaning of a Program.- 13 Playing with Words.- 1. Crisscross Puzzles.- 2. The Game of Domino.- 3. The Longest Word.- 14 Deductive Databases.- 1. Basic Structures.- 2. A Film Database.- 3. Basic Operations.- 4. Advanced Tools.- 5. Expressing Integrity Constraints.- 6. Problems of Quantification.- 7. A World with Three Truth Values.- 15 An Expert System about Animals.- 1. Structure of an Expert System.- 2. Modeling a Problem.- 3. Guessing Names of Animals.- 4. Toward Actual Expert Systems.- 16 Count It Out.- 1. The Basic Game.- 2. A More Complex Calculation.- 3. Searching for an Approximate Solution.- 17 The Automatic Analysis of Natural Language.- 1. Natural Language and Logic.- 2. Introduction to Logic Grammar.- 3. Semantic Constraints.- 4. Generation of Natural Language.- 5. Automatic Construction of an Analyzer.- 6. A More Complex Logical Formula.- 7. Toward an Evaluator.- Appendix A Exercise Answers.- Appendix B Main Predefined Predicates.

by "Nielsen BookData"

Details

  • NCID
    BA10187251
  • ISBN
    • 0387971440
    • 3540971440
  • LCCN
    89039409
  • Country Code
    us
  • Title Language Code
    eng
  • Text Language Code
    eng
  • Original Language Code
    fre
  • Place of Publication
    New York ; Tokyo
  • Pages/Volumes
    xi, 184 p.
  • Size
    24 cm
  • Classification
  • Subject Headings
Page Top