当我确定我要的是:
marriedTo(martin, annie).
这也使得以下情况:
marriedTo(annie, martin).
我曾尝试以下,但它(显然)一个无限循环。
marriedTo(X,Y) :- marriedTo(Y,X).
我怎么会在序言做到这一点?
当我确定我要的是:
marriedTo(martin, annie).
这也使得以下情况:
marriedTo(annie, martin).
我曾尝试以下,但它(显然)一个无限循环。
marriedTo(X,Y) :- marriedTo(Y,X).
我怎么会在序言做到这一点?
解决这个问题的最简单的方法是:
marriedTo(martin, annie).
...
married(X,Y) :- marriedTo(X,Y).
married(X,Y) :- marriedTo(Y,X).
然后还有很多其他的方法,实现和语义上来解决无限递归的问题...
我想通了毕竟:
marriedTo(X,Y) :- marriedTo(Y,Z), X = Z, !.