标签: prolog unification
任何人都可以告诉我为什么会失败吗?
f(X,X) = f(a,b).
我的假设是X首先被实例化为a,然后被移除,然后被b实现为X = b。尝试一下,我发现我错了,但我不知道为什么。
谢谢。
答案 0 :(得分:1)
统一总是赋予变量一致的含义。 X的值没有使f(X,X) = f(a,b)成立。如果你说
f(X,X) = f(a,b)
f(X) = f(a); f(X) = f(b).
然后你会得到更像你期望的结果。