【发布时间】:2017-08-19 00:17:38
【问题描述】:
这些是我写的事实
instructor(ahmed,mohammed, cs101,01).
instructor(sara,salah,cs101,02).
instructor(maryam,faisal,cs101,03).
instructor(ali,hassan,cs311,01).
enrolled(201110202,huda,issa,cs101,01).
enrolled(20110303,mona,amer,cs101,01).
enrolled(20115566,amal,omar,cs101,01).
enrolled(20118899,ahmed,hassan,cs101,01).
规则
teaches(D,S):-
instructor(D,_,C,Z),
enrolled(S,_,_,C,Z).
classmate(s1,s2,C):-
enrolled(s1,_,_,C,Z),
enrolled(s2,_,_,C,Z).
但是当我运行一个查询谁用 id 20110303 教 std 时,它给出了这个错误。我已经检查过它是否有各种错误。它在语法和逻辑上都是正确的,但仍然是未定义的过程
?- debug.
true.
[debug] ?- teaches(D,20110303).
ERROR: Undefined procedure: teaches/2 (DWIM could not correct goal)
【问题讨论】:
标签: prolog undefined procedure