prolog失败的统一

时间:2014-03-29 20:02:59

标签: prolog unification

任何人都可以告诉我为什么会失败吗?

f(X,X) = f(a,b).

我的假设是X首先被实例化为a,然后被移除,然后被b实现为X = b。尝试一下,我发现我错了,但我不知道为什么。

谢谢。

1 个答案:

答案 0 :(得分:1)

统一总是赋予变量一致的含义。 X的值没有使f(X,X) = f(a,b)成立。如果你说

f(X) = f(a); f(X) = f(b).

然后你会得到更像你期望的结果。