//! Show a single variable instantiation void xmlVariable (const System sys, const Term variable, const int run) { if (realTermVariable (variable)) { xmlIndentPrint (); eprintf ("<variable typeflaw=\""); /* TODO this is now wrong, because it does not switch the matching more * anymore */ if (!checkTypeTerm (variable)) { eprintf ("true"); } else { eprintf ("false"); } eprintf ("\" run=\"%i\">\n", run); xmlindent++; xmlPrint ("<name>"); xmlTermType (variable); xmlPrint ("</name>"); if (variable->subst != NULL) { xmlPrint ("<substitution>"); xmlTermType (deVar (variable)); xmlPrint ("</substitution>"); } xmlindent--; xmlPrint ("</variable>"); } }
//! See if a substitution is valid int goodsubst (Term tvar, Term tsubst) { Term tbuf; int res; tbuf = tvar->subst; tvar->subst = tsubst; res = checkTypeTerm (tvar); tvar->subst = tbuf; return res; }