// add again
// infinity loops which are previously eliminated by the rule
// RuleEliminateInfinityLoop
rules = new Rule[] { new RuleFactorOutUnionInJoin(),
new RulePushFilter(),
new RuleEliminateFilterUnequalAfter2XAdd(),
new RuleMakeBinaryJoin(), new RuleFactorOutUnionInGenerate(),
new RuleConstantPropagationOverJoin(),
new RuleDeleteTriggerOneTimeJoin(),
new RuleReplaceConstantOfFilterInTriplePattern(),
new RuleEliminateUnsatisfiableAddFilterSequence(),