<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span style="font-family: arial, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(255, 255, 255); ">Just added a Justification based Truth Maintenance System to Drools, so now you can do contradictions.</span><br style="font-family: arial, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(255, 255, 255); "><a href="http://www.cis.temple.edu/~giorgio/cis587/readings/tms.html" class="ot-anchor" style="color: rgb(51, 102, 204); cursor: pointer; text-decoration: none; font-family: arial, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(255, 255, 255); ">http://www.cis.temple.edu/~giorgio/cis587/readings/tms.html</a><br style="font-family: arial, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(255, 255, 255); "><a href="https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test/java/org/drools/beliefsystem/jtms/JTMSTest.java" class="ot-anchor" style="color: rgb(51, 102, 204); cursor: pointer; text-decoration: none; font-family: arial, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(255, 255, 255); ">https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test/java/org/drools/beliefsystem/jtms/JTMSTest.java</a><br style="font-family: arial, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(255, 255, 255); "><a href="https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test/resources/org/drools/beliefsystem/jtms/posNegTms.drl" class="ot-anchor" style="color: rgb(51, 102, 204); cursor: pointer; text-decoration: none; font-family: arial, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(255, 255, 255); ">https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test/resources/org/drools/beliefsystem/jtms/posNegTms.drl</a><br style="font-family: arial, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(255, 255, 255); "><a href="https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test/resources/org/drools/beliefsystem/jtms/posNegConflict.drl" class="ot-anchor" style="color: rgb(51, 102, 204); cursor: pointer; text-decoration: none; font-family: arial, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(255, 255, 255); ">https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test/resources/org/drools/beliefsystem/jtms/posNegConflict.drl</a><div><br></div><div>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.</div><div><br></div><div>Mark</div></body></html>