i'm new to Prolog, and try to understand why this very simple program is return 2 solutions : true AND false. For me, this should return only true, why return false too ?
predicate1(_,[]).
predicate1(X,[_|T]) :- predicate1(X,T).
?- predicate1(abc,[]).
Thanks for your help.
true. If it goes back to a choice point to find an other solution and doesn't find one, it then fails (to find another solution)\ and saysfalse. - lurker