这是知识库
std_norm(df, 'left-x')
当运行isTaughtBy(jack,doe)时,它返回true(就像它应该的那样)和false(由于某种原因,可能是因为jack需要多个模块)。
这是追踪:
student(jack,100,21,m).
takes(100,cs01).
takes(100,cs02).
takes(100,cs03).
teaches(doe,cs01).
course(cs01,ai).
course(cs02,cpp).
course(cs03,java).
isTaughtBy(Sname,Lname) :-
teaches(Lname,Mcode),
student(Sname,Scode,_,_),
takes(Scode,Mcode).
为什么重做需要(100,cs01)如果上面已经检查过?即使它在数据库中明确定义,为什么它返回false?我在这里不懂什么?如果学生由讲师讲授他们正在学习的任何模块,我只是希望它返回真或假。