Logic 如何将这些前提转换为逻辑参数?

Logic 如何将这些前提转换为逻辑参数?,logic,expression,Logic,Expression,我有以下三个场所: P or Q P => R Q => R 符号=>表示“暗示”操作。我知道这些前提构成了一个两难的境地,但如何将它们组合成一个逻辑表达式?蕴涵a=>B应该被理解为“如果a是真的,B就不能是假的”。对于布尔代数,它有一个等价的公式:蕴涵a=>B是(!a | | B) 在你的例子中,p=>R~!P | | R,Q=>R~!Q | | R所以我们有!(P | | Q)&R 更新:复杂表达式通常由&-ing简单表达式生成。最有可能的是你应该证明一些表达式X(比如说P==

我有以下三个场所:

P or Q
P => R
Q => R

符号=>表示“暗示”操作。我知道这些前提构成了一个两难的境地,但如何将它们组合成一个逻辑表达式?

蕴涵a=>B应该被理解为“如果a是真的,B就不能是假的”。对于布尔代数,它有一个等价的公式:蕴涵a=>B是(!a | | B)

在你的例子中,p=>R~!P | | R,Q=>R~!Q | | R所以我们有!(P | | Q)&R

更新:复杂表达式通常由&-ing简单表达式生成。最有可能的是你应该证明一些表达式X(比如说P==“下雨了”,Q==“下雪了”,R==“我要带把伞”。你应该证明X==“如果下雨下雪了,我就带把伞”)


所以你需要((p | | Q)&&&(p=>R)&&(Q=>R))=>X。当简单表达式为真时,你应该检查它是否适用于所有情况。左半部分正好等于P | | Q&&R

,因为列表中的每个命题同时为真,所以它们之间有一个隐含的

(P v Q) ^ (P => R) ^ (Q => R)
但是我们知道
(pvq)
真的

True ^ (P => R) ^ (Q => R)
~True v R
这就给我们留下了:

(P => R) ^ (Q => R)
p=>R
这样的含义可以翻译为:

~(P ^ ~R)
可转换为:

(~P v R)
利用这一点,我们有:

(~P v R) ^ (~Q v R)
如果我们进行因子分解,我们得到:

(~P ^ ~Q) v R
自:

(~P ^ ~Q) == ~(P v Q)
我们有:

~(P v Q) v R
但是我们知道
(pvq)
真的

True ^ (P => R) ^ (Q => R)
~True v R
或:

这就引出了最终的答案:

R

在自然推理中,问题的初始呈现是公正的或消除的。这是直觉逻辑的原理,这里不需要关于布尔代数的经典论证

直观地说,pvq类似于p或Q的不相交和的类型(类似于某些编程语言中的并集类型)。如果你有一种方法从P=>R出发,另一种方法从Q=>R出发——换句话说,分别是这种类型的函数——你可以把它们放在一起,以消除析取,并在这两种情况下得到结果R

这有时表现为高阶函数组合,如下所示:

case: P v Q => (P => R) => (Q => R) => R
实际上,你可以定义p v Q是逻辑运算符,它允许对任意R进行推理


进一步注意,这是Curry Howard逻辑与编程通信的一个关键方面。

为什么不是(!Q | | R)|(!p | | R)?感谢您迄今为止的帮助。我不明白你是怎么把方程式简化成这样的!(P | | Q)和&R?第一句话说
(P | | Q)
真的
,所以你的最终答案实际上是
!True&&R
,或
False&&R
,始终为
False
。这个答案是错误的。你错过的部分是在分解中,
!(P|Q)和&R
,应该是
!(P||Q)|R
。编辑,我将删除-1。您是如何将(~pvr)^(~qvr)分解为(~P^~Q)vr的?(~pvr)^(~qvr)-->(~pvr)^~qv(~qvr)^R-->~P^~qvr^~qv~Q^R^R-->~P^~qvr^~qv~Q^R-->现在使用公式A或(A和B)=A-->R!!!或者我做错了什么?~P^~Q v R^~Q v~Q^R v R^R-->~P^~Q v R^~Q v~R v R必须理解为~P^~Q v R^~Q v~P^R v R^R-->~P^~Q v R^~Q v~P^R v R我们知道(P v Q)是真的吗?除此之外,我再也没有比这更好的答案了,谢谢@在进退两难中,你断言每一个命题都是正确的。当你解它时,你要么得到一个结果,要么得到一个矛盾,证明所有命题不可能同时为真。你也可以将(P v Q)保持到最后。这将是一个较长方程的演示,但结果将是相同的,因为您将得到类似于
(pvq)^~(pvq)vr
,即
R
。在我使用的方法中(我不记得它的名字),你把第一个命题作为给定的命题,然后证明其他命题是否成立。你能澄清这些前提的来源吗?它们都是假设,还是必须用其他方法证明其中的一些?或者你应该用它们来解决问题?