Node:Answer Constraints, Next:, Previous:Statistics Predicates, Up:CLPFD



Answer Constraints

By default, the answer constraint only shows the projection of the store onto the variables that occur in the query, but not any constraints that may be attached to these variables, nor any domains or constraints attached to other variables. This is a conscious decision, as no efficient algorithm for projecting answer constraints onto the query variables is known for this constraint system.

It is possible, however, to get a complete answer constraint including all variables that took part in the computation and their domains and attached constraints. This is done by asserting a clause for the following predicate:

clpfd:full_answer [Hook]

If false (the default), the answer constraint, as well as constraints projected by clpfd:project_attributes/2, clpfd:attribute_goal/2 and their callers, only contain the domains of the query variables. If true, those constraints contain the domains and any attached constraints of all variables. Initially defined as a dynamic predicate with no clauses.