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?

questionAnswers(2)

yourAnswerToTheQuestion