Logic Programming (WS 2013/2014)
Section outline
-
Introduction to Logic Programming (WS 2013/14)
326.028
Time: Wednesday 16:15-18:00. Room: T 212. Lecturer: Temur Kutsia. Language: English. Start: October 9, 2013.
Goals
- Introduction to logic programming.
- Understanding logical foundations and computational model.
- Learning practical programming in Prolog.
The final grade will depend on the assignment results and on the final exam at the end of the semester (solving assignments is a necessary precondition to be admitted to the exam).
Registration
Please register for the course via the KUSSS system. To submit exercises via moodle, you have to login there and register as a course participant.
Contents
- Logical foundations. Introduction to Prolog programming.
- Questions, variables, conjunctions, rules, goals.
- Prolog syntax. Characters, operators, equality and matching, arithmetic.
- Using data structures. Programming techniques on Prolog (Mapping, recursion, accumulators, difference structures).
- Backtracking, generating multiple solutions, the cut.
- Selected examples.
- Unification, computational model of logic programs.
- Constraint logic programming.
- Grammar rules (DCG).
- Efficiency issues.
-
- Book: W. F. Clocksin and C. S. Mellish. Programming in Prolog. Fifth edition. Springer. 2003.
- Slides:
- Introduction - pdf
- Logical foundations
- Questions, variables, conjunctions, rules, goals - pdf
- Prolog syntax - pdf
- Data structures, mapping, recursion - pdf
- Data structures, comparison, joining, accumulators, difference structures - pdf
- Backtracking, the cut - pdf
- Unification - pdf
- Computational Model - pdf
- Using Grammar Rules - pdf
- Efficiency issues - pdf
- Examples - pdf
- Manipulating programs - pdf
- Additional material:
- M. A. Covington, R. Bagnara, R. A. O'Keefe, J. Wielemaker, S. Price. Coding Guidelines for Prolog. Theory and Practice of Logic Programming. 12(6): 889-927 (2012) (Highly recommended!).
- M. A. Covington. Efficient Prolog: A Practical Guide. Research Report AI-1989-08, The University of Georgia, Athens, Georgia, 1989.
- W. F. Clocksin. Prolog Programming (PowerPoint format).
- J. Lloyd. Foundations of Logic Programming, second edition. Springer, 1987.
- R. O'Keefe. The Craft of Prolog. MIT Press, 1990.
- Open lists and difference lists. A section from Paul Brna's online Prolog book.
- P. Gloess. Constraint Logic Programming (PowerPoint format).
- System(s):
- SWI-Prolog. For Windows users there is a convenient SWI-Prolog editor.
- GNU-Prolog.
- Prolog mode for (X)Emacs.
- Some interesting on-line resources:
- Prolog newsgroup.
- Prolog Development Center.
- SICStus Prolog web page.
- Quintus Prolog web page.
- Related Web resources from the SWI-Prolog Web page.
-