Sets and constraint logic programming

  • Authors:
  • Agostino Dovier;Carla Piazza;Enrico Pontelli;Gianfranco Rossi

  • Affiliations:
  • Univ. di Verona, Verona, Italy;Univ. di Udine, Udine, Italy;New Mexico State Univ., Las Cruces, NM;Univ. di Parma, Parma, Italy

  • Venue:
  • ACM Transactions on Programming Languages and Systems (TOPLAS)
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

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 &dvbm0; (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 .