布尔逻辑,OR 的否定

Boolean logic, negation of an OR

我有以下逻辑:

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  

简化 !(A || B) <=> !A && !B(这是其中之一 德摩根定律,正如@JamesChoi 所指出的那样)是最好的可视化 通过观察主要的真值 每个表达式中的真值函子对于所有可能的都是相同的 变量的真值分布:

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.

的应用

&& 的真相 table 是:

A  |  B  | A && B
---|-----|-------
T  |  T  | T  T T     
T  |  F  | T  F F
F  |  T  | F  F T
F  |  F  | F  F F

||(包含或)的真table是:

A  |  B  | A || B
---|-----|-------
T  |  T  | T  T T     
T  |  F  | T  T F
F  |  T  | F  T T
F  |  F  | F  F F

!的真相-table一定是不言而喻的。