Reduce[{x> -1, (1 - m + x) (E^x - 1/(1 + x))>0, 0 < m < 1}, x, Reals]
Why can’t the powerful Reduce and Solve functions handle this type of parametric inequality problem?
Reducing the complicated inequality first perhaps gives the solution you seek:
Reduce[{x > -1, Reduce[(1 - m + x) (E^x - 1/(1 + x)) > 0, {}, Reals],
0 < m < 1}, x, Reals]
(* 0 < m < 1 && (-1 < x < -1 + m || x > 0) *)
Excellent! The problem is solved by nesting an additional Reduce function. Great job, and thank you very much for this method!
A little change of variable solves the problem too:
Reduce[{x > -1,
(1 - m + x) (E^x - 1/(1 + x)) > 0,
0 < m < 1} /. x -> y - 1,
Reals] /. y -> x + 1
I wonder why Reduce works with y but not with x.
This use of x works for me (I guess I didn’t try it, because I would have chosen to post this version, not the other one):
Reduce[{x > -1, (1 - m + x) (E^x - 1/(1 + x)) > 0, 0 < m < 1}, {}, Reals]
Also this, which is closer to your code, Gianluca:
Reduce[{x > -1, (1 - m + x) (E^x - 1/(1 + x)) > 0, 0 < m < 1}, Reals]
It’s the leaving off of the variable in the exponential that is the key. For instance, adding y as an explicit variable to your solution cause Reduce[] to fail:
Reduce[{x > -1, (1 - m + x) (E^x - 1/(1 + x)) > 0, 0 < m < 1} /.
x -> y - 1, y, Reals] /. y -> x + 1