失敗による否定
純粋な Prolog では、 n o t p {\displaystyle {\mathit {not}}~p} という形式で表される NAF リテラルは節本体に現れ、他の NAF リテラルを導出するのに使われる。例えば、次のような4つの節があるとする。
p ← q ∧ n o t r {\displaystyle p\leftarrow q\land {\mathit {not}}~r}
q ← s {\displaystyle q\leftarrow s}
q ← t {\displaystyle q\leftarrow t}
t ← {\displaystyle t\leftarrow }
NAF によれば、 n o t s {\displaystyle {\mathit {not}}~s} 、 n o t r {\displaystyle {\mathit {not}}~r} 、 p {\displaystyle p} が導出される。
完全性意味論は、NAF 推論の結果 n o t p {\displaystyle {\mathit {not}}~p} を古典的な p {\displaystyle p} の否定 ¬ p {\displaystyle \neg p} として解釈する。しかし、Michael Gelford (1987) では、 n o t p {\displaystyle {\mathit {not}}~p} を自己認識論理において「 p {\displaystyle p} を示すことができない」、あるいは「 p {\displaystyle p} は未知である」、あるいは「 p {\displaystyle p} は信じられていない」と解釈することも可能であるとした。自己認識的解釈は、さらに Gelford と Lifschitz (1988) で研究が進み、解集合プログラミングの基盤となった。
NAF リテラルを含む純粋 Prolog のプログラム P の自己認識意味論は、基底(変数を伴わない)NAF リテラルの集合 Δ を使った P の「展開; expanssion」で得られ、これは安定モデル意味論で次のような意味を持つ。
Δ = { n o t p {\displaystyle {\mathit {not}}~p} | p {\displaystyle p} は P ∪ Δ に含まれない}
言い換えれば、何が示せないかに関する前提の集合 Δ が安定であることは、Δによって展開されたプログラム P から真であることを示せない全ての文の集合が Δ であることと同値である。ここで、純粋 Prolog プログラムの文法は単純であるため、「含意」は単にモーダスポネンスと普遍例化のみで導出されるものと解釈される。