Logic Programming (WS 2014/2015)
Section outline
-
Logic Programming (WS 2014/2015)
326.028
Time: Wednesday 16:15-18:00. Room: HS 12. Lecturer: Temur Kutsia. Language: English. Start: October 8, 2014.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. Exercises should be submitted via this page.
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 - pdf
- 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
- Assignments: Assignments will appear here. They are for individual work. The preferred method of submission is via moodle. If you experience a problem with it, please send me an email. There will be three assignments in total.
- 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.
-