Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
 public override void PropagateRetract(IExecutionContext context, Tuple tuple)
 {
     if (tuple.Quantifier(this).Value == 0)
     {
         RetractTuple(context, tuple);
     }
 }
Beispiel #3
0
 public override void PropagateUpdate(IExecutionContext context, Tuple tuple)
 {
     if (tuple.Quantifier().Value == 0)
     {
         UpdateTuple(context, tuple);
     }
 }