Моя база знаний SWI-Prolog содержит следующие два факта:
f(a,b).
f(a,c).
Теперь, если я поставил запрос
?- f(a,c).
true.
Но
?- f(a,b).
true ;
false.
Почему f (a, b) истинно и ложно? Это также происходит, когда в КБ есть три факта. Если я добавлю f (a, d). к КБ, то f (a, d) истинно (только), но f (a, b) и f (a, c) являются истинными и ложными. Что происходит, и что я могу сделать, чтобы Prolog отвечал (только) на эти запросы?