# Recognizing a generalized function as zero

Consider the following expression:

HeavisideTheta[x]HeavisideTheta[-x]


Mathematica will not simplify it further. But $\Theta(x)\Theta(-x)$ is zero if considered as a generalized function, since you get zero if you integrate it against any test function: $\int dx\ \Theta(x)\Theta(-x) \varphi(x) = 0$ .

I have a long list of similar such expressions, in the variables $x1,x2,y1,y2$, such as:

 HeavisideTheta[x1-y1] HeavisideTheta[x2-y2] HeavisideTheta[-x1,-x2,-x1+x2,y1,-y1+y2]
DiracDelta[x1+x2-y1-y2] HeavisideTheta[-x1,-x2,-x1+x2,x1-y2,-y1+y2]


For either of these, one can integrate against any test function $\varphi(x1,x2,y1,y2)$ and get zero. How can I get Mathematica to recognize such expressions as zero in a timely way?

I tried defining a function:

procedure[expr_]:=


that would yield zero on such expressions. One way that works is to FourierTransform in all four variables; however, this takes hours for some of the expressions.

For completeness, let me write out the full versions of the two example terms above, as they appear in my application:

-(1/4)a^2 Exp[(2a + i b)(y1-x1)-(1/4)(a + 4 i b)(x2-y2)] HeavisideTheta[x1-y1] HeavisideTheta[x2-y2] HeavisideTheta[-x1,-x2,-x1+x2,y1,-y1+y2]
2 Exp[(3/4)(y2-x1)b] DiracDelta[x1+x2-y1-y2] HeavisideTheta[-x1,-x2,-x1+x2,x1-y2,-y1+y2]


The extra prefactors don't make any difference mathematically (either term is still zero as a generalized function), but they may make it more difficult for Mathematica.

Thanks!

-
Have you used FullSimplify ? I get some simplification. –  b.gatessucks Feb 12 '14 at 16:11
Related: link –  Sektor Feb 12 '14 at 16:26