Abstract

We address the problem of designing constraint logic languages that usefully combine backward and forward chaining in a sound and complete way. Following the approach of Constraint Logic Programming, we define a class of programming languages that generalize both Constraint Logic and Concurrent Constraint Programming. Syntactically, this class corresponds to Constraint Handling Rules with disjunctions, but differ operationally by featuring set-based semantics instead of multiset-based ones; i.e., conjunction and disjunction are idempotent. The assumption of program confluence is the crux on which both the committed choice strategy and the logical completeness of the languages rely.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call