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)