
?X &\= ?Y

   X is different from Y

Arguments
   X                   Variable or atomic value
   Y                   Variable or atomic value

Type
   library(sd)

Description

	Constrains X and Y to be different. Operationally, the predicate
	delays until one side is instantiated and the other has a domain.
	The instantiated value is then removed from the domain.


Examples
   
    ?- X &:: [red,green,blue], X &\= red.
    X = X{[blue, green]}
    Yes (0.00s cpu)

    ?- X &:: [red, green, blue], X &\= yellow.
    X = X{[blue, green, red]}
    Yes (0.00s cpu)

    ?- X &:: [red,green], X &\= red.
    X = green
    Yes (0.00s cpu)

    ?- X &:: [red,green], X &\= red, X &\= green.
    No (0.00s cpu)

    ?- X &\= red.
    X = X
    There is 1 delayed goal.
    Yes (0.00s cpu)

    ?- X &\= red, X &:: [red,green].
    X = green
    Yes (0.00s cpu)

    ?- [X, Y] &:: [red, green, blue], X &\= Y.
    X = X{[blue, green, red]}
    Y = Y{[blue, green, red]}
    There is 1 delayed goal.
    Yes (0.00s cpu)

    ?- X &:: [red, green], Y &:: [blue, brown], X &\= Y.
    X = X{[green, red]}
    Y = Y{[blue, brown]}
    There is 1 delayed goal.
    Yes (0.00s cpu)

    ?- red &\= green.
    Yes (0.00s cpu)

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

See Also
   &\= / 3, &= / 2
