Region-combination functions such as RegionIntersection call BooleanRegion to compute the result. For instance, RegionIntersection[reg1, reg2,…] is equivalent to BooleanRegion[And, {reg1, reg2,…}]
In turn, BooleanRegion seems to apply some basic logic to eliminate unnecessary computation. The following and their equivalent RegionIntersection calls return region without inspecting, simplifying, or otherwise altering region:
BooleanRegion[And, {region}] BooleanRegion[And, {region, region}] (* DeleteDuplicates[] is used to remove copies *) BooleanRegion[And, {region, FullRegion[n]}] (* where n is the dimension of region *)
Possible workarounds include intersecting region with a region distinct from region and FullRegion[n] that covers region. Simply specifying a full region as an ImplicitRegion or changing the variables in region suffice. Unfortunately Simplify[ImplicitRegion[..]] does nothing. In this case, if we apply Simplify or Reduce to the first argument gets around this.
ireg = ImplicitRegion[x < 0 && x > 0, {x}] yreg = ireg /. x -> y (* change variable *) fullreg = ImplicitRegion[-Infinity < x < Infinity, {x}] (* a disguised full region *) (* ImplicitRegion[x < 0 && x > 0, {x}] ImplicitRegion[y < 0 && y > 0, {y}] ImplicitRegion[-∞ < x < ∞, {x}] *) RegionIntersection[ireg, yreg] RegionIntersection[ireg, fullreg] (* EmptyRegion[1] EmptyRegion[1] *)
Simplification:
MapAt[Simplify, ireg, 1] MapAt[Reduce, ireg, 1] (* EmptyRegion[1] EmptyRegion[1] *)
It seems Mathematica is missing a RegionSimplify or RegionReduce function. At least, I didn't find one.
RegionIntersection[ImplicitRegion[C11 > 0 && C11 < 0, {C11}]]$\endgroup$EmptyRegion[]? Are my expectations wrong? $\endgroup$DiscretizeRegion[ImplicitRegion[reg, {C11}]]-- I suppose regions are closed (i.e. boundaries are added). I don't know for sure though. $\endgroup$RegionIntersection[ImplicitRegion[C11 > 0 && C11 < 0, {C11}]] //ArcLengthevaluates to zero! $\endgroup$