Please see the difference.  For example, if it can't solve the problem - it returns unevaluated solve, not some  subset of solution:
```
>>> solve(x + 1/x > 0, x)
 solve(0 < x + 1/x, x)
```
But not something like:
```
>>> solve(x + 1/x > 0, x)
{1, 2, 3}
```
as you suggest.