# Question:Using Assumptions & Missed Solutions in calling solve?

## Question:Using Assumptions & Missed Solutions in calling solve?

Maple 2022

The help page solve/details claims that `solve(x^2-1,{x}, useassumptions) assuming x>0;` is equivalent to `solve({x^2-1, x>0},{x});`. But the following example perplexes me again.

Considering a multi-variable polynomial:

`expr := 36*a^3*b^3+8*a^2*b^2*(9*(a+b+1)^2+4*(a*b+a+b))*(a+b+1)+((a-b)^2-2*(a+b)+1)^2*(a+b+1)^5+a*b*((a-b)^2-2*(a+b)+1)*(17*(a+b+1)^2+4*(a*b+a+b))*(a+b+1)^2: # assuming nonnegative`

I intend to find the non-negative real roots of it.

```solve({expr = 0, (a, b) >= ~ 0}, [a, b], allsolutions);
solve(expr = 0., [a, b], useassumptions, allsolutions) assuming (a, b) >= ~ 0;
solve({expr = 0., (a, b) >= ~ 0}, [a, b], allsolutions);
```

all return six solutions, but curiously,

`solve(expr = 0, [a, b], useassumptions, allsolutions) assuming (a, b) >= ~ 0;`

only returns four solutions. Why???

In addition, as you can see, the first output (i.e., sol1) is thoroughly less meaningful. Can't it be more readable??

 > restart;

=

=

=

=

 > _SolutionsMayBeLost;
 (1)

=

Why did't  return ?

map2(evala@eval, expr, sol5);

 (2)

Error, (in type/algext) too many levels of recursion