title: Drools: Test/Validating Unique LHS in Rules
body: <p>Is it possible to test if a set of rules's conditions overlap?  A simplified version of my current problem is, if I have a set of rules which tests Person.age, is it possible to guarantee/validate/test the LHS is only valid for at most one rule?</p>
  
  <p>For example, these two rules are "valid":</p>
  
  <pre><code>rule "r1"
  when
    Person( age &gt; 0 &amp;&amp; age &lt; 18 )
  then
    // do something
  end
  
  rule "r2"
  when
    Person( age &gt;= 18 &amp;&amp; age &lt; 65 )
  then
   // do something else
  end
  </code></pre>
  
  <p>But the following is not:</p>
  
  <pre><code>rule "r1"
  when
    Person( age &gt; 0 &amp;&amp; age &lt; 10 )
  then
    // do something
  end
  
  rule "r2"
  when
    Person( age &gt;= 8 &amp;&amp; age &lt; 16 )  // range overlaps with r1!
  then
   // do something else
  end
  </code></pre>
  
  <p>I'm aware I can use halt() to prevent multiple rules from firing, I'm looking for ways to prevent, or at least warn of, the possibility of multiple rules firing.</p>