1% Predicates that use syntax specific of the CLP(FD) library of the host Prolog 2% Version for SICStus 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 #<=> 0)