1 • Prolog --; 1.1 Why Learn Prolog? --; 1.2 Why Use this book? --; 1.3 Prolog --; 1.4 Limitations of Prolog --; 1.5 Past, Present and Future --; 1.6 Accessibility --; 2 • Logic --; 2.1 Introduction --; 2.2 Traditional Logic --; 2.3 Symbolic Logic --; 2.4 Predicate Logic --; 2.5 Deductive Systems in the Real World --; 3 • Logic Programming --; 3.1 Predicate Logic for Prolog --; 3.2 Clauses in Predicate Logic --; 3.3 Resolution --; 3.4 Computation Rules --; 4 • Prolog Syntax --; 4.1 Entering Statements at Prolog's Command Line --; 4.2 Using a Text Editor to Write a Program --; 4.3 Comments --; 4.4 Terms --; 4.5 Predicates --; 4.6 Clauses --; 4.7 Variables --; 4.8 Logical Connectives --; 4.9 Rules --; 4.10 Empty Heads --; 4.11 Making Queries --; 4.12 Built-in Predicates --; 4.13 Operators --; 4.14 Declaring an Operator --; 4.15 Blank Variables --; 4.16 Equality --; 4.17 Recursion --; 4.18 Updating a Running Program --; 4.19 Lists --; 4.20 Applications --; 5 • Goal Searching and Its Control --; 5.1 Goals --; 5.2 Search Control --; 5.3 Extra Search Control Predicates --; 6 • Arithmetic and Mathematics --; 6.1 Introduction --; 6.2 Arithmetic Predicates --; 6.3 Programs Using Arithmetic Predicates --; 6.4 Mathematical Functions --; 6.5 Mathematical Operations --; 6.6 Application --; 7 • Input and Output Predicates --; 7.1 User Interaction --; 7.2 write (term) and read (term) --; 7.3 get (Ascii), getO (Ascii) and put (Ascii) --; 7.4 tab (I) and ni --; 7.5 name (atom, code) --; 7.6 Using Data Files --; 7.7 Controlling the Input and Output Streams --; 8 • Data Structures --; 8.1 Introduction --; 8.2 Lists --; 8.3 Operations on Lists --; 8.4 Semantic Networks --; 8.5 Frames --; 8.6 If ... Then ... Rules --; 9 • Preventing and Removing Program Errors --; 9.1 Introduction --; 9.2 Errors in the Modelling Process --; 9.3 Syntax Errors --; 9.4 Type Testing of Terms --; 9.5 More on Type Testing --; 9.6 Programming Style --; 9.7 Errors Due to Search Control --; 9.8 Debugging --; 10 • Natural Languages --; 10.1 Parsing --; 10.2 An English to Dutch Translator --; 11 • Philosophical Issues --; 11.1 Introduction --; 11.2 Machine Intelligence --; 11.3 Empirical Significance --; 12 • Parallel Processing Prolog --; 12.1 Parallel Processing --; 12.2 Parallel Processing for Prolog --; Appendix 1 --; Dictionary of Built-in Predicates --; Appendix 2 --; Glossary of Terms --; Appendix 3 --; Common Error Statements --; Appendix 4 --; ASCII Codes --; Appendix 5 --; List of Operator Precedences --; Appendix 6 --; Prolog Versions --; Appendix 7 --; Further Reading --; Appendix 8 --; Leashing Directory --; References --; Answers to Selected Questions.
SUMMARY OR ABSTRACT
Text of Note
Prolog is important as one of the major programming languages. Beginning with a chapter on logic (which makes the book particularly useful to undergraduate students), Prolog for Computer Science provides a comprehensive tutorial that assumes no prior knowledge of programming. There are lots of realistic examples and case-studies, including an English-Dutch translator.