A或B = B或A证明(自然扣除)

时间:2016-04-24 10:47:26

标签: logic commutativity

这个问题感觉它应该比我更简单,因此我的最终问题是:有更简单的方法吗?在逻辑上,我们知道

A v B = B v A

但在自然演绎中,我们使用我们的v-Introductions,RAA等来证明这些等价性。在解决实践问题的过程中,我遇到了证明这种可交换性质的需要,但我发现它非常困难。在我看来,证据将从这样开始:

1. A v B            given
2.     ¬(B v A)     assume
3.     ¬B ^ ¬A      2, deMorgan's
4.     ¬A           3, ^-elimination
5.     ¬B           3, ^-elimination
6.     ¬A ^ ¬B      4, 5, ^-I
7.     ¬(A v B)     6, deMorgan's
?. B v A            2, 7 RAA

现在我们发现自己处在一个必须证明deMorgan的位置。 A v B = B v A没有更简单的证据吗?

3 个答案:

答案 0 :(得分:2)

您可以创建真实的表并进行比较

 A    | B     | A v B
true  | true  | true
true  | false | true
false | true  | true
false | false | false


 A    | B     | B v A
true  | true  | true
true  | false | true
false | true  | true
false | false | false

表相等,表达式相等。

答案 1 :(得分:2)

如果不为您解决整个问题,请尝试以下方法:

std::cout<<data<<std::endl

答案 2 :(得分:0)

以下证明使用了Klement的证明检查器。其他信息可以在 forallx 文本中找到。两者的链接都在下面。

enter image description here

析取关系引入(∨I)允许以不同的顺序重建析取关系。

一个人使用相交消除消除(∨E)在最后一行完成证明,该相交消除参考相交本身(第1行),第一个相交子证明(第2-3行)达到期望的结果,第二个相异子证明(第4行) 5)达到理想的结果。


参考

Kevin Klement的JavaScript / PHP Fitch风格自然演绎证明编辑器和检查器http://proofs.openlogicproject.org/

P。 D.Magnus,Tim Button和J.Robert Loftis的补充内容由Aaron Thomas-Bolduc,Richard Zach,forallx Calgary Remix混音和修订,2018年冬季。http://forallx.openlogicproject.org/