!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.