Prolog规则 - 错误?

时间:2012-12-07 07:33:15

标签: prolog prolog-toplevel

我有事实:

/**--(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组答案后应该“假”。

有人如何解决“假”问题?

1 个答案:

答案 0 :(得分:3)

没有必要修理任何东西; false只是意味着Prolog无法找到更多解决方案。这是无害的。