The aim of this paper is to extend the Constructive Negation technique to the case of CLP(SET), a Constraint Logic programming (CLP) language based on hereditarily (and hybrid) finite sets. The challenging aspects of ...
详细信息
The aim of this paper is to extend the Constructive Negation technique to the case of CLP(SET), a Constraint Logic programming (CLP) language based on hereditarily (and hybrid) finite sets. The challenging aspects of the problem originate from the fact that the structure on which CLP(SET) is based is not admissible closed, and this does not allow to reuse the results presented in the literature concerning the relationships between CLP and constructive negation. We propose a new constraint satisfaction algorithm, capable of correctly handling constructive negation for large classes of CLP(SET) programs;we also provide a syntactic characterization of such classes of programs. The resulting algorithm provides a novel constraint simplification procedure to handle constructive negation, suitable to theories where unification admits multiple most general unifiers. We also show, using a general result, that it is impossible to construct an interpreter for CLP(SET) with constructive negation which is guaranteed to work for any arbitrary program;we identify classes of programs for which the implementation of the constructive negation technique is feasible.
In this paper we propose a semantically well-founded combination of the constraint solvers used in the constraint programming languages CLP(SET) and CLP(FD). This work demonstrates that it is possible to provide effic...
详细信息
ISBN:
(纸本)9781581137057
In this paper we propose a semantically well-founded combination of the constraint solvers used in the constraint programming languages CLP(SET) and CLP(FD). This work demonstrates that it is possible to provide efficient executions (through CLP(FD) solvers) while maintaining the expressive power and flexibility of the CLP(SET) language. We develop a combined constraint solver and we show how static analysis can help in organizing the distribution of constraints to the two constraint solvers.
暂无评论