A Language with Finite Sets Embedded in the CLP-scheme

Problems and solutions related to the introduction of finite set formers and basic operations on sets in a Logic Programming language are discussed. In particular it is shown that a good solution is to begin with a CLP-scheme whose signature ∑ is endowed with two functional symbols: O for the empty set and with for the set construction symbol, using the symbols ∈, ∉, =, ≠ as constraint predicate symbols. The axioms of the selected set theory are described, along with the corresponding algebraic interpretation and the constraint satisfiability algorithm. Other usual set operators (such as ⊑, ∪, etc.) are shown to be definable in the extended language. Also, such an approach turns out to be well suited to accommodate for intensional set formers, providing the language is endowed with some form of negation.

[1]  Agostino Dovier,et al.  Embedding Finite Sets in a Logic Programming Language , 1992, ELP.

[2]  David Chan,et al.  Constructive Negation Based on the Completed Database , 1988, ICLP/SLP.

[3]  Agostino Dovier,et al.  {log}: A Logic Programming Language with Finite Sets , 1991, ICLP.

[4]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[5]  Catriel Beeri,et al.  Sets and negation in a logic data base language (LDL1) , 1987, PODS.

[6]  Pascal Van Hentenryck,et al.  The Constraint Logic Programming Language CHIP , 1988, FGCS.

[7]  Gianfranco Rossi,et al.  Che Genere di Insiemi/Multi-insiemi/Iper-insiemi Incorporare nella Programazione Logica? , 1993, GULP.

[8]  R. Acevedo,et al.  Research report , 1967, Revista odontologica de Puerto Rico.

[9]  Gabriel M. Kuper,et al.  Logic programming with sets , 1987, J. Comput. Syst. Sci..

[10]  Peter J. Stuckey,et al.  Constructive negation for constraint logic programming , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.