?- abs(#X) #= #Y #<==> #B, B = 0, Y = -1.
Y = -1, B = 0, clpz:(#_A#=abs(#X)), clpz:(_A in 0..sup).
?- abs(#X) #= #Y #<==> #B, Y = -1, B = 0.
Y = -1, B = 0, clpz:(X in inf..sup).
?-
The answers are equivalent but I expected a canonical answer after permutation of goals.