Por que essa consulta de prólogo é verdadeira e falsa?
Minha base de conhecimento do SWI-Prolog contém os dois fatos a seguir:
f(a,b).
f(a,c).
Agora, se eu fizer a consulta
?- f(a,c).
true.
Mas
?- f(a,b).
true ;
false.
Por que f (a, b) é verdadeiro e falso? Isso também acontece quando há três fatos no KB. Se eu anexar f (a, d). para o KB, então f (a, d) é verdadeiro (apenas), mas f (a, b) ef (a, c) são verdadeiros e falsos. O que está acontecendo e o que posso fazer para que o Prolog responda (apenas) fiel a essas consultas?