2013-04-11 66 views
1

我是Prolog的新手,但是我無法從文件運行任何程序。 我在/ opt/local/bin中安裝了mac os x mountain lion和swipl。 腳本名稱是'prolog',它與swipl位於相同的目錄中。Prolog給出錯誤undefined程序

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). 

在終端,我第一次運行swipl然後鍵入consult(prolog),它編譯好的,但後來當我想運行例如vzdaleny_potomek(petr, pavel),它給了我錯誤

錯誤:頂層:未定義的程序:vzdaleny_potomek/2(DWIM無法修正目標)

+0

如果SWI-Prolog安裝正確(可能是),它將在您的$ PATH上,並且您不需要在同一目錄中啓動它。實際上,如果它不在你的$ PATH中,即使你在同一個目錄下,也必須輸入'./ swipl'。使用'echo $ PATH'來查看你的$ PATH,並把你的源文件放在你的主目錄中。只是一個建議。 – 2013-04-11 07:47:13

+0

這裏有一些奇怪的地方,經過鮑里斯的修正:'vzadelny_potomek(A,B): - vzdaleny_potomek(B,C).'。兩個單身! – CapelliC 2013-04-11 13:45:57

回答

4

您的謂詞定義錯誤。這應該是::=而不是::-