命题逻辑:CNF转换

时间:2019-02-03 09:50:52

标签: logic cnf

我正在尝试解决一个简单的练习,其中我必须在CNF中转换一个命题句子:

这句话是: P =>(Q <=> R)

根据解析规则,我要做的第一件事就是以这种方式消除<=>符号:

P =>(Q <=> R) ---> P =>(Q V R)/ \(R V Q)

然后我删除了=>符号:

P =>(Q V R)/ \(R V Q) ------> ¬PV(Q V R)/ \(R V Q)

所以我的解决方案是:(¬PV Q V R)/ \(¬PV R V Q)

正确的是:(¬PV¬QV R)/ \(¬PV¬RV Q)

任何人都可以帮助我了解我哪里出错了吗?

1 个答案:

答案 0 :(得分:1)

StackOverflow用于编程问题,该问题使主题脱离主题。但是,既然我已经键入了那么多文字,那么让我添加您的第一步...

P => (Q <=> R) ---> P => (Q V R) ^ (R V Q)

不正确。

您知道Q<=>R的含义是(Q=>R)^(R=>Q),对吗?因此,替换它是第一步。然后,您可以使用等价(Q=>R) ---> (~QvR)(R=>Q) ---> (~RvQ)

把你在一起应该得到...

P => (Q <=> R) ---> P => (~Q V R) ^ (~R V Q)

我想您可以解决其余的问题。