public static NamedDescription defineRelationFromParseTree(Cons tree) {
    { GeneralizedSymbol testValue000 = ((GeneralizedSymbol)(tree.value));

      if (testValue000 == Logic.SYM_LOGIC_DEFCONCEPT) {
        return (Logic.callDefconcept(tree.rest));
      }
      else if (testValue000 == Logic.SYM_LOGIC_DEFRELATION) {
        return (Logic.callDefrelation(tree.rest));
      }
      else if (testValue000 == Logic.SYM_LOGIC_DEFFUNCTION) {
        return (Logic.callDeffunction(tree.rest));
      }
      else {
        { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

          stream000.nativeStream.print("`" + testValue000 + "' is not a valid case option");
          throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
        }
      }
    }
  }