为什么 F + F' = 1?

电器工程 布尔代数
2022-01-29 07:45:47

我有函数:\$f(x,y,z,w) = wx + yz\$

我发现它的补函数是:\$f '(x,y,z,w) = w'y' + w'z' + x'y' + x'z'\$

我必须证明:\$f + f '=1\$ 但我不知道该怎么做。

似乎没有任何东西可以相互抵消。

编辑

正如所建议的,我现在使用了德摩根定理并发现了这一点:

\$f + f' = wx+yz+(w+y)'+(w+z)'+(x+y)'+(y+z)'\$

但在我看来,没有什么能让我更接近\$f+f' = 1\$

4个回答

关键是,函数\$f()\$实际上是什么并不重要。关键事实是它的输出是单个二进制值。

布尔代数中的一个基本事实是,只要值本身为假,二进制值的补码就为真。这就是所谓的排中律因此,将一个值与其补码进行 OR 运算始终为真,而将一个值与其补码进行 AND 运算始终为假。

很高兴您能够导出特定函数\$f'()\$,但这实际上与实际问题无关!

以前的所有答案都是正确的,而且非常深入。但解决这个问题的更简单方法可能是记住在布尔代数中,所有值都必须是 0 或 1。

所以...要么 F 为 1,则 F' 为 0,或者相反:F 为 0 且 F' 为 1。如果您随后应用布尔 OR 函数:F + F',您将始终拥有一个两项都为 1,因此结果将始终为 1。

我的回答类似于 Dave Tweed 的回答,意思是我把它放在更正式的层面上。我显然后来回答了,但我还是决定发布它,因为有人可能会觉得这种方法很有趣。


您试图证明的关系独立于函数\$f\$的结构,因为它实际上是重言式为了解释我的意思,我建议在任意数量的布尔变量中演示一个通用的、格式正确的布尔表达式\$P\$ ,比如\$n\in\Bbb N\$ , \$y_1,\ldots ,y_n\$,其中\$y_i\in\{0,1\}\$代表所有\$i=1,\ldots,n\$
我们有\$P(y_1,\ldots,y_n)\in\{0,1\}\$并考虑\$n\$维布尔向量\$(y_1, \ldots,y_n)\$ $$ \begin{align} Y&=\{(y_1,\ldots,y_n)\in\{0,1\}^n|P(y_1,\ldots,y_n)=1\}\\ \bar{Y }&= \{(y_1,\ldots,y_n)\in\{0,1\}^n|P(y_1,\ldots,y_n)=0\} \end{align} $$ 这些集合是一个分区输入布尔向量可以假设的完整值集,即\$Y\cup\bar{Y}=\{0,1\}^n\$\$Y\cap\bar{Y}=\emptyset \$(空集),因此 $$ \begin{align} P(y_1,\ldots,y_n)&= \begin{cases} 0&\text{if }(y_1,\ldots,y_n)\in \bar {Y}\\ 1&\text{if }(y_1,\ldots,y_n)\in Y\\ \end{cases}\\ &\Updownarrow\\ P'(y_1,\ldots,y_n)&= \begin {cases} 1&\text{if }(y_1,\ldots,y_n)\in \bar{Y}\\ 0&\text{if }(y_1,\ldots,y_n)\in Y\\ \end{cases} \end{align} $$ 因此我们总是有 $$ P+P'=1\quad\forall(y_1,\ldots,y_n)\in\{0,1\}^n $$

既然卡尔问得很好。起点: $$ f(x,y,z,w)=wx+yz $$ and $$ f′(x,y,z,w)=w′y′+w′z′+x′y′ +x′z′ $$

对\$f'\$采取以下步骤$$ f′(x,y,z,w)=w′(y′+z′)+x′(y′+z′) $$ $$ f '(x,y,z,w)=(w'+x')(y'+z') $$ DeMorgan: $$ f'(x,y,z,w)=(wx)'(yz) ' $$ DeMorgan,再次: $$ f'(x,y,z,w)=(wx + yz)' $$所以现在\$f'\$ 的右边只是简单的否定\$f\$的右侧这有点反高潮,因为现在我们只依赖于任何表达式\$x + x' = 1\$的事实,这就是人们一直在说的关于\$f+f'=1\$,但至少它为为什么这是真的提供了一点布尔代数解释。