布尔代数不确定如何简化表达式

时间:2017-10-10 02:24:47

标签: boolean-logic boolean-expression boolean-operations

我遇到两个问题很麻烦,第一个问题是:

1) (y*w) + y + w

我在这里尝试的是应用分配法如下

(y*w) + (y+w)
((y+w) + y) * ((y+w) + w)
((y*w) + y) * ((y*w) + w)

然后应用吸收定律得到y * w但答案是y + w,所以我不确定如何使用布尔代数定律得到它。

2)我遇到的第二个问题是

Prove that if x*y = x then ~x*~y = ~y

我尝试的是否定第一个表达式的两面并插入第二个表达式,但似乎在布尔代数中不允许这样做。

1 个答案:

答案 0 :(得分:0)

第一个问题:

(x*y) + x + y

简化为:

x + y

非严格推理:当x*yTRUEx时,yTRUEx和{{y 1}} TRUEx+y无论如何已经TRUE,使表达式的x*y部分变得多余。

严格推理:创建一个真值表,并意识到输出(x*y)+x+yx+y相同。

| Inputs |   Output  |
|--------|-----------|
| x |  y | (x*y)+x+y |
|--------|-----------|
| 0 |  0 |     0     |
| 0 |  1 |     1     |
| 1 |  0 |     1     |
| 1 |  1 |     1     |
|--------|-----------|

第二个问题:

Prove that if x*y = x then ~x*~y = ~y

x*y = x
y = 1        (divide both sides by x)

~x*~y = ~y
~x*~1 = ~1   (substitute in 1 for y)
~x*0 = 0     (substitute in 0 for ~1)
0 = 0        (anything*0 = 0)

Both sides of the expression are equal. Proof is complete.