否定为失败是对逻辑否定做的释义，依据公式的否定为真，当且仅当这个公式不能被证明为真。否定为失败用于逻辑编程语言比如Prolog。在逻辑中，否定的标准解释是公式的否定为真，当且仅当这个公式为假。如果这个公式非真非假，它的否定被当作是未知。反过来，依据否定为失败的解释，这个公式的否定被当作为真。在 Prolog 中用的否定被解释器按否定为失败处理。假如程序执行期间，解释器必须求值 NOT a(b)，它尝试证明 a(b) 为真。如果这个尝试不成功，则 NOT a(b) 被当作为真。否定为失败与把不知