Prolog,X早于Y

问题描述

我需要编写一个谓词,如果X早于Y,则谓词为true。MY代码在下面。我还没有发现任何错误。请帮助我。

born(jan,date(20,3,1977)).

born(joris,date(17,1995)).

born(jesus,date(24,12,0)).

born(joop,date(30,4,1989)).

before(date(_,_,Year1),date(_,Year2)) :-
      Year1 < Year2.

before(date(_,Month1,Year ),Month2,Year)) :-
      Month1 < Month2.

before(date(Day1,Month,date(Day2,Year)) :-
      Day1 > Day2.

older(X,Y) :-
      X \= Y,born(X,B1),born(Y,B2),before(B1,B2). 

查询应该给出这个。

?- older(jesus,Y).
jan,joris,joop.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)