public static Keyword tryScanPartialPropositionsProof(ControlFrame frame) {
    { Proposition proposition = frame.proposition;
      Iterator iterator = ((Iterator)(KeyValueList.dynamicSlotValue(frame.dynamicSlots, Logic.SYM_STELLA_ITERATOR, null)));
      Keyword result = Logic.KWD_FAILURE;

      if (iterator == null) {
        iterator = Proposition.allMatchingPartialPropositions(proposition);
        KeyValueList.setDynamicSlotValue(frame.dynamicSlots, Logic.SYM_STELLA_ITERATOR, iterator, null);
      }
      if (iterator != null) {
        loop000 : while (iterator.nextP()) {
          if (Proposition.partialArgumentsUnifyWithArgumentsP(((Proposition)(iterator.value)), proposition)) {
            result = Logic.KWD_CONTINUING_SUCCESS;
            break loop000;
          }
        }
      }
      if (!(result == Logic.KWD_FAILURE)) {
        { TruthValue truthvalue = Logic.propositionsIteratorTruthValue(iterator);
          double weight = ((FloatWrapper)(KeyValueList.dynamicSlotValue(((Proposition)(iterator.value)).dynamicSlots, Logic.SYM_LOGIC_WEIGHT, Stella.NULL_FLOAT_WRAPPER))).wrapperValue;

          frame.truthValue = Logic.UNKNOWN_TRUTH_VALUE;
          if (weight == Stella.NULL_FLOAT) {
            weight = 1.0;
          }
          frame.partialMatchFrame.setFramePartialTruth(Logic.UNKNOWN_TRUTH_VALUE, truthvalue.positiveScore * weight, Stella.NULL_FLOAT, true);
        }
      }
      return (result);
    }
  }