Well, the header says it all - why doesn't it? Assuming that x is greater than 0, the test whether it is smaller than 0 should clearly return False. Instead, the result is just "x<0". Why can't Assuming[] do this very simple task, what am I missing?
Thanks in advance
This forum bug needs to be fixed! Needless to say, that was not the text I posted.
To repeat what I actually wrote, in short, > (i.e. Greater) is indeed a function in this sense. But it does not have the Assumptions option. Assuming only affects functions that have this option.
>
Greater
Assumptions
Assuming
Apologies for the copy wrong text issue, it is on the long todo list. You can always edit those posts. But thank for the reporting.
Whatever the order and length of that todo list, push that issue to the very top with high priority. I have written 'long essays' as replies to questions for it to disappear and be gone :( now before posting I always make a copy to a text file... (including this one)
OK thank you, but I thought the expression "x<0" itself is a function already, since if I just write "x<0" without any extra function, this returns a Boolean (if I assigned a value to x before).
< is indeed a function: https://reference.wolfram.com/language/ref/Less.html However this holds for nearly everything in Mathematica: everything is a function. However Less does not take any options and does not 'notice' Assumptions. Refine, Simplify et cetera do notice Assumptions and do simplifications...
And $Assumptions is the default setting of the Assumptions option (for most functions). This implies that Assuming only has an effect on functions that have this option. (Well, this is generally true. There are always exceptions.)
$Assumptions
What Sam says is correct: You need a function like Integrate, Sum, Simplify, Refine, Limit, FunctionExpand, et cetera... because Assuming effectively sets $Assumptions temporarily, which are then used by the aforementioned functions...
I think you need to trigger some sort of evaluation instead of just composing a static expression:
Assuming[x > 0, Refine[x < 0]] (*False*) Assuming[x > 0, Simplify[x < 0]] (*False*)