为什么在此Prolog比较中得到真假?

时间:2018-10-21 17:50:47

标签: prolog compare operator-keyword

regions([a,b,c,d,e,f]).
colors([brown,green,blue,red]).
hascolor(X,brown):-regions([X|_]).
hascolor(X,brown):-regions([_,_,_,_,X,_]).
hascolor(X,blue):-regions([_,X,_,_,_,_]).
hascolor(X,blue):-regions([_,_,_,X,_,_]).
hascolor(X,green):-regions([_,_,_,_,_,X]).
hascolor(X,red):-regions([_,_,X,_,_,_]).

conflict(X,Y):-hascolor(X,brown),hascolor(Y,brown).

运行?-conflict(a,e).的家伙会告诉我真假。 a和e都具有相同的颜色(棕色),并且冲突应仅返回true。为什么它也返回false?

0 个答案:

没有答案