Grundlagen der logischen Programmierung

Ein Algorithmus besteht aus zwei Komponenten: der Logik ("welches Problem ist zu lösen?") und der Kontrolle ("wie soll dies geschehen?"). Während man beim Programmieren in einer prozeduralen Sprache wie z.B. PASCAL genau beschreiben muss, wie ein Problem zu lösen ist, ist es das angestrebte Ideal der logischen Programmierung, nur noch zu beschreiben, was ein Programm machen soll ("Spezifikation") und dann die Kontrolle darüber, wie dies geschieht, ganz dem System zu überlassen. Natürlich sind die gegenwärtigen Logikprogrammsysteme noch weit von diesem Ideal entfernt.

In dieser Vorlesung sollen die mathematischen Grundlagen des "Programmierens in Logik" behandelt werden. Vorkenntnisse in der Logik werden dabei nicht vorausgesetzt.

Literatur:

J.W. Lloyd:
Foundations of Logic Programming
Springer, 1984.
P.H. Schmitt:
Theorie der logischen Programmierung
Springer, 1992.