Explanation

This rule checks whether boolean logic in an expression can be simplified. If so, the simplified expression is reported as issue.

It applies common laws of boolean algebra, like

  • the distributive law: (A OR B) AND (A OR C) = A OR (B AND C)
  • the distributive law: (A AND B) OR (A AND C) = A AND (B OR C)
  • the absorption law: A OR (A AND B) = A
  • the absorption law: A AND (A OR B) = A
  • the double negation law: NOT ( NOT A ) = A
  • ...

We estimate that resolving this issue will on average take 5 minutes.

Possible improvement

See if the suggestion you get for simplification is equally understandable (or better) for a business engineer, and if so replace the expression with the suggested expression.

Example 1

This example expression is quite simple, and probably easy for any business engineer to simplify. It is just to illustrate the concept, and you can imagine that it also works for bigger boolean expressions that are harder for humans to comprehend.

The BMA detects that this expression can be simplified (by applying the absorption law), and gives this suggestion:

...and yes, a decision table would be even better in this case.

Example 2

The BMA now also detects tautologies and contradictions, e.g.:

In common boolean logic (where you make a truth table), this would be a clear contradiction and would result in FALSE. In Blueriq however, the result is unknown when Applicant.Age = ?.

Therefore the alternative suggested by the BMA is not plain FALSE but this:

For tautologies, you'll instead find "Applicant.Age = Applicant.Age" instead.

  • No labels