An Introduction to Programming in Prolog

This book is an introduction to Prolog (£rQgramming 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 origi...

Full description

Bibliographic Details
Main Author: Saint-Dizier, Patrick
Format: eBook
Language:English
Published: New York, NY Springer New York 1990, 1990
Edition:1st ed. 1990
Subjects:
Online Access:
Collection: Springer Book Archives -2004 - Collection details see MPG.ReNa
LEADER 05336nmm a2200337 u 4500
001 EB000619488
003 EBX01000000000000000472570
005 00000000000000.0
007 cr|||||||||||||||||||||
008 140122 ||| eng
020 |a 9781461233329 
100 1 |a Saint-Dizier, Patrick 
245 0 0 |a An Introduction to Programming in Prolog  |h Elektronische Ressource  |c by Patrick Saint-Dizier 
250 |a 1st ed. 1990 
260 |a New York, NY  |b Springer New York  |c 1990, 1990 
300 |a XI, 184 p  |b online resource 
505 0 |a 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 --  
505 0 |a 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 --  
505 0 |a Appendix B Main Predefined Predicates 
505 0 |a 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 --  
653 |a Computer programming 
653 |a Programming Languages, Compilers, Interpreters 
653 |a Programming languages (Electronic computers) 
653 |a Programming Techniques 
653 |a Artificial Intelligence 
653 |a Artificial intelligence 
041 0 7 |a eng  |2 ISO 639-2 
989 |b SBA  |a Springer Book Archives -2004 
856 4 0 |u https://doi.org/10.1007/978-1-4612-3332-9?nosfx=y  |x Verlag  |3 Volltext 
082 0 |a 006.3 
520 |a This book is an introduction to Prolog (£rQgramming 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