diff --git a/pymbolic/mapper/constant_folder.py b/pymbolic/mapper/constant_folder.py
index d682369ded386317b69d24d2566418a110ebcba2..b642fa63d115ff5c6eb097351cca7757231a0789 100644
--- a/pymbolic/mapper/constant_folder.py
+++ b/pymbolic/mapper/constant_folder.py
@@ -22,13 +22,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 """
 
+from six.moves import reduce
 from pymbolic.mapper import \
         IdentityMapper, \
         CSECachingMapperMixin
 
 
-
-
 class ConstantFoldingMapperBase(object):
     def is_constant(self, expr):
         from pymbolic.mapper.dependency import DependencyMapper
@@ -75,7 +74,6 @@ class ConstantFoldingMapperBase(object):
         return self.fold(expr, Sum, operator.add, flattened_sum)
 
 
-
 class CommutativeConstantFoldingMapperBase(ConstantFoldingMapperBase):
     def map_product(self, expr):
         from pymbolic.primitives import Product, flattened_product
@@ -84,16 +82,15 @@ class CommutativeConstantFoldingMapperBase(ConstantFoldingMapperBase):
         return self.fold(expr, Product, operator.mul, flattened_product)
 
 
-
-
 class ConstantFoldingMapper(
-        CSECachingMapperMixin, 
-        ConstantFoldingMapperBase, 
+        CSECachingMapperMixin,
+        ConstantFoldingMapperBase,
         IdentityMapper):
 
     map_common_subexpression_uncached = \
             IdentityMapper.map_common_subexpression
 
+
 class CommutativeConstantFoldingMapper(
         CSECachingMapperMixin,
         CommutativeConstantFoldingMapperBase,