Ma base de connaissances SWI-Prolog contient les deux faits suivants:Pourquoi cette requête prologue est-elle à la fois vraie et fausse?
f(a,b).
f(a,c).
Maintenant, si je pose la requête
?- f(a,c).
true.
Mais
?- f(a,b).
true ;
false.
Pourquoi f (a, b) à la fois vrai et faux? Cela arrive aussi quand il y a trois faits dans le KB. Si j'ajoute f (a, d). à la KB, alors f (a, d) est vrai (seulement), mais f (a, b) et f (a, c) sont à la fois vrai et faux. Que se passe-t-il, et que puis-je faire pour que Prolog réponde (uniquement) à ces requêtes?
Bon sang, bonne question. –