我想要的是当我定义:
marriedTo(martin, annie).
它还使以下内容为真:
marriedTo(annie, martin).
我尝试了以下方法,但它(显然)是一个无限循环。
marriedTo(X,Y) :- marriedTo(Y,X).
我将如何在 Prolog 中做到这一点?
最佳答案
最简单的解决方法是:
marriedTo(martin, annie).
...
married(X,Y) :- marriedTo(X,Y).
married(X,Y) :- marriedTo(Y,X).
然后还有很多其他的方法、实现和语义来解决无限递归的问题......
关于prolog - 如何创建一个规则,使 Prolog 中的所有关系对称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14639317/