[ library(sd) | Reference Manual | Alphabetic Index ]
?X &= ?Y
X is the same atomic value as Y
- X
- Variable or atomic value
- Y
- Variable or atomic value
Description
Constrains X and Y to be the same. This is very similar to unifying
X and Y, except in the case where X and Y are both variables. While
unification turns the two variables into one, this constraint preserves
the separate variables but constrains them to be equal.
Examples
?- X &:: [red,green,blue], X &= red.
X = red
Yes (0.00s cpu)
?- X &:: [red,green,blue], X &= yellow.
No (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,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,blue], Y &:: [blue,yellow,green], X &= Y.
X = X{[blue, green]}
Y = Y{[blue, green]}
There is 1 delayed goal.
Yes (0.00s cpu)
?- X &:: [red, green, blue], Y &:: [blue, yellow, brown], X &= Y.
X = blue
Y = blue
Yes (0.00s cpu)
?- red &= red.
Yes (0.00s cpu)
?- X &= red.
X = red
Yes (0.00s cpu)
See Also
&= / 3, &\= / 2