gpt4 book ai didi

math - `1 XOR 1 OR 1` 在 bool 代数中是否有歧义?

转载 作者:行者123 更新时间:2023-12-02 00:27:09 26 4
gpt4 key购买 nike

使用 bool 代数(不是特定的语言实现),我们可以明确地评估 1 ^ 1 + 1(或 1 XOR 1 OR 1)吗?

我可以得出两个评价:

 [I]:  (1 ^ 1) + 1 = 0 + 1 = 1
[II]: 1 ^ (1 + 1) = 1 ^ 1 = 0

也许有一些规定的操作顺序,或者从左到右的评估顺序?或者这在 bool 代数中没有定义?

最佳答案

我们可以使用the rules of boolean algebra尝试计算表达式 1 XOR 1 OR 1

现在:

  • XOR 派生自 OR 这样 A XOR B = (¬A AND B) OR (¬B AND A);
  • 关联性告诉我们A OR (B OR C) = (A OR B) OR C;
  • 关联性还告诉我们 A AND (B AND C) = (A AND B) AND C

因此,采用评估顺序的任何一种可能解释:

  (1 XOR 1) OR 1                       1 XOR (1 OR 1)

即使我们没有定义从左到右的“评估顺序”,我们只需要这些规则来表明这两种可能的解释是等价的:

= (¬1 AND 1) OR (¬1 AND 1) OR 1      = (¬1 AND (1 OR 1)) OR (¬(1 OR 1) AND 1)
= (0 AND 1) OR (0 AND 1) OR 1 = (0 AND 1) OR (0 AND 1)
= 0 OR 0 OR 1 = 0 OR 0
= 1 = 0

除非我忘记了一些至关重要的相关公理,否则我已经确认您需要更多上下文来评估给定的表达式。

(当然,还要检查表达式 A XOR B OR CA,B,C 当然要棘手得多!但是如果表达式对于所有三个输入中的一个值是不明确的,那么为什么还要检查其他任何值?)

此上下文通常在特定于语言的评估顺序规则中提供。 C 类语言 give XOR a low precedence (里奇不喜欢的东西);相比之下,数学约定dictates a left-to-right associativity其中没有其他公理可以应用,否则存在歧义。

所以,基本上,由于我们忽略了特定于语言的规则,您可能会选择 [I]

关于math - `1 XOR 1 OR 1` 在 bool 代数中是否有歧义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8467510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com