我想转换一个表达式,以便所有否定运算符都向下传播到文字。所以 ~(a | b) 变成了 ~a & ~b。有没有人对此有解决方案?
~(a | b)
~a & ~b
from pyeda.boolalg.expr import expr formula = "~(a | b)" e = expr(formula,simplify=False)
有两种方法可以在连词范式和析取范式之间来回切换。
.to_dnf()
.to_cnf()
试试,
>>> e.to_dnf() And(~a,~b)