Introduction to Logic Programming
The course is an introduction to logic programming through Prolog. It
basically follows the following book:
W. F. Clocksin and C. S. Mellish. Programming in Prolog. Fourth
edition. Springer. 1994.
With each lecture the students will be given exercises involving the
concepts of the lecture. At the end of the semester there will be a
final written exam.
Winter Semester 2003/2004.
 Number: 326.531
 Title: Logic Programming
 Lecturer: Temur
Kutsia
 Time: Wed 16:1518:00
 Place: T 911
 Starts: October 15
 Final Exam: January 28
 Logical foundations. Introduction to Prolog programming.
 Questions, variables, conjunctions, rules, goals.
 Prolog syntax. Characters, operators, equality and matching, arithmetic.
 Using data structures. Several programming techniques on Prolog (Mapping, recursion, accumulators, difference structures).
 Backtracking, generating multiple solutions, the cut.
 Examples, debugging.
 Unification, computational model.
 Constraint logic programming.
 Book: W. F. Clocksin and C. S. Mellish. Programming in Prolog. Fourth
edition. Springer. 1994.
 Lecture Notes:
 Introduction  ps, pdf
 Questions, variables, conjunctions  ps, pdf
 Rules, goals  ps, pdf
 Prolog syntax  ps, pdf
 Data structures  ps, pdf
 Mapping, recursion  ps, pdf
 Accumulators, difference structures  ps, pdf
 Backtracking, the cut  ps, pdf
 Examples  ps, pdf
 Unification  ps, pdf
 Computational model of logic programs  ps, pdf
 Constraint logic programming  ps, pdf
 Homeworks:
 Programs:
chap3assembly.pl,
chap3assemblyacc.pl,
chap3assemblyhole.pl,
bestfirst.pl.
 Programming Projects:
 DavisPutnam Procedure. Project group: (max. 3 members)
 Propositional Semantic Tableaux Prover. Thomas Schatzl.
(Sourse code and
slides of final project presentation.)
 Mastermind Game. Matthias Rosensteiner, Bernadette Mayrhauser, Florian Gruber.
 Nim Game. Dorin Anculia, Roxana Stepanov, Christian Neumaier.
 Additional material:
 System:
SWIProlog. For Windows users
there is a convinient SWIProlog
editor.
 Some useful online resourses:
WWW Virtual Library: Logic
programming, Prolog newsgroup.
