2

最近刚开始学习 Prolog,我不知道为什么会出现这个错误。

这是 .pl 文件中的“代码”:

bigger(elephant, horse).
bigger(horse, donkey).
bigger(donkey, dog).
bigger(donkey, monkey).

isbigger(X, Y) :- bigger(X, Y).
isbigger(X, Y) :- bigger(X, Z),print(Z),print(’ ’) ,isbigger(Z, Y).

每当我尝试检查哪种动物更大时,我都会收到此错误:

  1 ?- bigger(donkey, monkey).
  ERROR: toplevel: Undefined procedure: bigger/2 (DWIM could not correct goal)

请问有什么帮助吗?

谢谢。

4

1 回答 1

1

你需要一个我认为的断言:

assert(bigger(donkey, monkey)).

我自己今天才开始,这个花了我一段时间才弄清楚。

祝你好运!

于 2017-03-03T15:46:40.243 回答