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.