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 2012.
 Number: 326.028
 Title: Logic Programming
 Lecturer: Temur Kutsia
 Time: Wed 16:1518:00
 Place: T 212
 Language: English
 First lecture: October 3.
 Exam: February 14, 11:1512:45, Room K 012D
Please register for the course via the
KUSSS system.
 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

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. They are to be submitted by email. There will be three assignments in total. Please write LP12AS1, LP12AS2, LP12AS3, in the subject of your mail when you submit assignments.
 Programs:
 Additional material:

System(s):

Some interesting online resources:
Maintained by Temur Kutsia