* @return Stella_Object
   */
  public static Stella_Object conceiveTerm(Stella_Object tree) {
    try {
      { Stella_Object standardizedtree = Logic.standardizePropositionTree(tree);
        Stella_Object operator = null;
        Stella_Object term = null;

        if (Stella_Object.consP(standardizedtree)) {
          operator = ((Cons)(standardizedtree)).value;
        }
        if ((operator != null) &&
            ((Logic.getRelation(operator) != null) &&
             (!Logic.functionP(Logic.getRelation(operator))))) {
          term = Logic.conceiveSentence(tree);
        }
        else {
          term = Logic.buildTopLevelTerm(standardizedtree);
        }
        return (term);
      }
    } catch (LogicException e) {
      Stella.STANDARD_ERROR.nativeStream.print(Stella.exceptionMessage(e));
    } catch (ReadException e) {
      Stella.STANDARD_ERROR.nativeStream.print(Stella.exceptionMessage(e));
    }
    return (null);
  }