Prolog 中用的否定被解释器按否定为失败处理。假如程序执行期间，解释器必须求值 NOT a(b)，它尝试证明 a(b) 为真。如果这个尝试不成功，则 NOT a(b) 被当作为真。否定为失败与把不知道为真的东西做为假的常见缺省假定有关。这叫做封闭世界假定。