public static Keyword uValueMeasureSpecialist(ControlFrame frame, Keyword lastmove) {
    { Proposition proposition = frame.proposition;
      Stella_Object mainarg = (proposition.arguments.theArray)[0];
      Stella_Object mainargvalue = Logic.argumentBoundTo(mainarg);
      Stella_Object measurearg = (proposition.arguments.theArray)[1];
      Stella_Object measureargvalue = Logic.argumentBoundTo(measurearg);

      lastmove = lastmove;
      if (mainargvalue == null) {
        return (Units.KWD_FAILURE);
      }
      else {
        if (measureargvalue == null) {
          if (Stella_Object.isaP(mainargvalue, Units.SGT_UNIT_SUPPORT_DIM_NUMBER_LOGIC_WRAPPER)) {
            { Measure measure = ((DimNumber)(((DimNumberLogicWrapper)(mainargvalue)).wrapperValue)).getMeasure();
              LogicObject measureInstance = ((measure != null) ? ((LogicObject)(Units.$MEASURE_INSTANCE_TABLE$.lookup(measure))) : ((LogicObject)(null)));

              if (measureInstance != null) {
                return (Logic.selectProofResult(Logic.bindArgumentToValueP(measurearg, measureInstance, true), false, true));
              }
              else {
                return (Units.KWD_FAILURE);
              }
            }
          }
          else {
            return (Units.KWD_TERMINAL_FAILURE);
          }
        }
        else {
          if (Stella_Object.isaP(mainargvalue, Units.SGT_UNIT_SUPPORT_DIM_NUMBER_LOGIC_WRAPPER)) {
            { Measure measure = ((DimNumber)(((DimNumberLogicWrapper)(mainargvalue)).wrapperValue)).getMeasure();
              LogicObject measureInstance = ((measure != null) ? ((LogicObject)(Units.$MEASURE_INSTANCE_TABLE$.lookup(measure))) : ((LogicObject)(null)));

              if (measureInstance != null) {
                if (measureargvalue == measureInstance) {
                  {
                    ControlFrame.setFrameTruthValue(frame, Logic.TRUE_TRUTH_VALUE);
                    return (Units.KWD_FINAL_SUCCESS);
                  }
                }
                else {
                  {
                    ControlFrame.setFrameTruthValue(frame, Logic.FALSE_TRUTH_VALUE);
                    return (Units.KWD_TERMINAL_FAILURE);
                  }
                }
              }
              else {
                return (Units.KWD_TERMINAL_FAILURE);
              }
            }
          }
          else {
            return (Units.KWD_TERMINAL_FAILURE);
          }
        }
      }
    }
  }