-distinctc

added

ns
clojure.core.logic.fd

type
function

(-distinctc x y* n*)

The real *individual* distinct constraint. x is a var that now is bound to
a single value. y* were the non-singleton bound vars that existed at the
construction of the constraint. n* is the set of singleton domain values 
that existed at the construction of the constraint. We use categorize to 
determine the current non-singleton bound vars and singleton vlaues. if x
is in n* or the new singletons we have failed. If not we simply remove 
the value of x from the remaining non-singleton domains bound to vars.