我有事实:
/**--(course,time,location)--*/
ctl('course1', 'time1','location1').
ctl('course2', 'time1','location2').
ctl('course3', 'time2','location3').
/**--Lecturer,course-*/
lc('lecturer1','course1').
lc('lecturer2','course2').
lc('lecturer1','course3').
我对讲师schedule(course,time,location)
的规则是:
schedule(Lecturer,C,T,L) :-
lc(Lecturer,C),ctl(C,T,L).
如果我这样做: ? - 日程安排('讲义1',C,T,L)。检查讲师的日程安排是什么,它将输出2组答案,
但如果我这样做: ? - 日程安排(讲师,C,'time1',_)。检查谁被安排教导什么时间1,输出2组答案后应该“假”。
有人如何解决“假”问题?
答案 0 :(得分:3)
没有必要修理任何东西; false
只是意味着Prolog无法找到更多解决方案。这是无害的。