Can someone explain the difference between the ==
and the =
operator in Prolog? I know that X = Y
means X unifies with Y and is true if X already unifies with Y or can be made to, but I don't understand how this differs from ==
.
Follow up: That (see Accepted Answer) makes sense. One more question though, is there ever a situation where X \= Y
is true and X \== Y
is false (or vice-versa)? That is, does X \= Y
test if they cannot be unified or if they are not currently unified?