I do not think we have different views on how the mathematics works only perhaps how to express it.
I did not say that the antiderivative is unique only that it has a unique part. That is what I meant by
unique up to a constant but perhaps my English is wrong.
In your example the unique part is x^2+2*x, no more no less. The general antiderivative
may be expressed like so:
x^2+2*x+constant
ant I'm positive that there is no argument here.
If we are talking definite integrals we must, however, take the constant to be 0:
int_a^b(2*x+2) = b^2+2*b-(a^2+2*a)
i.e. only the unique part of the antiderivative contributes to the definite integral and
therefore it is in this case reasonable not to display any constant which is also
what is commonly done in integral tables.
I we are talking solutions to differential equations the particular value of the constant is subject
to initial conditions or more generally expressed: The constant may not be determined unless
we know the value of the antiderivative for some particular argument. In this case it would be
downright wrong to set a particular value to it without having this knowledge. I agree, of course, that
the integral sympy gave me is a possible answer but it also assumes conditions that I have not
provided so it may be misleading. For reasons outlined I think it would be better if the
algorithm did wash out the constant.
Cheers,
Gösta