Programming in Prolog Using the ISO Standard

Since the first edition of this book in 1981, Prolog has continued to attract an unexpectedly great deal of interest in the computer science community and has turned out to be a basis for an important new family of programming languages and systems for Artificial Intelligence. In the preceding three...

Full description

Bibliographic Details
Main Authors: Clocksin, William F., Mellish, Christopher S. (Author)
Format: eBook
Language:English
Published: Berlin, Heidelberg Springer Berlin Heidelberg 1994, 1994
Edition:4th ed. 1994
Subjects:
Online Access:
Collection: Springer Book Archives -2004 - Collection details see MPG.ReNa
LEADER 05958nmm a2200373 u 4500
001 EB000683552
003 EBX01000000000000000536634
005 00000000000000.0
007 cr|||||||||||||||||||||
008 140122 ||| eng
020 |a 9783642975967 
100 1 |a Clocksin, William F. 
245 0 0 |a Programming in Prolog  |h Elektronische Ressource  |b Using the ISO Standard  |c by William F. Clocksin, Christopher S. Mellish 
250 |a 4th ed. 1994 
260 |a Berlin, Heidelberg  |b Springer Berlin Heidelberg  |c 1994, 1994 
300 |a XIV, 282 p  |b online resource 
505 0 |a 6.9 Input and Output -- 6.10 Handling Files -- 6.11 Evaluating Arithmetic Expressions -- 6.12 Comparing Numbers -- 6.13 Watching Prolog at Work -- 7 -- Many example programs are given, covering a wide range of interests. New examples include list processing, set operations, symbolic differentiation and simplification of formulae. -- 7.1 A Sorted Tree Dictionary -- 7.2 Searching a Maze -- 7.3 The Towers of Hanoi -- 7.4 Parts Inventory -- 7.5 List Processing -- 7.6 Representing and Manipulating Sets -- 7.7 Sorting -- 7.8 Using the Database: random, gensym, findall -- 7.9 Searching Graphs -- 7.10 Sift the Two’s and Sift the Three’s -- 7.11 Symbolic Differentiation -- 7.12 Mapping Structures and Transforming Trees -- 7.13 Manipulating Programs -- 8 -- By this point, the reader will be able to write reasonable programs, and so the problem of debugging will be relevant. Flow of control model, hints about common bugs, techniques of debugging. -- 8.1 Laying out Programs --  
505 0 |a D. Edinburgh Prolog -- E. micro-Prolog 
505 0 |a 4.3 Common Uses of the Cut -- 4.4 Problems with the Cut -- 5 -- Facilities available for the input and output of characters and structures. Developing a program to read sentences from the user and represent the sentence as a list of words, which can be used with the Grammar Rules of Chapter 9. -- 5.1 Reading and Writing Terms -- 5.2 Reading and Writing Characters -- 5.3 Reading English Sentences -- 5.4 Reading and Writing Files -- 5.5 Declaring Operators -- 6 -- Definition of the “core” built-in predicates, with sensible examples of how each one is used. By this point, the reader should be able to read reasonably complex programs, and should therefore be able to absorb the built-in predicates by seeing them in use. -- 6.1 Entering New Clauses -- 6.2 Success and Failure -- 6.3 Classifying Terms -- 6.4 Treating Clauses as Terms -- 6.5 Constructingand Accessing Components of Structures -- 6.6 Affecting Backtracking -- 6.7 Constructing Compound Goals -- 6.8 Equality --  
505 0 |a 8.2 Common Errors -- 8.3 The Tracing Model -- 8.4 Tracing and Spy Points -- 8.5 Fixing Bugs -- 9 -- Applications of existing techniques. Using Grammar Rules. Examining the design decisions for some aspects of analysing natural language with Grammar R ules. -- 9.1 The Parsing Problem -- 9.2 Representing the Parsing Problem in Prolog -- 9.3 The Grammar Rule Notation -- 9.4 Adding Extra Arguments -- 9.5 Adding Extra Tests -- 9.6 Summary -- 10 -- Predicate Calculus, clausal form, resolution theorem proving, logic programming. -- 10.1 Brief Introduction to Predicate Calculus -- 10.2 Clausal Form -- 10.3 A Notation for Clauses -- 10.4 Resolution and Proving Theorems -- 10.5 Horn Clauses -- 10.6 Prolog -- 10.7 Prolog and LogicProgramming -- 11 -- A selection of suggested exercises, projects, and problems. -- 11.1 Easier Projects -- 11.2 Advanced Projects -- Appendices -- A. Answers to Selected Exercises -- B. Clausal Form Program Listings -- C. Different Versions of Prolog --  
505 0 |a 1 -- Gives the student a “feel” for what it is like to program in Prolog. Introduces objects, relationships, facts, rules, variables. -- 1.1 Facts -- 1.2 Questions -- 1.3 Variables -- 1.4 Conjunctions -- 1.5 Rules -- 1.6 Summary and Exercises -- 2 -- More detailed presentation of Prolog syntax and data structures. -- 2.1 Syntax -- 2.2 Characters -- 2.3 Operators -- 2.4 Equality and Matching -- 2.5 Arithmetic -- 2.6 Summary of Satisfying Goals -- 3 -- Representing objects and relationships by using “trees” and “lists”. Developing several standard Prolog programming techniques. -- 3.1 Structures and Trees -- 3.2 Lists -- 3.3 Recursive Search -- 3.4 Mapping -- 3.5 Recursive Comparison -- 3.6 Joining Structures Together -- 3.7 Accumulators -- 3.8 Difference Structures -- 4 -- How a set of clauses generates a set of solutions. Using “cut” to modify the control sequence of running Prolog programs. -- 4.1 Generating Multiple Solutions -- 4.2 The “Cut” --  
653 |a Compilers (Computer programs) 
653 |a Compilers and Interpreters 
653 |a Programming Techniques 
653 |a Computer programming 
653 |a Artificial Intelligence 
653 |a Artificial intelligence 
700 1 |a Mellish, Christopher S.  |e [author] 
041 0 7 |a eng  |2 ISO 639-2 
989 |b SBA  |a Springer Book Archives -2004 
028 5 0 |a 10.1007/978-3-642-97596-7 
856 4 0 |u https://doi.org/10.1007/978-3-642-97596-7?nosfx=y  |x Verlag  |3 Volltext 
082 0 |a 005.45 
520 |a Since the first edition of this book in 1981, Prolog has continued to attract an unexpectedly great deal of interest in the computer science community and has turned out to be a basis for an important new family of programming languages and systems for Artificial Intelligence. In the preceding three editions, the authors have steadily added new material, improved the presentation, and corrected various minor errors to provide a textbook as well as a reference work for everyone who wants to study and use Prolog as a practical programming language. The authors concentrate on teaching "core" Prolog. All examples conform to this standard and will run on the most widely-used Prolog implementations some of which are listed in the appendices with indications as to how they diverge from the standard