Example #1
0
        /// <summary>
        /// Pretty printing of terms with function symbols that do not indidate underlying .Net type
        /// </summary>
        /// <returns>A string in the form f(t1, t2, ...)</returns>
        public override string ToCompactString()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(functionSymbol.Name);
            sb.Append("(");
            bool isFirst = true;

            foreach (IComparable obj in this.arguments)
            {
                if (!isFirst)
                {
                    sb.Append(", ");
                }
                Term objT = obj as Term;
                sb.Append(obj == null ? "null" : (objT != null ? objT.ToCompactString() : obj.ToString()));
                isFirst = false;
            }
            sb.Append(")");
            return(sb.ToString());
        }