A goal that is satisfied when another goal fails.
kw
not {condition}*
condition⇩ |
Any backward chaining goal. |
If the backward chaining goal not
is used in a backward chaining clause, it succeeds if condition fails. In this usage, only one condition is allowed.
If not
is used in a forward chaining pre-condition, it succeeds if any condition contained within it fail. In this usage, each condition may only contain expressions normally allowed in forward chaining pre-conditions (object base references and lisp tests). See 3.1.2 Forward Chaining Syntax for more details.
(not (truck ?truck driver ?driver) (test ?driver))
KnowledgeWorks and Prolog User Guide (Unix version) - 01 Dec 2021 19:35:49