!TITLE Extra Control
!KEY

 !          Cut  (discard) all choice points made since the parent goal started
            execution.

not P       If the goal P has a solution,  fail,  otherwise  succeed.    It  is
            defined as if by

                not(P) :- P, !, fail.
                not(_).

\+ P        Identical to not (this is provided for DEC10 Prolog compatibility).

P -> Q ; R  Analogous to

                "if P then Q else R"

            i.e.  defined as if by

                P -> Q; R :- P, !, Q.
                P-> Q; R :- R.

P -> Q      When  occurring  other  than  as  one  of  the  alternatives  of  a
            disjunction, is equivalent to

                P -> Q; fail.

repeat      Generates an infinite sequence of backtracking choices.  It behaves
            as if defined by the clauses:

                repeat.
                repeat :- repeat.
fail        Always fails.

