boolean.py
boolean.py copied to clipboard
Same operands in AND expression after simplification
When simplifying the expression
AND(TRUE, OR(OR(symbol("x0"), FALSE), AND(symbol("x2"), TRUE), NOT(TRUE)), AND(AND(TRUE, TRUE, symbol("x2"), TRUE), NOT(symbol("x0"))))
Which produces the expression
AND(NOT(Symbol('x0')), Symbol('x2'), Symbol('x2'))
Which could be trivially simplified to
AND(NOT(Symbol('x0')), Symbol('x2'))