Prolog 给出错误未定义的过程

Kra*_*rab 1 prolog

我是 Prolog 的新手,但我无法从文件运行任何程序。我在 /opt/local/bin 中有 mac os x 山狮和 swipl。脚本名称是“prolog”,它与 swipl 位于同一目录中。

muz(petr).
muz(pavel).
muz(jan).

zena(petra).
zena(pavla).
zena(martina).

potomek(pavel, petr).
potomek(jan, pavel).
potomek(petra, jan).

vzdaleny_potomek(A,B):=potomek(A,B).
vzadelny_potomek(A,B):=vzdaleny_potomek(B,C).
Run Code Online (Sandbox Code Playgroud)

在终端中,我首先运行 swipl 然后输入consult(prolog),它编译正常,但是例如当我想运行时vzdaleny_potomek(petr, pavel),它给了我错误

错误:顶层:未定义过程:vzdaleny_potomek/2(DWIM 无法纠正目标)

小智 5

你的谓词定义是错误的。这个::=应该是这个::-