Может кто-нибудь объяснить разницу между оператором == и = в Prolog? Я знаю, что X = Y означает, что X объединяется с Y и является истинным, если X уже объединяется с Y или может быть сделано, но я не понимаю, как это отличается от ==.
Followup: Это (см. принятый ответ) имеет смысл. Еще один вопрос: существует ли когда-либо ситуация, когда X \= Y истинна, а X \== Y является ложным (или наоборот)? То есть, проверяет X \= Y, если они не могут быть объединены или если они в настоящее время не объединены?