org.deri.iris.rules.safety
Class AugmentingRuleSafetyProcessor
java.lang.Object
org.deri.iris.rules.safety.AugmentingRuleSafetyProcessor
- All Implemented Interfaces:
- IRuleSafetyProcessor
public class AugmentingRuleSafetyProcessor
- extends Object
- implements IRuleSafetyProcessor
Uses the trick of augmenting rules to artificially limit variables.
If any head variable is found that does not occur in a positive ordinary predicate
then a literal is added to the rule body $UNIVERSE$( variable ).
This has the effect of binding the variable to the 'universe' of known ground terms.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AugmentingRuleSafetyProcessor
public AugmentingRuleSafetyProcessor()
process
public IRule process(IRule rule)
throws RuleUnsafeException
- Description copied from interface:
IRuleSafetyProcessor
- Process the rule.
- Specified by:
process in interface IRuleSafetyProcessor
- Parameters:
rule - The rule to process.
- Returns:
- The processed rule.
- Throws:
RuleUnsafeException