//END inline expansion
a3 = new VariableTerm(engine);
Term[] y1 = {a3, new VariableTerm(engine)};
a4 = new StructureTerm(s1, y1);
//START inline expansion of $unify(a(1),a(4))
if (! a1.unify(a4, engine.trail)) {
return engine.fail();
}
//END inline expansion
a5 = new VariableTerm(engine);
a6 = new VariableTerm(engine);