我有以下逻辑:
if(!(A || B)) {}
如何简化这种简化?如何简化这种简化?
A | B
-----
0 0
0 1 -
1 0 |- this is A OR B
1 1 -
A | B
-----
0 0 - This is !(A OR B) ?
0 1
1 0
1 1
答案 0 :(得分:1)
简化!(A || B) <=> !A && !B
(其中之一)
如@JamesChoi所述,De Morgan的定律是最好的可视化
通过观察积累的真值
每个表达式中的真值函子对于所有可能的都是相同的
真值的分布变量:
A | B | !(A || B) | !A && !B
---|-----|------------|----------
T | T | F(T T T) | FT F FT
T | F | F(T T F) | FT F TF
F | T | F(F T T) | TF F FT
F | F | T(F F F) | TF T TF
---------------------------------
^ ^
这表明表达式在真值上是等价的。它是一个 应用truth-table method of propositional calculus。
&&
的真值表是:
A | B | A && B
---|-----|-------
T | T | T T T
T | F | T F F
F | T | F F T
F | F | F F F
和||
(包含 - 或)的真值表是:
A | B | A || B
---|-----|-------
T | T | T T T
T | F | T T F
F | T | F T T
F | F | F F F
!
的真值表必须是不言而喻的。