Reasoning on constraints in CLP(FD)

Evelina Lamma, Michela Milano, Paola Mello
1999 The Journal of Logic Programming  
Constraint Logic Programming solvers on finite domains (CLP(FD) solvers) use constraints to prune those combinations of assignments which cannot appear in any consistent solution. There are applications, such as temporal reasoning or scheduling, requiring some form of qualitative reasoning where constraints can be changed (restricted) during the computation or even chosen when disjunction occurs. We embed in a CLP(FD) solver the concept of constraints as first class objects. In the extended
more » ... uage, variables range over finite domains of objects (e.g., integers) and relation variables range over finite domains of relation symbols. We define operations and co,nstraints on the two sorts of variables and one constraint linking the two. We first present the extension as a general framework, then we propose two specializations on finite domains of integers and of sets. Programming examples are given, showing the advantages of the extension proposed flora both a knowledge representation and an operational viewpoint.
doi:10.1016/s0743-1066(98)10016-x fatcat:6avrf7tjsjha5gtmk4ip2jew4u