public override void PropagateAssert(IExecutionContext context, Tuple tuple) { var matchingFacts = MatchingFacts(context, tuple); tuple.Quantifier(this).Value = matchingFacts.Count(); if (tuple.Quantifier(this).Value == 0) { AssertTuple(context, tuple); } }
public override void PropagateRetract(IExecutionContext context, Tuple tuple) { if (tuple.Quantifier(this).Value == 0) { RetractTuple(context, tuple); } }
public override void PropagateUpdate(IExecutionContext context, Tuple tuple) { if (tuple.Quantifier().Value == 0) { UpdateTuple(context, tuple); } }