| | |
Summary: Kapitel 6
Logikprogrammierung mit
Constraints
Nachdem wir nun sowohl die ``reine'' Logikprogrammierung als auch ihre Implementierung
in der Sprache Prolog betrachtet haben, wollen wir uns zum Schluss mit einer wichtigen
Erweiterung der Logikprogrammierung, der sogenannten Logikprogrammierung mit Cons
traints (``Constraint Logic Programming '', CLP) besch˜ aftigen. In Abschnitt 6.1 f˜ uhren wir
zun˜ achst die Logikprogrammierung mit Constraints formal ein. Anschließend diskutieren
wir in Abschnitt 6.2, wie die Integration von Constraints in der Programmiersprache Prolog
gel˜ ost wird. Weitere Literatur zu dem Thema ist beispielsweise [FA03, MS98].
6.1 Syntax und Semantik von ConstraintLogikpro
grammen
Unter einem Constraint versteht man eine Einschr˜ ankung oder Bedingung. Solche Bedin
gungen werden typischerweise als atomare Formeln formuliert. Die folgende Definition f˜ uhrt
diesen Begri# formal ein. Unser Ziel ist nachher, Logikprogramme ˜ uber einer Signatur (#, #)
um Constraints ˜
uber einer Teilsignatur (# # , # # ) zu erweitern. Hierbei erweist es sich als sinn
voll, das GleichheitsPr˜ adikatssymbol ``='' sowie die speziellen Pr˜ adikatssymbole true und
fail gesondert zu behandeln.
Definition 6.1.1 (ConstraintSignatur und Constraints) Sei (#, #) eine Signatur
|