Why the answer contains a `false`?

There are different choice points though, arising by different mechanisms and with varying levels of the annoyance factor.

I noticed you liked an old post of mine. There, the premise is, I know I am writing “procedural” or “functional” code in Prolog and if there is a choice point, I probably messed up somewhere during the coding.

A completely different case is something like:

?- member(a, [a, b]).
true ;
false.

Here, the choice point is benign and unless you do something very funky, it won’t change the meaning of your program. Additionally, avoiding such choice points easily becomes a tar pit of wasted effort.


And to correct a misunderstanding, by just repeating the comment by @kuniaki.mukai : there is no “false” in any answer. On the top level (interactive by design!) you get “more solutions might be available” prompt, and when you ask, you get “no more solutions” as “false”. The solution does not contain “false”.