be-tree
be-tree copied to clipboard
Fix: the clustering for expressions that contain 'not (A and B)', 'not (A or B)'
It was observed that for expressions that contain 'not (A and B)' or 'not (A or B)' clauses the clustering is performed such way that during matching step of the search the expressions containing the 'not (A and B)' or 'not (A or B)' clauses could be excluded from the further evaluation despite the expressions be true.
The fix implements De Morgan's laws for variable bound calculation (clustering): not (A or B) = (not A) and (not B); not (A and B) = (not A) or (not B).
Tests 'test_cdir_not_and' and 'test_cdir_not_or' verify the implementation.