// '$leash'(A):-[retractall('jp.ac.kobe_u.cs.prolog.builtin':'$current_leash'(B)),'$assert_leash'(A),print_message(info,[leashing,stopping,on,A])]
Term[] y1 = {new VariableTerm(engine)};
a2 = new StructureTerm(s4, y1);
Term[] y2 = {s3, a2};
a3 = new StructureTerm(s2, y2);
a4 = new ListTerm(a1, s1);
a5 = new ListTerm(s11, a4);
a6 = new ListTerm(s10, a5);
a7 = new ListTerm(s7, a6);
p1 = new PRED_print_message_2(s5, a7, cont);
p2 = new PRED_$assert_leash_1(a1, p1);
return new PRED_retractall_1(a3, p2);
}