1% Predicates that use syntax specific of the CLP(FD) library of the host Prolog 2% Version for SWI Prolog 3% The main difference is that SICStus uses #<=>, while SWI uses #<==> 4 5reified_equality_solver(X,Y,B):- X #= Y #<==> B. 6 7solver_and(B,B1,B2):- B #<==> (B1 #/\ B2). 8 9reification(T,B):- call(T #<==> B). 10 11opposite(eq(A,B),neq(A,B)). 12opposite(neq(A,B),eq(A,B)). 13opposite(lt(A,B),geq(A,B)). 14opposite(leq(A,B),gt(A,B)). 15opposite(gt(A,B),leq(A,B)). 16opposite(geq(A,B),lt(A,B)). 17opposite(C,C