Logic 为什么不';t标准化变量只会破坏解析的完整性

Logic 为什么不';t标准化变量只会破坏解析的完整性,logic,artificial-intelligence,knowledge-management,first-order-logic,conjunctive-normal-form,Logic,Artificial Intelligence,Knowledge Management,First Order Logic,Conjunctive Normal Form,我一直在读一些关于将一阶逻辑(FOL)句子转换为连接范式(CNF),然后执行解析的注释 转换为CNF的步骤之一是标准化变量 我一直在寻找,如果我不标准化变量,为什么解析算法的完整条件会违反,而可靠性不会违反 任何人都可以添加细节,为什么只是违反了完整性,而健全性仍然存在 以下是一个可能有助于您将其可视化的示例。假设你的理论是正确的 (适用于所有X:nice(X))或(适用于所有X:smart(X))(1) 如果将其标准化,将导致CNF: nice(X) or smart(Y) 也就是说,人口中

我一直在读一些关于将一阶逻辑(FOL)句子转换为连接范式(CNF),然后执行解析的注释

转换为CNF的步骤之一是标准化变量

我一直在寻找,如果我不标准化变量,为什么解析算法的完整条件会违反,而可靠性不会违反


任何人都可以添加细节,为什么只是违反了完整性,而健全性仍然存在

以下是一个可能有助于您将其可视化的示例。假设你的理论是正确的

(适用于所有X:nice(X))或(适用于所有X:smart(X))
(1)

如果将其标准化,将导致CNF:

nice(X) or smart(Y)
也就是说,人口中的每个人都很好,或者人口中的每个人都很聪明,或者两者兼而有之

拆下标准件将产生CNF

nice(X) or smart(X)
这相当于

(适用于所有X:nice(X)或smart(X))
(2)

也就是说,对于一个群体中的每一个人来说,这个人是善良的,或者聪明的,或者两者兼而有之

这个理论(2)比最初的理论(1)说得少,说得弱,因为它承认了一种情况,即不是每个人都好,也不是每个人都聪明,但每个人都是一个或另一个,或两者兼而有之。换句话说,(2)并不意味着(1),但(1)意味着(2)(如果整个人口都很好,那么每个人都很好;如果整个人口都很聪明,那么每个人都很聪明;因此,每个人要么很好,要么很聪明)。(2)所接受的可能世界的集合严格地大于(1)所接受的可能世界的集合

这说明了什么是完整性和可靠性

使用(2)是不完整的,因为我可以向您展示(1)中的一个真定理的反例,该定理在使用(2)时未被证明为真。考虑一下“如果约翰不聪明但聪明,那么丽兹聪明”的定理。这是正确的,因为如果所有人都有这两种品质中的一种,那么它一定是“聪明的”,因为约翰不好,所以利兹(和其他所有人)也一定是聪明的。然而,假设(2)这不再是真的(可能是Liz很好但不聪明,其他人都是一个或另一个,如果(2)给出,这仍然是可以的)。因此,我不能再使用(2)证明一个真正的定理(在标准化分解之后),因此我的推论是不完整的

现在假设我用(2)证明定理T是真的。这意味着T存在于(2)存在的所有可能世界中,包括(1)中存在的子集合(根据上文第三段)。因此,T在(1)中也是正确的,所以使用(2)进行推理仍然是正确的

简言之:当你不将其标准化时,你就“加入”了关于整个领域(群体)的陈述,并将它们变成关于个人的陈述,这将变得更弱,并且不会暗示以前暗示过的一些事实;它们将丢失,您的程序将无法完成