public static Keyword tryUniversalIntroductionProof(ControlFrame frame) {
    { ParallelThread parallelthread = ((QueryIterator)(Logic.$QUERYITERATOR$.get())).currentParallelThread;
      ParallelControlFrame parallelframe = ((ParallelControlFrame)(parallelthread.topControlFrame.up));

      ParallelControlFrame.enterHypotheticalWorld(parallelframe);
      { Proposition forallprop = frame.proposition;
        Stella_Object antecedent = (forallprop.arguments.theArray)[0];
        Stella_Object consequent = (forallprop.arguments.theArray)[1];

        { PatternVariable v = null;
          Vector vector000 = ((Vector)(KeyValueList.dynamicSlotValue(forallprop.dynamicSlots, Logic.SYM_LOGIC_IO_VARIABLES, null)));
          int index000 = 0;
          int length000 = vector000.length();

          for (;index000 < length000; index000 = index000 + 1) {
            v = ((PatternVariable)((vector000.theArray)[index000]));
            { LogicObject skolem = Logic.createHypothesizedInstance("anonymous");

              if (v.skolemType != null) {
                Logic.assertMemberOfProposition(skolem, Logic.getDescription(v.skolemType));
              }
              PatternVariable.bindVariableToValueP(v, skolem, false);
            }
          }
        }
        try {
          { Proposition prop = null;
            Cons iter000 = Proposition.inheritAsTopLevelProposition(((Proposition)(antecedent)), null);

            for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
              prop = ((Proposition)(iter000.value));
              Proposition.recursivelyFastenDownPropositions(prop, false);
              Proposition.assignTruthValue(prop, Stella.TRUE_WRAPPER);
            }
          }
        } catch (Clash e000) {
          return (Logic.KWD_FINAL_SUCCESS);
        }
        ControlFrame.createDownFrame(frame, ((Proposition)(consequent)));
        return (Logic.KWD_MOVE_DOWN);
      }
    }
  }