这个问题感觉它应该比我更简单,因此我的最终问题是:有更简单的方法吗?在逻辑上,我们知道
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没有更简单的证据吗?
答案 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 文本中找到。两者的链接都在下面。
析取关系引入(∨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/