On Mon, Apr 14, 2014 at 10:55:15PM -0700, Zamrath Nizam wrote:
>    In sympy/polys/constructor.py:
> 
>  > @@ -125,7 +125,7 @@ def _construct_composite(coeffs, opt):
>  >          all_symbols = set([])
>  >
>  >          for gen in gens:
>  > -            symbols = gen.atoms(Symbol)
>  > +            symbols = gen.free_symbols
>  >
> 
>      can you explain why this is "wrong"?
> 
>    Integral(x/2, (x, 0, 2)) = 1. Therefore result should be (ℤ, [1]).

It doesn't explain anything.  x**2 - 1 is not "wrong" c.f. (x - 1)*(x +
1).  Or vice versa.

I can see, that the result is different.  But the only fact that it's
different - doesn't mean it's wrong.  Please explain why it's wrong.