Just added a Justification based Truth Maintenance System to Drools, so now you can do
contradictions.
http://www.cis.temple.edu/~giorgio/cis587/readings/tms.html
https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test...
https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test...
https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test...
It works just like normal logical inserts, but now there is an optional second argument.
That argument can be "neg" or "pos", the default is "pos" if
the argument is omitted. If you have both positive and negatives then no fact is available
to the WM - because it's in conflict. If you have all positives then the fact is
propagated as normal, if you have all negatives then the fact is propagated in the
"neg" partition.
Mark