:- use_module( library( pita)).
:- pita.
:- begin_lpad.
? :: findme.
a :- findme.
b :- findme.
utility( a , 10).
utility( b , -5). % correct outcome
top :- a , b.
:- end_lpad.
/*
(ins)?- dt_solve(A, B).
A = [[findme]],
B = 5.0.
*/
:- use_module( library( pita)).
:- pita.
:- begin_lpad.
? :: findme.
a :- findme.
b :- findme.
utility( a , 10).
utility( b , - 5). % incorrect outcome
top :- a , b.
:- end_lpad.
/*
(ins)?- dt_solve(A, B).
A = [[findme]],
B = 10.0. % wrong
*/
If in the utility directive a negative value is written then a space between ‘-’ and the value lets the effect of this directive disappear. I don’t believe this is intended.