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

?X &\= ?Y

X is different from Y in the domain
X
variable or domain value
Y
variable or domain value

Description

Constrains X and Y to be different. X and Y must be variables or values of the same domain. If one of them is domain-less, it will be given the same domain as the other.

Modules

This predicate is sensitive to its module context (tool predicate, see @/2).

Examples

    ?- [X,Y] &:: weekday, X &\= Y.
    X = X{[mo, tu, we, th, fr, sa, su]}
    Y = Y{[mo, tu, we, th, fr, sa, su]}
    There is 1 delayed goal.
    Yes (0.00s cpu)

    ?- mo &\= th.
    Yes (0.00s cpu)

    ?- X &\= th.
    X = X{[mo, tu, we, fr, sa, su]}
    There is 1 delayed goal.
    Yes (0.00s cpu)

    ?- th &\= th.
    No (0.00s cpu)

    ?- X &\= Y.
    Arguments have no domains in X &\= Y in module eclipse
    Abort

    ?- X &:: weekday, X &\= red.
    Arguments have different domains (weekday,colour) in X &\= red ...
    Abort
    

See Also

&\= / 3, &< / 2, &> / 2, &=< / 2, &>= / 2, &= / 2, shift / 3, rotate / 3