This is rather like a compensating transaction (ie "undo") and is necessary when say communicating with a system that is external to the rules engine itself. If it were within the rule engine I could just use a logical condition).
One solution might be to hold a rerference to the original fact (in another) and have a rule that fires when the referenced fact no longer exists. For example: (?bind ?a (assert A)) (assert B ?a) Now If I say: (retract ?a) How would I write a rule that says: if there is a (B ?a) such that ?a doesn't exist It's relatively simple in JRules but that doesn't necessary make it the right thing to do :-) So, does this actually make sense? If so, how do I achieve this? If not, what are my options? Cheers, Simon -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] --------------------------------------------------------------------