从SymPy中的布尔表达式中删除一些变量

时间:2018-05-25 15:56:11

标签: python boolean sympy boolean-logic boolean-expression

我在SymPy中有一个布尔表达式。如果我知道某些符号的值,我怎样才能找到其余符号之间的关系? 例如:

from sympy.core.symbol import Symbol
from sympy.logic.boolalg import Equivalent
from sympy import simplify_logic
a=Symbol("a")
b=Symbol("b")
c=Symbol("c")
d=Symbol("d")
e=Symbol("e")

expr=a&b>>c|a&d|~a&Equivalent(c,(d|a&e))
print("if a=True and d=False, then relation between a,c and e must be")#c|~b

或者:我有一个布尔函数f(a,b,c,k,l,j)。如果知道klj,如何解决abc?我知道我必须在abc的任何值上形成一个新的表达式,但该怎么做?

simplify_logic((eeldus&expr))                    #leaves a and d in.

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,subs会起作用:

GRANT REPLICATION SLAVE ON *.* TO root@'172.17.0.5' IDENTIFIED BY PASSWORD 'root123';