public static Keyword tryIsaPropositionProof(ControlFrame frame) {
    { Proposition proposition = frame.proposition;
      Vector arguments = proposition.arguments;
      Stella_Object memberarg = (arguments.theArray)[0];
      Stella_Object member = Logic.argumentBoundTo(memberarg);
      boolean scanisapropositionsP = ((Boolean)(Logic.$GENERATE_ALL_PROOFSp$.get())).booleanValue() ||
          ((Boolean)(Logic.$REVERSEPOLARITYp$.get())).booleanValue();

      if (Logic.$CYC_KLUDGES_ENABLEDp$) {
        if (!(((Boolean)(Logic.$REVERSEPOLARITYp$.get())).booleanValue())) {
          scanisapropositionsP = false;
        }
      }
      if (member == null) {
        return (ControlFrame.tryScanCollectionProof(frame));
      }
      if (Stella_Object.isaP(member, Logic.SGT_STELLA_LITERAL_WRAPPER)) {
        { Surrogate surrogate = ((Surrogate)(proposition.operator));
          boolean successP = Logic.logicalSubtypeOfP(Logic.logicalType(member), surrogate);

          if (((Boolean)(Logic.$REVERSEPOLARITYp$.get())).booleanValue()) {
            successP = !successP;
          }
          if (successP) {
            return (Logic.KWD_FINAL_SUCCESS);
          }
          if (!(Logic.instanceHasBacklinksP(member))) {
            return (Logic.KWD_FAILURE);
          }
        }
      }
      if (scanisapropositionsP) {
        return (ControlFrame.tryScanPropositionsProof(frame));
      }
      { Description collection = Proposition.extractCollectionArgument(proposition);

        if (Logic.testIsaP(member, collection.surrogateValueInverse)) {
          return (Logic.KWD_FINAL_SUCCESS);
        }
        else {
          return (Logic.KWD_FAILURE);
        }
      }
    }
  }