public static void equateValues(Proposition prop, Stella_Object term1, Stella_Object term2) {
    if (Stella_Object.eqlP(term1, term2)) {
    }
    else if (Logic.skolemP(term1)) {
      Skolem.bindSkolemToValue(((Skolem)(term1)), term2, false);
    }
    else if (Logic.skolemP(term2)) {
      Skolem.bindSkolemToValue(((Skolem)(term2)), term1, false);
    }
    else if (Stella_Object.stellaCollectionP(term1) &&
        Stella_Object.stellaCollectionP(term2)) {
      Proposition.equateCollections(prop, ((Collection)(term1)), ((Collection)(term2)));
    }
    else if (Stella_Object.isaP(term1, Logic.SGT_PL_KERNEL_KB_INTERVAL_CACHE) &&
        Stella_Object.isaP(term2, Logic.SGT_PL_KERNEL_KB_INTERVAL_CACHE)) {
      edu.isi.powerloom.pl_kernel_kb.IntervalCache.unifyIntervalCaches(((edu.isi.powerloom.pl_kernel_kb.IntervalCache)(term1)), ((edu.isi.powerloom.pl_kernel_kb.IntervalCache)(term2)), Logic.SGT_PL_KERNEL_KB_ge);
      edu.isi.powerloom.pl_kernel_kb.IntervalCache.unifyIntervalCaches(((edu.isi.powerloom.pl_kernel_kb.IntervalCache)(term2)), ((edu.isi.powerloom.pl_kernel_kb.IntervalCache)(term1)), Logic.SGT_PL_KERNEL_KB_ge);
    }
    else {
      Proposition.signalUnificationClash(prop, term1, term2);
    }
  }