Question: emulating avoid={x=0} in solve command

I wanted to have solve avoid a particular soluton. I was in for a surprise. Consider:

restart;
f := x -> x^2-1;

                                      2
                           f := x -> x  - 1

fsolve( f(x)=0, x, avoid={x=0} );
solve( f(x)=0, x, avoid={x=0} );
solve( f(x)=0, x ) assuming x::positive;
solve( f(x)=0, x ) assuming x>0;

                           -1.000000000, 1.

Error, invalid input: too many and/or wrong type of arguments passed to solve; first unused argument is avoid = {x = 0}


                                1, -1


                                1, -1

I thought, "is it me? time to go to bed? It's only 2am..." Then I found this piece of information from the Help :

In most cases, solve ignores assumptions on the variables for which it is solving.  
However, the UseAssumptions option may be supplied to force solve to inspect any 
assumptions on the variables, and extract inequalities that it will add to the input.

And so here's the way to go, apparently :

solve( f(x)=0, x, UseAssumptions) assuming x>0;

anyone like me wishes that the syntax for solve were as simple as fsolve?

Please Wait...