Math 将这个逻辑句子转换为连接范式

Math 将这个逻辑句子转换为连接范式,math,logic,conjunctive-normal-form,boolean-algebra,Math,Logic,Conjunctive Normal Form,Boolean Algebra,我正在努力将这句话转换成CNF: (一)∨ (B)⇔ (C)∧ D) 我已经尝试使用双条件消除逻辑规则来消除⇔. (一)∨ (B)→ (C)∧ (D)∧ (C)∧ (D)→ (一)∨ B) 然后我消除了→ 用蕴涵消元逻辑规则。现在我有 (A)∨ (B)∨ (C)∧ (D)∧ (C)∧ (D)∨ (一)∨ B) 我几乎被困在这里了。我的教授说我应该使用分配规则来减少句子。我似乎找不到任何符合分配规则要求的东西。所以,在做一些我不知道的逻辑规则之前,我似乎不能使用分配性规则 我错过了什么?堆栈

我正在努力将这句话转换成CNF:

(一)∨ (B)⇔ (C)∧ D)

我已经尝试使用双条件消除逻辑规则来消除⇔.

(一)∨ (B)→ (C)∧ (D)∧ (C)∧ (D)→ (一)∨ B)

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

(A)∨ (B)∨ (C)∧ (D)∧ (C)∧ (D)∨ (一)∨ B)

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


我错过了什么?堆栈溢出可以帮助我恢复到CNF的转换吗?

您从表达式开始:

  • (一)∨ (B)⇔ (C)∧ D)
您试图执行前几个步骤。在这里,我添加了括号,以明确和正确:

  • [(A)∨ (B)→ (C)∧ D) ]∧ [(C)∧ (D)→ (一)∨ B) 】。(根据定义)⇔)
  • [……(A)∨ (B)∨ (C)∧ D) ]∧ [……(C)∧ (D)∨ (一)∨ B) [(按定义)→)

将德摩根否定定律应用于(A)∨ B) 和(C)∧ D) :

  • [(A)∧ (B)∨ (C)∧ D) ]∧ [(C)∨ (D)∨ (一)∨ B) 】
简化右半部分:

  • [(A)∧ (B)∨ (C)∧ D) ]∧ [C]∨ D∨ A.∨ B]
分配律∨ 结束∧ 声明:X∨ (Y)∧ Z)⇔ (十)∨ Y)∧ (十)∨ 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]
移除额外的支架,因为∧ 是关联的和可交换的:

  • (A)∨ (C)∧ (-B)∨ (C)∧ (A)∨ (D)∧ (-B)∨ (D)∧ [C]∨ D∨ A.∨ B]
重新排列变量,我们的最终公式为合取范式(CNF):

  • (A)∨ (C)∧ (A)∨ (D)∧ (-B)∨ (C)∧ (-B)∨ (D)∧ (一)∨ B∨ -C∨ (D)

在括号之前,只需将所有内容放在括号内,并将运算符放在括号内。其余的问题通过乘法解决,想象(A+B)*(C+D)并用逻辑运算符替换。顺便说一句,这里有一个错误:最后一个运算符必须是∧你确定这个错误吗?我检查了我的作业三次。在课堂笔记上说,双条件消除逻辑是(a)⇔ (b)≡ ((a)→ (b)∧ (b)→ a) )和蕴涵消除逻辑是(a→ (b)≡ (a)∨ b) 是的,这似乎是对的,请原谅你需要在公式3的左右部分加上括号,在公式2中也会更好。