# ImplicitRegion emptiness check

I have to integrate a complicated function over a lot of regions in x $\Phi$

F[W_, m_, t_] := BoundaryDiscretizeRegion[ImplicitRegion[
Max[pmin^2, W^2 (1 - x)^2] <= (1 -x)^2 (t^2 + x^2 m^2 - 2 m t x Cos[\[Phi]]) &&
Max[pmin^2, W^2 x^2] <= x^2 (t^2 + (1 - x)^2 m^2 + 2 m t (1 - x) Cos[\[Phi]]),
{\[Phi], x}], {{0,2 \[Pi]}, {0, 1}}]


To speed up I would like to check if the region for specific W, t, and m is empty or not before integration. I am doing it with RegionQ[F[W, m, t]] and get False if Mathematica can not discretize it together with the message BoundaryDiscretizeRegion::drf : BoundaryDiscretizeRegion was unable to discretize the region ImplicitRegion[<<2>>]. And the message decreases the speed.

I guess for more complicated regions I can get False even though the region is not empty. Another way is If[Area[ImplicitRegion[...]]==0,...] but here the integral is tacitly calculated, which I want to avoid.

So is there a faster way to check if the region given by ImplicitRegion is empty or not?

• Commented Oct 21, 2017 at 10:45
• @aardvark2012, yes, it is the answer. Commented Oct 22, 2017 at 13:23
• @aardvark2012, although, with FindInstance I am often stuck into lower dimensional areas which give zero integral anyway. RegionDimension[]==2 seems to work better for my problem. Commented Oct 22, 2017 at 13:46