Logic Programming
- 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).
Winter Semester 2014.
- Number: 326.028
- Title: Logic Programming
- Lecturer: Temur Kutsia
- Time: Wed 16:15-18:00
- Place: HS 12
- Language: English
- First lecture: October 8.
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.
- 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.
- Grammar rules (DCG).
- Efficiency issues.
- Related frameworks: Constraint logic programming, answer set programming.
-
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 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.
- Programs:
- 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):
-
Some interesting on-line resources:
Maintained by Temur Kutsia