
?SetVar1 `$ ?SetVar2

   Set disjointness constraint

Arguments
   SetVar1             A set variable.
   SetVar2             A set variable.

Type
   library(cardinal)

Description
Constrain sets SetVar1 and SetVar2 to be disjoint. I.e. SetVar1 and
		SetVar2 should have no common elements (empty intersection).

Fail Conditions
   Fails if SetVar1 and SetVar2 can not be disjoint.

Resatisfiable
   No.

Examples
   
?- [] `$ [8], [7] `$ [8], [] `$ [].
yes

?- [7,8] `$ [8]  ; [7] `$ [7,8] ; [a] `$ [a] ; [a,b] `$ [b,a].
no

?- sets([X,Y], [],[8,9], [cardinality:1]), X `$ Y, set_labeling([X,Y]).
X = [8], Y = [9] ;
X = [9], Y = [8] ;
no

?- S `:: []+[a,b], X=S, X `$ S.
S = [], X = []

?- sets([X,Y], [],[7,8,9], [cardinality:2]), X `$ Y.
no

?- sets([X,Y], [],[7,8,9], [cardinality:[1,2]]), X `$ Y, #(X,2), #(Y,C).
C = 1

?- X `:: [a]+[b,c,d], Y `:: []+[a,b,c,d,e,f], X `$ Y, c `@ Y, poss(X,PX), poss(Y,PY).
PX = [b,d], PY = [b,d,e,f]


See Also
   all_disjoint / 1, `<> / 2, complement / 2, complement / 3, `/= / 2, `>= / 2
