although we know it should be 0
.
Having said that, we can always supplement built-in integration rules with user-defined ones (see e.g. Why aren't these additions of integrals and summations equal?Why aren't these additions of integrals and summations equal?) to expand a class of symbolically or numerically integrable functions - for this purpose Mathematica is most likely the best tool.
While we could always remedy various problems algorithmically, we shouldn't expect that it could be done in full generality (e.g. because of the finite number of states of computers); otherwise, we should supplement the system's built-in integration rules with infinitely many user-defined rules to be able to integrate every Lebesgue integrable function.
Next editions of Mathematica may involve more powerful symbolic capabilities for measure theory and Lebesgue integration problems, but we should realize that there will always be some limitations of the algorithmic approach to integration in the realm of integrable functions.
An especially fast method would be e.g. Method -> "AdaptiveMonteCarlo"
with Boole[ f1[x, y] > 5 f2[x, y]]
- appropriate region selector. Instead of Boole
we could use HeavisideTheta
, e.g. HeavisideTheta[ f1[x, y] - 5 f2[x, y]]
but in this case it appears to be fairly slower (see e.g. thisthis for the case when it is much faster). Working with "AdaptiveMonteCarlo"
, one should remember that the method provides a rather rough estimation of the result: