0

由于 ((NOT A) XOR B) 和 A→B ("iff....then") (~A→~B) 在逻辑上是相同的(例如,除非发生身份验证,否则无法登录)这是否有任何实际用途或只是一个逻辑重言式,程序员可以任意决定在哪里使用 XOR 以及在哪里使用 if...then?

一个示例重写是 payment→delivery ("iff payment() == 'complete' then delivery()") 重写为 ((NOT payment()) XOR delivery())

编辑:真值表

A: 付款 B: 交货

AB A' (A→B) (A' XOR B) (A' OR B)
TTFTTT
TFFFFF

失败在哪里

AB A' (A→B) (A' XOR B) (A' OR B)
TFFFFF

并且 A 为假的情况只是一个假 B,以下所有内容仅意味着 B 为假(因为不是 A)。

AB A' (A→B) (A' XOR B) (A' OR B)
FTTT       _            _
飞腾

或者goal → score ^ ¬goal→¬score说存在确定性,没有其他方法(如果你不进球,你就不能得分)。

4

1 回答 1

2

A→B 等价于 (A' OR B)。这些在逻辑上是相同的,可以互换使用。

为 A→B 和 (A' XOR B) 构建真值表,您会发现它们在逻辑上并不等价。

编辑:这是真值表

EDIT2:用(B iff A)更新了真值表,是的,在逻辑上等同于(A' XOR B)并且可以互换使用。

AB A' (A→B) (A' XOR B) (A' OR B) (B 当且仅当 A)
TTTTTT
TFFFFFF
FTTT       F            TF
FFTTTTT
于 2013-03-17T01:48:52.177 回答