public bool LessEqual(IteratorState right)
        {
            var left = this;
            var res  = true;

            switch (right.IntState)
            {
            case IteratorInternalState.BOTTOM:
                res = false;
                break;

            case IteratorInternalState.TOP:
                res = true;
                break;

            default:
                res = left.IntState == right.IntState ? true : false;
                break;
            }
            return(res);
        }
        internal IteratorState Union(IteratorState right)
        {
            var intState = Join(this.IntState, right.IntState);

            return(new IteratorState(intState));
        }
 internal MoveNextVisitorForItStateAnalysis(IteratorStateAnalysis itAnalysis, IDictionary <IVariable, IExpression> equalitiesMap, IteratorState state)
 {
     this.State      = state;
     this.equalities = equalitiesMap;
 }