  }
        else
            printf("unify fails\n");
        <A HREF="#free_context">free_context</A>(c1);
        <A HREF="#free_context">free_context</A>(c2);
    }
</PRE>
<A NAME="variable_substitution"></A><HR><PRE><B>BOOL variable_substitution(<A HREF="unify.html">Context</A> s);
</B></PRE><A NAME="variant"></A><HR><PRE><B>BOOL variant(<A HREF="term.html">Term</A> t1, <A HREF="unify.html">Context</A> c1,
	    <A HREF="term.html">Term</A> t2, <A HREF="unify.html">Trail</A> *trp);
</B></PRE>This routine