* B(x, x) -> A(x, x)
* Query for A(0, 0)
*/
@Test
public void testWorksTwoSteps() {
InferenceEnvironment infEnv = new InferenceEnvironment(null);
FusionEnvironment<?> env = new FusionEnvironment<TestAliasContext>(aliases, ctx, null, testH, infEnv, Variant.PRAGMATIC_VARIANT);
RelationshipPredicate trigger = new RelationshipPredicate(relations[0], new SpecVar[] {new SpecVar("x"), new SpecVar("y")});
List<RelEffect> eff = new LinkedList<RelEffect>();
eff.add(RelEffect.createAddEffect(relations[1], new SpecVar[] {new SpecVar("x"), new SpecVar("x")}));
infEnv.addRule(new InferredRel(trigger, eff));
trigger = new RelationshipPredicate(relations[1], new SpecVar[] {new SpecVar("x"), new SpecVar("x")});
eff = new LinkedList<RelEffect>();
eff.add(RelEffect.createAddEffect(relations[0], new SpecVar[] {new SpecVar("x"), new SpecVar("x")}));
infEnv.addRule(new InferredRel(trigger, eff));
RelationshipPredicate find = new RelationshipPredicate(relations[1], new SpecVar[] {new SpecVar("a"), new SpecVar("a")});
Substitution sub = new Substitution();
sub = sub.addSub(new SpecVar("a"), labels[0]);