@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);
 }