§2.4范式
在命题逻辑中,对于含有有限个原子的命题公式来说,用真值表的方法,总可以在有限的步骤内确定它的真值,因此判定问题总是可解的。但是我们知道,这种方法并不理想,因为公式每增加一个原子,真值表的行数就增加一倍。为了给出另外一种方法,我们将介绍命题公式的一种标准形式,即范式,两个命题公式是否等价及一个公式是否恒假(或恒真)的判定,都将由公式的范式来解决。
定义2.4.1.原子或原子的否定称为文字。例如,P,¬P是文字。
定义2.4.2.有限个文字的析取式称为一个子句;有限个文字的合取式称为一个短语。
特别,一个文字既可称为一个子句,也可称为一个短语。
例如,P,P∨Q,¬P∨Q是子句;P,P∧Q,¬P∧¬Q是短语。
定义2.4.3.有限个短语的析取式称为析取范式;有限个子句的合取式称为合取范式。
特别,一个文字即可称为是一个合取范式,也可称为是一个析取范式。一个子句,一个短语即可看作是合取范式,也可以看作是析取范式。
例如,P,P∧Q,P∨Q,(P∧Q)∨(¬P∧¬Q)是析取范式。
P,P∧Q,P∨Q,(P∨Q)∧(¬P∨R)是合取范式。
定理2.4.1.对于任意命题公式,都存在等价于它的析取范式和合取范式。
证:对于公式G,通过如下算法即可得出等价于G的范式:步1.使用基本等价式,将G中的逻辑联结词→,↔删除。步2.使用¬(¬H)=H和DeMorgan律,将G中所有的否定号¬都放在原子之前。步3.反复使用分配律,即可得到等价于G的方式。
例如,G=(P∧(Q→R))→S=¬(P∧(¬Q∨R))∨S=¬P∨¬(¬Q∨R)∨S=¬P∨(Q∧¬R)∨S(析取范式)=¬P∨(Q∧¬R)∨(S∧(Q∨¬Q))=¬P∨(Q∧¬R)∨(S∧Q)∨(S∧¬Q)(析取范式)=(¬P∨S)∨(Q∧¬R)=(¬P∨S∨Q)∧(¬P∨S∨¬R)(合取范式)
显然,给出一个公式G,它的范式式是不唯一的,能否有唯一的标准形式呢?有,这就是下面将要引进的主范式的概念。
定义2.4.4.设P 1 ,⋯,P n 是n个不同原子,一个短语如果恰好包含所有这n个原子或其否定,其排列顺序与P 1 ,⋯,P n 的顺序一致,则称此短语为关于P 1 ,⋯,P n 的一个极小项。显然,共有2 n 个不同的极小项。例如,对原子P,Q,R而言,P∧¬Q∧R,P∧Q∧¬R,P∧Q∧R都是极小项,但是,P,¬P∧Q不是极小项,而¬P∧Q对原子P,Q而言是极小项。显然,对于n个原子P 1 ,⋯,P n 而言,其不同的解释共有2 n 个,对于P 1 ,⋯,P n 的任一个极小项m,2 n 个解释中,有且只有一个解释使m取1值。
例如,对P,Q,R而言,¬P∧Q∧¬R是极小项,解释{¬P,Q,¬R}使该极小项取1值,其它解释都使该极小项取0值。如果将真值1,0看做是数,则每一个解释对应一个n位二进制数。假设使极小项m取1值的解释对应的二进制数位i,将m记为m i 。例如,对P,Q,R而言,¬P∧Q∧¬R是极小项,解释(0,1,0)使该极小项取1值,解释(0,1,0)对应的二进制数是2,于是¬P∧Q∧¬R记为m 2 。对P,Q,R而言,8个极小项与其对应的解释如下:
极小项 | 解释 | 记法 |
---|---|---|
¬P∧¬Q∧¬R | 0 0 0 | m 0 |
¬P∧¬Q∧R | 0 0 1 | m 1 |
¬P∧Q∧¬R | 0 1 0 | m 2 |
¬P∧Q∧R | 0 1 1 | m 3 |
P∧¬Q∧¬R | 1 0 0 | m 4 |
P∧¬Q∧R | 1 0 1 | m 5 |
P∧Q∧¬R | 1 1 0 | m 6 |
P∧Q∧R | 1 1 1 | m 7 |
因此,一般地,对P 1 ,⋯,P n 而言,2 n 个极小项为m 0 ,m 1 ,m 2 ,⋯,m 2 n −1 。
定义2.4.5.设命题公式G中所有不同原子为P 1 ,⋯,P n ,如果G的某个析取范式G ′ 中的每一个短语,都是关于P 1 ,⋯,P n 的一个极小项,则称G ′ 为G的主析取范式。恒假公式的主析取范式用0表示。
定理2.4.2.对于命题公式G,都存在等价于它的主析取范式。
证:由定理2.4.1知,存在析取范式G ′ ,使得G=G ′ 。设G中所有不同原子为P 1 ,⋯,P n ,对于G ′ 中每一个短语G ′ i 进行检查,如果G ′ i 不是关于P 1 ,⋯,P n 的极小项,则G ′ i 中必然缺少原子P j1 ,⋯,P jk 。因为G ′ i =G ′ i ∧(P j1 ∨¬P j1 )∧⋯∧(P jk ∨¬P jk )=m i 1 ∨⋯∨m i 2 k 于是将G ′ 中非极小项G ′ i 化成了一些极小项之析取。对G ′ 中其它非极小项也做如上处理,最后得等价于G的主析取范式G∗。
定理2.4.5的证明中,实际上给出了求公式的主析取范式的方法
例如,G=¬(R→P)∨(Q∧(P∨R))=¬(¬R∨P)∨(Q∧P)∨(Q∧R)=(¬P∧R)∨(Q∧P)∨(Q∧R)=((¬P∧R)∧(¬Q∨Q))∨((Q∧P)∧(¬R∨R))∨((Q∧R)∧(¬P∨P))=(¬P∧Q∧R)∨(¬P∧¬Q∧R)∨(P∧Q∧R)∨(P∧Q∧¬R)
寻找与公式等价的主析取范式,也可以通过真值表来做。
例如,公式G=(P∧Q)∨(¬P∧R)∨(Q∧R)
P | Q | R | G |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
于是,G的主析取范式为(¬P∧¬Q∧R)∨(¬P∧Q∧R)∨(P∧Q∧¬R)∨(P∧Q∧R)
下面我们来证明这种方法的正确性。对于公式G,用这种方法写出主析取方式G ′ ,若解释I使G取1值,而在I下取1值的唯一极小项写在G ′ 中,故G ′ 也取1值,若I使G取0值,而在I下取1的唯一极小项不在G ′ 中且I弄假其它所有极小项,故G ′ 取0值,所以G ′ 是与G等价的主析取范式。
定理2.4.3.设公式G,H是关于原子P 1 ,⋯,P n 的两个主析取范式。如果G,H不完全相同,则G,H不等价。
证:因为G,H不完全相同,所以或者G中有一个极小项不在H中;或者反之。不妨设极小项m i 在G中而不在H中。于是根据极小项的性质,二进制数i所对应的关系P 1 ,⋯,P n 的解释I i 使m i 取1值,从而使公式G取1值。I i 使所有不是m i 的极小项取0值,从而使公式H取0值。故G,H不等价。
定理2.4.4.对于任意公式G,存在唯一一个与G等价的主析取范式。
2.4.3恒真恒假性的判定
引理:短语是恒假的当且仅当至少有一个原子及其否定(也称互补对)同时在此短语中出现。
证明:充分性,若有一个原子P及其否定¬P同时出现在短语中,则此短语有形式:P∧¬P∧⋯显然,不管是什么解释I,P∧¬P在I下取0值,于是此短语在I下取0值,故此短语恒假。必要性,若短语恒假,而任意原子及其否定均不同时在短语中出现。那么,取这样的解释I:指定带有否定号的原子取0值,不带否定号的原子取1值,显然,此短语在这个解释I下取1值,与此短语恒假矛盾。
定理2.4.5.命题公式G是恒假的当且仅当在等价于它的析取范式中,每个短语均至少包含一个原子及其否定。
证:设G的析取范式如下:G=G 1 ∨⋯∨G n 其中G i 是短语,I=1,⋯,n。公式G恒假的充要条件是每个G i 恒假。在根据引理,此定理结论成立。
例2.4.1.判定公式G=(P→Q)∧(Q→R)∧(R→P)是否恒假?
解:G=(P→Q)∧(Q→R)∧(R→P)=(¬P∨Q)∧(¬Q∨R)∧(¬R∨P)=((¬P∧¬Q)∨(Q∧¬Q)∨(¬P∧R)∨(Q∧R))∧(¬R∨P)=(¬P∧¬Q∧¬R)∨(Q∧¬Q∧¬R)∨(¬P∧R∧¬R)∨(Q∧R∧¬R)∨(¬P∧¬Q∧P)∨(Q∧¬Q∧P)∨(¬P∧R∧P)∨(Q∧R∧P)故公式G不是恒假的。
例2.4.2.判定公式G=(P→Q)∧P∧¬Q是否恒假?
解:G=(P→Q)∧P∧¬Q=(¬P∨Q)∧P∧¬Q=(¬P∧P∧¬Q)∨(Q∧P∧¬Q)故公式G是恒假的。
我们还可以使用下列两种方法解决判定问题:
1.把公式化成主析取范式,公式恒假时,主析取范式没有极小项;公式恒真时,主析取范式有全部极小项。
2.一种判定算法:对任给要判定的命题公式G,设其中有原子P 1 ,P 2 ,⋯,P n ,令P 1 取1值,求G的真值,或为1,或为0,或称为新公式G 1 且其中只有原子P 2 ,⋯,P n ,再令P 1 取0值,求G真值,如此继续,到最终只含0或1为止,若最终结果全为1,则公式G恒真,若最终结果全为0,则公式G恒假,若最终结果有1,有0,则是可满足的。
例2.4.3.判定此公式的恒真恒假:(P∧Q→R)∧(P→Q)→(P→R)
解:(P∧Q→R)∧(P→Q)→(P→R)P取1值↙↘P取0值(Q→R)∧Q→R1Q取1值↙↘Q取0值R→R1R取1值↙↘R取0值11所以,此公式是恒真的。