[ library(cardinal) | Reference Manual | Alphabetic Index ]

# ?Element `-@ ?SetVariable

Set non-membership constraint

SetVariable
  A set variable.
Element
  A ground term or a variable.

## Description

Constrain SetVariable to not include Element.

If Element is a variable then the constraint is suspended until it becomes ground.

### Fail Conditions

Fails if Element must be a member of SetVariable.

### Resatisfiable

No.

## Examples

    ?- S `:: []..[a,b], a `-@ S, glb_poss(S,G,P).
    G = [], P = [b]

    ?- S `:: [c]+[a,b], c `-@ S.
    no

    ?- S `:: [a]+[b,c], z `-@ S, glb_poss(S,G,P).
    G = [a], P = [b,c]

    ?- S `:: []..[a,b], X `-@ S, glb_poss(S,G,P).
    G = [], P = [a,b]

    ?- S `:: []..[a,b], X `-@ S, X=b, glb_poss(S,G,P).
    G = [], P = [a]

## See Also

`@ / 2, in / 2, notin / 2, `:: / 2