Returns a tentative variable reflecting the (current and future) violatedness of the constraint set.
?- lib(tentative_constraints). % for alldifferent/1
Yes (0.00s cpu)
?- length(Xs, 5), tent_set_all(Xs, 99), CS :~ alldifferent(Xs),
cs_violations(CS, V).
Xs = [Xi{99 -> 4}, Xi{99 -> 4}, Xi{99 -> 4}, Xi{99 -> 4}, Xi{99 -> 4}]
CS = constraint_set(V{10 -> 0}, ...)
V = V{10 -> 0}
There is 1 delayed goal.
Yes (0.00s cpu)