Node:Turning Answers into Terms,
Next:Projecting Inequalities,
Previous:Variable Ordering,
Up:Projection

#### Turning Answers into Terms

In meta-programming applications one needs to get a grip on the results
computed by the clp(Q,R) solver. You can use the predicates
`dump/3`

and/or `call_residue/2`

for that purpose:

clp(r) ?- `{2*A+B+C=10,C-D=E,A<10}, dump([A,B,C,D,E],[a,b,c,d,e],Constraints).`
Constraints = [e<10.0,a=10.0-c-d-2.0*e,b=c+d],
{C=10.0-2.0*A-B},
{E=10.0-2.0*A-B-D},
{A<10.0}

clp(r) ?- `call_residue({2*A+B+C=10,C-D=E,A<10}, Constraints).`
Constraints = [
[A]-{A<10.0},
[B]-{B=10.0-2.0*A-C},
[D]-{D=C-E}
]