public static LogicObject resolveSynonyms(LogicObject obj) {
    { Surrogate surrogate = obj.surrogateValueInverse;

      if ((surrogate != null) &&
          Logic.synonymSurrogateP(surrogate)) {
        return (((LogicObject)(surrogate.surrogateValue)));
      }
      else {
        return (obj);
      }
    }
  }