Jak*_*ake 294 logic logical-operators
逻辑表达式( a && b ) (包括a和b具有布尔值)可以写成像!(!a || !b),例如.这是不是意味着&&"不必要"?这是否意味着所有逻辑表达式只能使用||和!?
Pet*_*son 425
是的,正如其他答案所指出的那样,运营商包括||并且!在功能上是完整的.下面是一个建设性的证据,显示如何使用它们来表达布尔变量之间的所有十六个可能的逻辑连接词A和B:
A || !A!A || !B!B || A!A || BA || B!B!A!(!A || B) || !(A || !B)!(!A || !B) || !(A || B)AB!(A || B)!(!A || B)!(!B || A)!(!A || !B)!(A || !A)请注意,NAND和NOR本身在功能上都是完整的(可以使用上面相同的方法证明),因此如果您想验证一组运算符是否在功能上完整,那么足以表明您可以表达NAND或NOR用它.
这是一个图表,显示了上面列出的每个连接词的维恩图:
[ 来源 ]
rge*_*man 125
你所描述的是功能完整性.
这描述了一组足以"表达所有可能的真值表"的逻辑运算符.您的Java运算符集{ ||,!}就足够了; 它对应于集合{∨,¬},它列在"最小功能完整的运算符集"部分下面.
所有真值表的集合表示所有可能的4个布尔值集合,这些值可以是2个布尔值之间的操作的结果.因为布尔值有2个可能的值,所以有2 4或16个可能的真值表.
A B | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
----+------------------------------------------------
T T | T T T T T T T T F F F F F F F F
T F | T T T T F F F F T T T T F F F F
F T | T T F F T T F F T T F F T T F F
F F | T F T F T F T F T F T F T F T F
Run Code Online (Sandbox Code Playgroud)
下面是真值表号(0-15),所述的表||和!能产生它的组合,以及说明.
Table | Operation(s) | Description
-------+----------------------------------+-------------
0 | A || !A | TRUE
1 | A || B | OR
2 | A || !B | B IMPLIES A
3 | A | A
4 | !A || B | A IMPLIES B
5 | B | B
6 | !(!A || !B) || !(A || B) | XNOR (equals)
7 | !(!A || !B) | AND
8 | !A || !B | NAND
9 | !(A || !B) || !(!A || B) | XOR
10 | !B | NOT B
11 | !(!A || B) | NOT A IMPLIES B
12 | !A | NOT A
13 | !(A || !B) | NOT B IMPLIES A
14 | !(A || B) | NOR
15 | !(A || !A) | FALSE
Run Code Online (Sandbox Code Playgroud)
还有很多其他功能完备的集合,包括一个元素集{NAND}和{NOR},它们在Java中没有相应的单个运算符.
Pau*_*ton 80
是.
由于NOR门可以由NOT和OR构成,因此结果如下.
ryu*_*187 64
如果可以,请花点时间阅读DeMorgan的法律.
您可以在阅读中找到答案,并参考逻辑证明.
但基本上,答案是肯定的.
编辑:为了明确,我的观点是,可以从AND表达式逻辑推断OR表达式,反之亦然.对于逻辑等价和推理,还有更多的定律,但我认为这是最适合的.
编辑2:这是通过真值表的证明,表明以下表达式的逻辑等价.
德莫根定律: !(!A || !B) -> A && B
_____________________________________________________ | A | B | !A | !B | !A || !B | !(!A || !B) | A && B | ------------------------------------------------------- | 0 | 0 | 1 | 1 | 1 | 0 | 0 | ------------------------------------------------------- | 0 | 1 | 1 | 0 | 1 | 0 | 0 | ------------------------------------------------------- | 1 | 0 | 0 | 1 | 1 | 0 | 0 | ------------------------------------------------------- | 1 | 1 | 0 | 0 | 0 | 1 | 1 | _______________________________________________________
Mic*_*ski 10
是的,根据布尔代数,任何布尔函数都可以表示为minterms的总和或maxterms的乘积,称为规范正规形式.没有理由将这种逻辑应用于计算机科学中使用的相同运算符.
https://en.wikipedia.org/wiki/Canonical_normal_form
| 归档时间: |
|
| 查看次数: |
20799 次 |
| 最近记录: |