Logic Programming
(V3 + Ü2, SS 2020)


We will start with online lectures on April 6,
2020.
Registration and Moodle Learning Environment

Please register for the course via RWTHonline here.

The Moodle pages for the course contain all necessary information. They can be
found here.

A short introductory video is here.
Language
English
Course Notes etc.
Contents
In addition to a short introduction to the programming language Prolog, the
lecture deals with the foundations of logic programming, with programming
techniques in these languages, with the implementation of logic
programming languages, and with their application in several areas.
More precisely, these are the topics of the lecture:
 Prerequisites from predicate logic
 Unification
 Resolution
 Horn clauses and SLDresolution

Logic programs
 Operational and denotational semantics
 Evaluation strategies

The programming language Prolog
 Syntax and semantics
 Negation as failure
 Nonlogical components of Prolog
 Programming techniques
 Applications and extensions of logic programming
References
 K. R. Apt: From logic programming to Prolog, Prentice Hall, 1997.
 I. Bratko: Prolog Programming for Artificial Intelligence, AddisonWesley, 2011.
 W. F. Clocksin, C. S. Mellish: Programming in Prolog, Springer, 2013.
 T. Frühwirth, S. Abdennadher:
Essentials of Constraint Programming, Springer, 2010.
 M. Hanus: Problemlösen mit Prolog, Teubner, 1987.
 J. W. Lloyd: Foundations of Logic Programming, Springer, 2013.
 K. Marriott, P. J. Stuckey:
Programming with Constraints, MIT Press, 1998.
 P. H. Schmitt: Theorie der logischen Programmierung, Springer, 1992.
 U. Schöning: Logik für Informatiker, Spektrum Akademischer Verlag, 2000.
 L. Sterling, E. Shapiro: The art of Prolog, MIT Press, 2000.
Area
Theoretical Computer Science, Theoretical Foundations of SSE
(Core Subjects)
Software
To write Prologprograms, we recommend the SWI Prolog System.
An alternative to SWIProlog is GNU
Prolog: