I am trying to use Reduce to determine the range of values of parameter g for which NCritical[g] > N1[g].

`a = 0.03; c = 0.5; b = d = 1; K = HMax = 1000; NCritical[g_] := ( b^2 (-1 + c g)^2 Sqrt[(b - b c g)/(1 + c - c g)] K^2)/( d^2 (-1 + c (-1 + g))^2); Equilibria1[g_] := Module[{h, x, y}, Simplify[ Normal[Solve[ y*g*(1 - c*g)*(1 - h/HMax)*b - a*h == 0 && y*(1 - c*g)*h/HMax*b + y*g*(1 - c*g)*(1 - h/HMax)*b - y*d*(x + y)/K == 0 && x*h/HMax*b - x*d*(x + y)/K == 0, {h, y, x}, PositiveReals]]]]; H1[g_] := Equilibria1[g][[All, 1]][[1]][[2]]; Y1[g_] := Equilibria1[g][[All, 2]][[1]][[2]]; X1[g_] := Equilibria1[g][[All, 3]][[1]][[2]]; Range1 = Once[ N[Reduce[Y1[g] > NCritical[g] && 0 <= g <= 1, PositiveReals]]] `

The code above gives the following range:

`0. < g < 0.000165352 `

However, we can see this is wrong by testing whether the following statement is true:

` g=1; Y1[g]>(b^2 (-1 + c g)^2 Sqrt[(b - b c g)/( 1 + c - c g)] K^2)/(d^2 (-1 + c (-1 + g))^2) `

This gives an answer of `True`

.

Is there any way around this problem?