# Negation as failure

 Related e Wikipedia Wiktionary Shop Featured: Kunstformen der Natur (1904) by Ernst Haeckel

Negation as failure (NAF, for short) is a non-monotonic inference rule in logic programming, used to derive $\mathrm{not}~p$ (i.e. that $~p$ is assumed not to hold) from failure to derive $~p$. Note that $\mathrm{not} ~p$ can be different from the statement $\neg p$ of the logical negation of $~p$, depending on the completeness of the inference algorithm and thus also on the formal logic system.

Negation as failure has been an important feature of logic programming since the earliest days of both Planner and Prolog. In Prolog, it is usually implemented using Prolog's extralogical constructs.