An open-ended finite domain constraint solver [chapter]

Mats Carlsson, Greger Ottosson, Björn Carlson
1997 Lecture Notes in Computer Science  
We describe the design and implementation of a nite domain constraint solver embedded in a Prolog system using an extended uni cation mechanism via attributed variables as a generic constraint interface. The solver is essentially a scheduler for indexicals, i.e. reactive functional rules encoding local consistency methods performing incremental constraint solving or entailment checking, and global constraints, i.e. general propagators which may use specialized algorithms to achieve a higher
more » ... ee of consistency or better time and space complexity. The solver has an open-ended design: the user can introduce new constraints, either in terms of indexicals by writing rules in a functional notation, or as global constraints via a Prolog programming interface. Constraints de ned in terms of indexicals can be linked to 0/1-variables modeling entailment; thus indexicals are used for constraint solving as well as for entailment testing. Constraints can be arbitrarily combined using the propositional connectives by automatic expansion to systems of rei ed constraints.
doi:10.1007/bfb0033845 fatcat:mk3znrtcufbnxijwdredk3p2au