Question: How do I force consistency in solve output?

The following program:

with(RealDomain):
sol1 := solve(x-1 > 0, x);
sol2 := solve(1/x^2 > 0, x);
sol3 := solve(1/(x^2-1) > 0, x);
sol4 := solve(x^2+1 > 0, x);
sol5 := solve(x^2+1 < 0, x);

Gives the following output:

sol1 := RealRange(Open(1),infinity)
sol2 := {x <> 0}
sol3 := RealRange(-infinity,Open(-1)), RealRange(Open(1),infinity)
sol4 := x
sol5 := NULL

I would like to force some consistency in the output of solve because I need to feed the output to a third-party program. For example, what's the deal with sol2 and sol3? Why are they formatted differently?

Ideally, I would like the previous output to be:

sol1 := RealRange(Open(1),infinity)
sol2 := RealRange(-infinity,Open(0)), RealRange(Open(0),infinity)
sol3 := RealRange(-infinity,Open(-1)), RealRange(Open(1),infinity)
sol4 := RealRange(-infinity,infinity)
sol5 := NULL

How do I achieve this?

Please Wait...