In some situations DeMorgan rule is not being applied. Here is a sample ```python 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 ```