bastikr / boolean.py

Implements boolean algebra in one module.
BSD 2-Clause "Simplified" License
76 stars 34 forks source link

DeMorgan not applied in a specific case #109

Open tomas789 opened 1 year ago

tomas789 commented 1 year ago

In some situations DeMorgan rule is not being applied.

Here is a sample

import boolean
algebra = boolean.BooleanAlgebra()
TRUE, FALSE, NOT, AND, OR, symbol = algebra.definition()

x = NOT(AND(NOT(symbol("x0")), NOT(symbol("x4"))))
print(x.simplify())

The actual output is

~(~x0&~x4)

But one would expect

x0|x4