The violatedness of the constraint is the number of identical value pairs among its arguments.
The following declaration is in effect, meaning that alldifferent_t/2 is used whenever alldifferent/1 is added to a constraint set:
:- alldifferent_t/2 tent_implements alldiffernet/1.
?- Xs = [A,B,C], Xs tent_set [1,2,3], CS :~ alldifferent(Xs).
Xs = [A{1 -> 0}, B{2 -> 0}, C{3 -> 0}]
CS = constraint_set(TotalVio{0 -> 0}, ...)
There is 1 delayed goal.
Yes (0.00s cpu)