Documentation Prolog Predicate Reference builtin ->;/3




:callable_term -> :callable_term ; :callable_term

If -> Then ; Else, or '->'(';'(If, Then), Else) is true if and only if If is true and Then is true for the first solution of If, or if If is false and Else is true for the first value with which If fails.

The semantics is the same as:

If -> Then; _Else :- If, !, Then.
If -> _Then; Else :- !, Else.
If -> Then :- If, !, Then.