基于一些事实,我必须找到使用 Prolog 的最年长的人。例如:
age(john, 10).
age(mary, 15).
age(rose, 75).
age(jack, 49).
age(carl, 17).
age(lucy, 66).
控制台输出应该是:
?- oldest(rose).
True.
?- oldest(X).
X = rose.
我的代码如下,但它不起作用:
oldest(P) :- age(P, X) , age(_, Y) , X >= Y.
我找不到错误,但我想这与回溯有关。有人可以帮我吗?我是 Prolog 的新手。