public static boolean inferableDescriptionP(Stella_Object self) {
    if (self == null) {
      return (false);
    }
    if (Surrogate.subtypeOfP(Stella_Object.safePrimaryType(self), Logic.SGT_LOGIC_DESCRIPTION)) {
      { Description self000 = ((Description)(self));

        if (((Boolean)(Logic.$REVERSEPOLARITYp$.get())).booleanValue() &&
            (Description.getInferableComplementDescription(self000) != null)) {
          self000 = ((Description)(KeyValueList.dynamicSlotValue(self000.dynamicSlots, Logic.SYM_LOGIC_COMPLEMENT_DESCRIPTION, null)));
        }
        return (Description.inferableP(self000));
      }
    }
    else {
      return (false);
    }
  }