/// <summary>
 /// Determines whether this object is equal to another object.
 /// </summary>
 /// <param name="other">The other object.</param>
 /// <returns><see langword="true"/> when the objects are equal;
 /// otherwise, <see langword="false"/>.</returns>
 private bool Equals(ConsTerm other)
 {
     return(base.Equals(other) &&
            this.Name.Equals((other.Name)) &&
            this.SubTerms.SequenceEqual(other.SubTerms));
 }
			/// <summary>
			/// Determines whether this object is equal to another object.
			/// </summary>
			/// <param name="other">The other object.</param>
			/// <returns><see langword="true"/> when the objects are equal;
			/// otherwise, <see langword="false"/>.</returns>
			private bool Equals(ConsTerm other)
			{
				return base.Equals(other)
					&& this.Name.Equals((other.Name))
					&& this.SubTerms.SequenceEqual(other.SubTerms);
			}