[ library(cardinal) | Reference Manual | Alphabetic Index ]
?SetVar1 `$ ?SetVar2
Set disjointness constraint
- SetVar1
- A set variable.
- SetVar2
- A set variable.
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