Sets and constraint logic programming
- 1 September 2000
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 22 (5) , 861-931
- https://doi.org/10.1145/365151.365169
Abstract
In this paper we present a study of the problem of handling constraints made by conjunctions of positive and negative literals based on the predicate symbols =, ∈,∪ and || (i.e., disjointness of two sets) in a (hybrid) universe of finite sets . We also review and compare the main techniques considered to represent finite sets in the context of logic languages. The resulting contraint algorithms are embedded in a Constraint Logic Programming (CLP) language which provides finite sets—along with basic set-theoretic operations—as first-class objects of the language. The language—called CLP( SET )—is an instance of the general CLP framework, and as such it inherits all the general features and theoretical results of this scheme. We provide, through programming examples, a taste of the expressive power offered by programming in CLP( SET ).Keywords
This publication has 33 references indexed in Scilit:
- Set constructors, finite sets, and logical semanticsThe Journal of Logic Programming, 1999
- {log}: A language for programming in logic with finite setsThe Journal of Logic Programming, 1996
- Constraint logic programming: a surveyThe Journal of Logic Programming, 1994
- Logic programming and negation: A surveyThe Journal of Logic Programming, 1994
- Notes on implementing sets in PrologCommunications of the ACM, 1992
- Compilation of set terms in the logic data language (LDL)The Journal of Logic Programming, 1992
- Set constructors in a logic database languageThe Journal of Logic Programming, 1991
- A rule-based language with functions and setsACM Transactions on Database Systems, 1991
- Logic programming with setsJournal of Computer and System Sciences, 1990
- Associative-commutative unificationJournal of Symbolic Computation, 1987