I think, we should handle symbolic arguments.  What you implement here - already available in master.  For example:
```
In [2]: ask(Q.positive(asin(S(1)/22)))
Out[2]: True
In [3]: ask(Q.positive(asin(22)))
Out[3]: False
```