将此逻辑句子转换为Conjunctive Normal Form

时间:2016-03-30 21:51:20

标签: math logic conjunctive-normal-form boolean-algebra

我正在努力将这句话改为CNF:

(A∨B)⇔(C∧D)。

我已经尝试使用Biconditional消除逻辑规则来消除⇔。

(A∨B)→(C∧D)∧(C∧D)→(A∨B)。

然后我用Implication消除逻辑规则消除了→。现在我有了

¬(A∨B)∨(C∧D)∧¬(C∧D)∨(A∨B)。

我几乎被困在这里。我的教授说我应该使用分配规则来减少句子。我似乎找不到符合分配规则要求的任何东西。所以,在做一些我不知道的逻辑规则之前,我似乎无法使用分配规则。

我在这里缺少什么? Stack Stack Over帮助我恢复转换为CNF吗?

1 个答案:

答案 0 :(得分:0)

你从表达式开始:

  • (A∨B)⇔(C∧D)。

您尝试执行前几个步骤。在这里,我添加了括号以清楚正确:

  • [(A∨B)→(C∧D)]∧[(C∧D)→(A∨B)]。 (根据⇔的定义)
  • [¬(A∨B)∨(C∧D)]∧[¬(C∧D)∨(A∨B)]。 (按→的定义)

将De Morgan否定定律应用于¬(A∨B)和¬(C∧D):

  • [(¬A∧¬B)∨(C∧D)]∧[(¬C∨¬D)∨(A∨B)]。

简化右半部分:

  • [(¬A∧¬B)∨(C∧D)]∧[¬C∨¬D∨A∨B]。

∨over∧的分布规律指出:X∨(Y∧Z)⇔(X∨Y)∧(X∨Z)。

我们将法则应用于左半部分,X =(¬A∧¬B),Y = C,Z = D:

  • [((¬A∧¬B)∨C)∧((¬A∧¬B)∨D)]∧[¬C∨¬D∨A∨B]。

将分配律应用于左半部分的两个子表达式:

  • [[(¬A∨C)∧(¬B∨C)]∧[(¬A∨D)∧(¬B∨D)]]∧[¬C∨¬D∨A∨B]。< / LI>

删除额外的括号,因为∧是关联的和可交换的:

  • (¬A∨C)∧(¬B∨C)∧(¬A∨D)∧(¬B∨D)∧[¬C∨¬D∨A∨B]。

重新排列变量,我们的最终公式采用联合正常形式(CNF):

  • (¬A∨C)∧(¬A∨D)∧(¬B∨C)∧(¬B∨D)∧(A∨B∨¬C∨¬D)。