@Override public CompoundInterval visit( ShiftLeft<CompoundInterval> pShiftLeft, Map<? extends String, ? extends InvariantsFormula<CompoundInterval>> pEnvironment) { CompoundInterval toShift = pShiftLeft.getShifted().accept(this, pEnvironment); CompoundInterval shiftDistance = pShiftLeft.getShiftDistance().accept(this, pEnvironment); CompoundInterval evaluation = toShift.shiftLeft(shiftDistance); if (!shiftDistance.containsPositive()) { return evaluation; } return abstractionOf(evaluation); }