The Exception Port

The exception port is shown as an arrow to the left of the goal, pointing away from it. The tail of this arrow is broken, suggesting that something may be wrong with the program or data.

                         descendant(X, Y, 1) :-
                                 parent(X, Y).
                         descendant(X, Z, N) :-
                                 parent(X, Y),
                            <- - descendant(Y, Z, N1),
                                 N1 is N+1.
The Exception Port