Here's the problem:

```
>>> if Symbol('i')>0:print 1
...
1
>>> if Symbol('i').is_positive:print 1
...
```

`i` is not known to be positive but the bool test gives a True. So unless we know that expt is a Number then we should use `is_positive` and `is_negative`.