Foundations of Logic Programming
Apart from a short introduction to the programming language Prolog this course is concerned with the basics of logic programming, programming techniques and implementations of logic programming languages. We first focus on the theory behind logic programming based on mathematical logic. Afterwards, we introduce different notions of semantics (denotational, fixpoint, and operational) and show that all of them are equivalent. Moreover, we consider the basics of the programming language Prolog and some enhanced features like constrained logic programming, e.g., CLPFD.