失敗による否定
n o t q ≡ n o t s ∧ n o t t {\displaystyle {\mathit {not}}~q\equiv {\mathit {not}}~s\land {\mathit {not}}~t}
n o t t ≡ f a l s e {\displaystyle {\mathit {not}}~t\equiv {\mathit {false}}}
n o t r ≡ t r u e {\displaystyle {\mathit {not}}~r\equiv {\mathit {true}}}
n o t s ≡ t r u e {\displaystyle {\mathit {not}}~s\equiv {\mathit {true}}}
命題論理的でない場合、別の名を持つ個体項は別の項であるという前提を形式化するため、完全性は等価性公理にまで敷衍される必要がある。NAF ではこれをユニフィケーションの失敗でシミュレートする。例えば、次の2つの節だけがあるとする。
p ( a ) ← {\displaystyle p(a)\leftarrow } p ( b ) ← {\displaystyle p(b)\leftarrow }
NAF によれば、ここから n o t p ( c ) {\displaystyle {\mathit {not}}~p(c)} が導出される。
プログラムの完全性は次のようになる。
p ( X ) ≡ X = a ∨ X = b {\displaystyle p(X)\equiv X=a\lor X=b}
ここでは、単一名公理と領域閉包公理によって敷衍されている。
完全性意味論はサーカムスクリプションと閉世界仮説に密接に関連している。