Introduction to 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 2013.
 Number: 326.028
 Title: Logic Programming
 Lecturer: Temur Kutsia
 Time: Wed 16:1518:00
 Place: T 212
 Language: English
 First lecture: October 9.
 Exam: January 29, 16:1518:00, Room T 212
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.
 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.
 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): 889927 (2012) (Highly recommended!).

M. A. Covington. Efficient Prolog: A Practical Guide. Research Report AI198908, 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 online resources:
Maintained by Temur Kutsia