Language agnostic 我可以用更简单的形式重写这个布尔表达式吗?

Language agnostic 我可以用更简单的形式重写这个布尔表达式吗?,language-agnostic,Language Agnostic,有没有办法以更简单(但等效)的形式重写此表达式 如前所述,这可以用德摩根定律来解决。简单的规则是: !(A && B) <-> !A || !B 这样想:(A | | B)意味着“要么A是真的,要么B是真的(或者A和B都是真的)。”因此,!(A | | B)的意思是“A不是真的,B也不是真的”——即两者都不是真的 因此, 这意味着“foo”和“!bar”都不是真的。其中至少有一个是假的 !(foo && !bar) -> (!foo || !!

有没有办法以更简单(但等效)的形式重写此表达式


如前所述,这可以用德摩根定律来解决。简单的规则是:

!(A && B) <-> !A || !B
这样想:
(A | | B)
意味着“要么A是真的,要么B是真的(或者A和B都是真的)。”因此,
!(A | | B)
的意思是“A不是真的,B也不是真的”——即两者都不是真的

因此,

这意味着“foo”和“!bar”都不是真的。其中至少有一个是假的

!(foo && !bar) -> (!foo || !!bar) -> (!foo || bar)
重要提示:通常(在数学上和许多编程语言中)“或”是包含的,因此
(A | | B)
表示“A为真,B为真,或者两者都为真。”


还有一个表示法:“->”表示“暗示”(在数学意义上),而“”表示语句是等价的(即它们相互暗示);这有时也被称为“当且仅当”或简称为“iff”。

如前所述,这可以用德摩根定律来解决。简单的规则是:

!(A && B) <-> !A || !B
这样想:
(A | | B)
意味着“要么A是真的,要么B是真的(或者A和B都是真的)。”因此,
!(A | | B)
的意思是“A不是真的,B也不是真的”——即两者都不是真的

因此,

这意味着“foo”和“!bar”都不是真的。其中至少有一个是假的

!(foo && !bar) -> (!foo || !!bar) -> (!foo || bar)
重要提示:通常(在数学上和许多编程语言中)“或”是包含的,因此
(A | | B)
表示“A为真,B为真,或者两者都为真。”


还有一个表示法:“->”表示“暗示”(在数学意义上),而“”表示语句是等价的(即它们相互暗示);这有时也称为“如果且仅当”或简称为“iff”。

如果我能理解那篇文章,请参阅@MrTux。我不太可能问这个问题。如果我能理解那篇文章,请参阅@MrTux。我不太可能问这个问题
!(foo && !bar) -> (!foo || !!bar) -> (!foo || bar)