The predicates of this section implement control structures.
Conjunction.
','(First, Second) is true if and only if First is true and Second is true.
Disjunction.
';'(Either, Or) is true if and only if either Either or Or is true.
Invoke a callable term as a goal.
call(Goal, Arg1, ..., ArgN) is true if and only if Goal represents a goal which is true for the (optional) arguments Arg1, ..., ArgN.
Raise an exception.
throw(Exception) raise the Exception exception. The system looks for the innermost catch/3 ancestor for which Exception unifies with the Catcher argument of the catch/3 call.
Enable recovery from exceptions.
catch(Goal, Catcher, Handler) behaves as call/1 if no exception is raised when executing Goal. If an exception is raised using throw/1 while Goal executes, and the Goal is the innermost goal for which Catcher unifies with the argument of throw/1, all choice points generated by Goal are cut, the system backtracks to the start of catch/3 while preserving the thrown exception term, and Handler is called as in call/1.
Truth degree.
truth_degree(Goal, TD) is true if TD is the truth degree for the goal Goal.