public void Simplify()
        {
            var nonZeroTerms = NonZeroExprTerms.ToArray();

            _termsDictionary.Clear();

            foreach (var pair in nonZeroTerms)
            {
                _termsDictionary.Add(
                    pair.Key,
                    new List <Expr>(1)
                {
                    pair.Value
                }
                    );
            }
        }
 IEnumerator IEnumerable.GetEnumerator()
 {
     return(NonZeroExprTerms.GetEnumerator());
 }
 public IEnumerator <KeyValuePair <int, Expr> > GetEnumerator()
 {
     return(NonZeroExprTerms.GetEnumerator());
 }
 public bool IsTerm()
 {
     return(NonZeroExprTerms.Count() <= 1);
 }