何时使用XOR以及何时使用IFF?

时间:2013-03-17 01:17:26

标签: if-statement xor rule declarative paradigms

由于((NOT A)XOR B)和A→B(“iff .... then”)(〜A→~B)在逻辑上相同(例如,除非认证发生,否则不能进行登录)是否有任何实际使用或只是一个逻辑重言式,程序员可以随意决定在哪里使用XOR以及在哪里使用...如果......?

重写的示例是付款→交付(“iff payment()=='完成'然后交付()”)重写为((不付款())异或交付())

编辑:真相表

答:付款 B:交货

A  B  A' (A→B) (A' XOR B) (A' OR B)
T  T  F    T      T           T
T  F  F    F      F           F

失败的地方

A  B  A' (A→B) (A' XOR B) (A' OR B)
T  F  F    F      F           F

A是假的情况只是假B而且以下全部只是意味着B是假的(因为不是A)。

A  B  A' (A→B) (A' XOR B) (A' OR B)
F  T  T    T      F           T
F  F  T    T      T           T

goal → score ^ ¬goal→¬score因此存在决定论而没有其他方式(如果你没有达成目标就无法得分)。

1 个答案:

答案 0 :(得分:2)

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

构建A→B和(A'XOR B)的真值表,你会发现它们在逻辑上并不相同。

编辑:这是真相表

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

A  B  A' (A→B) (A' XOR B) (A' OR B)    (B iff A)
T  T  F    T      T           T           T
T  F  F    F      F           F           F
F  T  T    T      F           T           F
F  F  T    T      T           T           T