仅使用AND布尔运算的转换函数

9

我有一些类似的函数

(A and ( B or c)) or (D and E and (F or H or R or P )))

我希望将该函数转换为仅使用“与”操作的函数(如果可能的话)。我发现可以通过德摩根定理进行某种形式的转换,但我没有成功地转换这个函数。有什么想法吗?
我知道那个函数。
!(A or B) is equal to function !A and !B

但我找不到与上面那个相等的函数。
3个回答

15

你提到的函数:

!(A or B) = !A and !B

就是和以下内容相同:

A or B = !(!A and !B)

那么让我们从分解你的问题为ABC和DEFHRP两个部分开始。

(A and (B or C)) = (A and !(!B and !C))
(D and E and (F or H or R or P)) = (D and E and !(!F and !H and !R and !P))

由于这两个部分由“或”连接,我们可以再次应用等价性得到:

!(!(A and !(!B and !C)) and !(D and E and !(!F and !H and !R and !P)))

0
a and (b or c)

等同于

a and not (not b and not c)

你可以在这里进行测试


对于更复杂的一个:

d and e and (f or h or r)

等同于

d and e and not(not f and not h and not r)

这里进行了测试here


0
你要寻找的关键替换是 A OR B => !(!A AND !B)。使用这个公式,你可以扩展表达式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接