The basic idea of Drools' verifier is to use an AST of the rules and a set of rules to detect certain situations. With Patterns and Constraints and Restrictions being broken down into their constituents, it is possible to detect blatant and even obscured contradictions and duplications.

A gross error would be to write
  field == x && == y
or
  field != x || != y

There is no deep scientific background here - straightforward logic (a
programmer's common sense) is sufficient.

There are, however, limits. It's obvious that you can detect that
   Fact( field < 10 && > 0, field < 100 )
contains a redundant constraint, but here
   Fact( field < 10 && > 0, field < $limit_from_other_fact )
you can't.

-W


On 22 April 2011 19:27, Steffen Heublein <steffen.heublein@googlemail.com> wrote:
Hello,

I am currently using the Rule Verifier and am quite happy so far. Yet I
am interested in its (scientific) background background, but I am unsure
where to start. Are there any papers on the topic or anything else I
could relate to? There certainly is, but I don't really know what topic
I should look for to find what I want. My special interest so far is the
solving of the rule conditions and how the system finds out how e.g. two
rule conditions are equivalent.

Cheers, and thanks so far,

Steffen
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users