我认为这是一个非常简单的问题,但我仍然无法解决。
如何在Prolog中定义两个方向的逻辑结果?
例如我的数据库包含:
need_umbrealla(X) :- rainy(X).
rainy(X) :- need_umbrealla(X).
如果我发出请求,它总会导致永久循环
rainy(X).
给我的口译员。
我能在那里做什么?
感谢您的帮助=)
答案 0 :(得分:1)
您宣布为多雨的变量X是需要保护伞的变量。什么是X?天气需要雨伞吗?
你可以宣布:
needs_umbrella(X , rainy).
请求:
needs_umbrella(monday, rainy).
true
needs_umbrella(monday, sunny).
false