sign.eval looks for is_positive, but it doesn't receive assumptions to look into.
I think it should be done into refine_sign.
I'll have something to push about it.