Why not simply that:
```python
def _eval_is_positive(self):
    return fuzzy_or([self.args[0].is_positive,
                              fuzzy_and([self.args[0].is_noninteger, floor(x).is_even]])
```
?