public static boolean bindVectorOfArgumentsToValuesP(Vector arguments, Cons values) {
    { PatternRecord patternrecord = ((QueryIterator)(Logic.$QUERYITERATOR$.get())).currentPatternRecord;
      int ubstackoffset = patternrecord.topUnbindingStackOffset;
      boolean successP = false;

      { boolean alwaysP000 = true;

        { Stella_Object arg = null;
          Vector vector000 = arguments;
          int index000 = 0;
          int length000 = vector000.length();
          Stella_Object v = null;
          Cons iter000 = values;

          loop000 : for (;(index000 < length000) &&
                    (!(iter000 == Stella.NIL)); index000 = index000 + 1, iter000 = iter000.rest) {
            arg = (vector000.theArray)[index000];
            v = iter000.value;
            if (!Logic.bindArgumentToValueP(arg, v, false)) {
              alwaysP000 = false;
              break loop000;
            }
          }
        }
        successP = alwaysP000;
      }
      if (!successP) {
        PatternRecord.unbindVariablesBeginningAt(patternrecord, ubstackoffset + 1);
      }
      return (successP);
    }
  }