Gps 程序错误1040

Gps 程序错误1040,gps,visual-prolog,turbo-prolog,Gps,Visual Prolog,Turbo Prolog,我有这个密码 DOMAINS s = symbol. sList = symbol*. PREDICATES nondeterm link(s, s,integer). nondeterm depth_first_search(s, s, sList,integer). CLAUSES link("Erbil","Koysinjaq",12). link("Erbil","Kirkuk",15). link("Erbil","Sha

我有这个密码

DOMAINS
    s = symbol.
    sList = symbol*.

PREDICATES
    nondeterm link(s, s,integer).
    nondeterm depth_first_search(s, s, sList,integer).

CLAUSES


    link("Erbil","Koysinjaq",12).
    link("Erbil","Kirkuk",15).
    link("Erbil","Shaqlawa",15).
    link("Erbil","Mosul",22).
    link("Shaqlawa","Akre",33).
    link("Mosul","Duhok",44).
    link("Mosul","Akre",55).
    link("Kirkuk","Koysinjaq",66).
    link("Kirkuk","Chamchamal",88).
    link("Chamchamal","Sulaimani",34).
    link("Koysinjaq","Sulaimani",22).
    link("Sulaimani","Ranya",33).
    link("Akre","Duhok",22).

    depth_first_search(X, X, [X],0).
    depth_first_search(X, Y, [X|T],L):-
        link(X, Z , L1),
        depth_first_search(Z, Y, T,L2),L=L1+L2 .

GOAL
    depth_first_search("Erbil", "Duhok", PathToGoal,Dis).

我想找到两个城市之间的最短路径和距离,我从目标开始到开始节点,计算距离,然后返回,但是当我运行它时,我得到了错误
程序错误1040
,对此一无所知,所以在谷歌上搜索,没有什么是可以理解的

您是否检查了Visual/Turbo Prolog帮助文件中的1040?这是哪个版本的Visual或Turbo Prolog?不,我不这么认为,我搜索了很多,我得到的只是一个长的txt文件,其中有一些错误描述。当我将语法转换为GNU Prolog时,它工作得很好,所以它是Turbo或Visual Prolog特有的(无论您运行的是哪个版本)。为什么要声明事实和谓词
非确定性
?那么,我该如何解决它呢?