Definition
Ein Rechen- und Spezifikationsrahmen, der Logikprogrammierung mit Constraint-Solving integriert: Programme kombinieren logische Regeln mit Constraint-Domänen und Solver, wobei ein Constraint-Store während der Beweissuche konsultiert und aktualisiert wird.

Prinzip

Prinzip
Trennung von logischer Steuerung (Regeln, Suche) und domänenspezifischem Constraint-Reasoning (Arithmetik, endliche Domänen, Strings), sodass die Unifikation durch Constraint-Lösen und Konsistenzprüfung mittels Entscheidungsprozedur des Solvers ersetzt oder erweitert wird.

Demonstration

Demonstration
CLP(R) für lineare Arithmetik: logische Regeln erzeugen arithmetische Constraints wie lineare Ungleichungen; der Constraint-Solver pflegt und vereinfacht den Store und schneidet Suchzweige ab, die numerische Konsistenz in Terminplanung oder Ressourcenallokation verletzen.

Fehlanwendung

Fehlanwendung
Voraussetzen der Solver-Vollständigkeit für unentscheidbare Domänen oder Constraints als bloße syntaktische Prädikate behandeln, ohne Solver-Feedback zu integrieren, was zu falschen Annahmen über Termination oder Lösungsabdeckung führt.

Konsequenz

Konsequenz
Gute Integration ergibt deklarative Modelle für kombinatorische und numerische Probleme, starke Suchreduktion durch Constraint-Propagation und modulares Nutzen effizienter Entscheidungsprozeduren für spezialisierte Domänen.

Umkehrung

Umkehrung
Umkehr zu reinem Constraint Programming ohne logische Klauseln, in dem Suche und Propagation ausschließlich durch Constraint-Löser ausgedrückt werden, oder zu reiner Logikprogrammierung, in der Constraints als explizite logische Prädikate ohne Solverunterstützung formuliert werden.

Abgrenzung

Abgrenzung
Effektiv, wenn Constraint-Domänen entscheidbare oder praktische Solver zulassen (endliche Domänen, lineare Arithmetik, boolesche Constraints); erweitert sich nicht automatisch auf beliebige unentscheidbare Theorien ohne Verlust von Garantien oder ohne Approximationen.

Semantische Spannung

Semantische Spannung
Spannung zwischen CLP und einfacher Logikprogrammierung bzw. CP: CLP verbindet deklarative Regeln mit solvergetriebener Propagation, während LP auf Beweissuche und CP auf solverzentrierte Propagation und globale Constraints fokussiert, was Modellierungs- und Kontrolltrade-offs schafft.

Synthese

Synthese
Constraint-Logikprogrammierung verbindet klauselbasierte logische Spezifikation mit domänenspezifischem Constraint-Lösen: sie verwendet einen solvergestützten Constraint-Store statt reiner Unifikation, um kompakte deklarative Modelle und effiziente Suche durch Propagation zu erreichen.