We are using drools decision tables and have a quite a few scenarios where there are three conditions: A, B, and C. 

The behavior we want is:

if A is true, then B and C must be true (if B and C are true, we want to output true, otherwise we want to output false)

if A is not true, then B and C don't matter, the output should be true.


Currently the way we are doing it is the following:

0 (priority), A is true (CONDITION), B is true (CONDITION), C is true (CONDITION), set eligibility to TRUE (ACTION)
0 (priority), NOT A (CONDITION), set eligibility to TRUE (ACTION)
-1 (priority), A is true (CONDITION), set eligibility to FALSE (ACTION)

We are using decision tables and we are dealing with more complex conditions than this simple example. For example, there are scenarios like if A and B are true then C and D must be true, in which we'd have to check if NOT (A and B) which can get messy.

Any suggestions around best practices?