There is nothing wrong with the issue in the question.
Mathematica
shouldn't evaluate
Simplify[ Integrate[f[x] + g[x], x] == Integrate[f[x], x] + Integrate[g[x], x]]
to True
, because in general such a rule would be mathematically simply wrong.
Consider e.g. $ \forall_{x } f(x) = - g(x)$, while $f$ is not e.g. Lesbegue integrable. Of course Mathematica
does not distinguish integrability subtleties, nevertheless there should be
Integrate[f[x] + g[x], x] == 0
while $\int{f(x)dx}$ and $\int{g(x)dx}$ don't not exist. Q.E.D
One should emphasize that the rule works well if we define appropriate integrable functions, e.g.
f[x_] := x^3 + 2 x + 1
g[x_] := Hypergeometric1F1[3, 7, x]
Simplify[ Integrate[ f[x] + g[x], x] == Integrate[ f[x], x] + Integrate[ g[x], x]]
True
Edit
If there is a need for a rule distributing integrals over a sum of functions (knowing that we can do this in an appropriate class of functions) we could define an adequate rule, e.g.
intRule = Integrate[a_ + b_, c_] :> Integrate[a, c] + Integrate[b, c];
and use it with ReplaceRepeated
(//.
)
( Integrate[ f[x] + g[x] + h[x], x] //. intRule ) ==
Integrate[f[x], x] + Integrate[g[x], x] + Integrate[h[x], x]
True
in the traditional form it yields :
Integrate[ f[x] + g[x] + h[x], x] //. intRule // TraditionalForm

d[
expression,x]
withSimplify
orFullSimplify
will evaluate to true. In other words, I am taking the derivative of the expression, and that seems to eliminate the integrals. I'd like to know if there are other workarounds, though. The new code is:FullSimplify[ D[Integrate[a[x] + b[x], x] == Integrate[a[x], x] + Integrate[b[x], x], x]]
$\endgroup$ – Matt Groff Jul 15 '12 at 22:56FullSimplify
is just an inconsequence ofM
. Look atIntegrate[a[x] + b[x], x]
,Integrate[a[x], x]
and, all they return the results as the integrals would actually exist, moreover as they would be differentiable. While that is not correct in general. $\endgroup$ – Artes Jul 16 '12 at 0:40M
? $\endgroup$ – Matt Groff Jul 16 '12 at 2:03M
likeMathematica
. I meant it wasn't a good feature ofM
when it returnedTrue
in that case. Look that you need notFullSimplify
to getTrue
, evaluate that expression withoutFullSimplify
. It shouldn't returnTrue
, unless you assumea[x]
to be integrable/ differentiable e.g.a[x_]:=x^2
. There are many imperfect issues. $\endgroup$ – Artes Jul 16 '12 at 2:14