public static Cons generateFunctionAsTerm(Proposition self) {
    { Vector args = self.arguments;
      Cons arguments = Stella.NIL;

      { int i = Stella.NULL_INTEGER;
        int iter000 = 0;
        int upperBound000 = args.length() - 2;
        Cons collect000 = null;

        for (;iter000 <= upperBound000; iter000 = iter000 + 1) {
          i = iter000;
          if (collect000 == null) {
            {
              collect000 = Cons.cons(Logic.generateTerm((args.theArray)[i]), Stella.NIL);
              if (arguments == Stella.NIL) {
                arguments = collect000;
              }
              else {
                Cons.addConsToEndOfConsList(arguments, collect000);
              }
            }
          }
          else {
            {
              collect000.rest = Cons.cons(Logic.generateTerm((args.theArray)[i]), Stella.NIL);
              collect000 = collect000.rest;
            }
          }
        }
      }
      return (Cons.cons(Proposition.generateOperator(self), arguments.concatenate(Stella.NIL, Stella.NIL)));
    }
  }