合取范式 任何

在布尔逻辑中,一个公式是合取范式(CNF)的,如果它是子句的合取。作为规范形式,它在自动定理证明中有用。它类似于在电路理论中的规范和之积形式。 所有的文字的合取和所有的文字的析取是 CNF 的,因为可以被分别看作一个文字的子句的合取和一个单一子句的合取。和析取范式(DNF)中一样,在 CNF 公式中可以包含的命题连结词是与、或和非。非算子只能用做文字的一部分,这意味着它只能领先于命题变量。 例如,下列所有公式都是 CNF:

A \wedge B \neg A \wedge (B \vee C) (A \vee B) \wedge (\neg B \vee C \vee \neg D) \wedge (D \vee \neg E) (\neg B \vee C) 

而下列不是:

\neg (B \vee C) (A \wedge B) \vee C A \wedge (B \vee (D \wedge E)) 

上述三个公式分别等价于合取范式的下列三个公式:

\neg B \wedge \neg C (A \vee C) \wedge (B \vee C) A \wedge (B \vee D) \wedge (B \vee E) 

所有命题公式都可以转换成 CNF 的等价公式。这种变换基于了关于逻辑等价的规则: 双重否定律、德·摩根定律和分配律。 因为所有逻辑公式都可以转换成合取范式的等价公式,证明经常基于所有公式都是 CNF 的假定。但是在某些情况下,这种到 CNF 的转换可能导致公式的指数性爆涨。例如,把下述非-CNF 公式转换成 CNF 生成有 2n 个子句的公式:

(X_1 \wedge Y_1) \vee (X_2 \wedge Y_2) \vee \dots \vee (X_n \wedge Y_n)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值