Open
Description
>>> eq = boolean.BooleanAlgebra().parse("A OR (A & ~B)")
>>> eq
OR(Symbol('A'), AND(Symbol('A'), NOT(Symbol('B'))))
>>> eq.subs({boolean.Symbol("B"):True})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/jgoeders/bfasst/.venv/lib/python3.10/site-packages/boolean/boolean.py", line 743, in subs
expr = self._subs(substitutions, default, simplify)
File "/home/jgoeders/bfasst/.venv/lib/python3.10/site-packages/boolean/boolean.py", line 781, in _subs
new_arg = arg._subs(substitutions, default, simplify)
File "/home/jgoeders/bfasst/.venv/lib/python3.10/site-packages/boolean/boolean.py", line 781, in _subs
new_arg = arg._subs(substitutions, default, simplify)
File "/home/jgoeders/bfasst/.venv/lib/python3.10/site-packages/boolean/boolean.py", line 796, in _subs
newexpr = self.__class__(*new_arguments)
File "/home/jgoeders/bfasst/.venv/lib/python3.10/site-packages/boolean/boolean.py", line 1138, in __init__
super(NOT, self).__init__(arg1)
File "/home/jgoeders/bfasst/.venv/lib/python3.10/site-packages/boolean/boolean.py", line 1042, in __init__
assert all(
AssertionError: Bad arguments: all arguments must be an Expression: (True,)
>>> eq = eq.simplify()
>>> eq
Symbol('A')
>>> eq.subs({boolean.Symbol("B"):True})
Symbol('A')
Metadata
Metadata
Assignees
Labels
No labels