Writing something like Simplify[x<0,x<0]
returns True
because the second argument to Simplify
is interpreted as an Assumption
that is considered to be true.
Had the second argument been eg x==1
, evaluating the preceding code segment would produce False
; that result is not unexpected, since assuming that the value of x
is equal to 1
(a positive number), the truth-value of x<0
is expected to be False
.
Now, when Mathematica evaluates {x,y}<0
, it returns the same expression (provided that there are no other rules related to symbols x
and y
). This
should not be surprising; it happens because Less[List[x,y],0]
(which is the FullForm
equivalent expression of {x,y}<0
) is a valid Wolfram Language expression like eg x>0
; evaluating x>0
also returns x>0
(again assuming no rules are attached to symbol x
beforehand).
An expression like {x,y}<0
might anticipate an evaluation result like {x<0,y<0}
, but such an expectation is not warranted. The function (or 'operator') Less
does not thread over its arguments (as has already been pointed out by other answers) much as some numeric functions like eg Exp
or Log
do.
Evaluating Attributes[Exp]
or Attributes[Log]
should return a list of the attributes attached to each symbol; in the case of eg Log
it returns {Listable, NumericFunction, Protected}
; the presence of Listable
in the Attributes
list of Log
'allows' the user to expect that eg Log[{0,1}]
will evaluate to {-Infinity, 0}
.
The evaluation of {x,y}<0
does not return what's anticipated, because Less
is not Listable
.
What this means for the question at hand, is that when Simplify
is presented with an Assumption
that does not evaluate to a relevant relation (it simply reads Less[List[x,y],0]
) for the expression it is expected to simplify-x<0
in this case-it returns the best result it can deliver ie x<0
, which-in this case-is the same expression it was presented with, in the first place.
This result is equivalent to eg Simplify[x<0,y<0]
; again, in this case, too, the Assumption
does not assist in simplifying the expression passed as a first argument to Simplify
.
{x, y} < 0
to be nonsense. $\endgroup$ – Michael E2 Feb 6 '18 at 2:53Simplify[x < 0, Thread[{x, y} < 0]]
$\endgroup$ – Bob Hanlon Feb 6 '18 at 4:06Listable
inequalities are possible withPositive
,Negative
, etc.:Simplify[x < 0, Negative[{x, y}]]
. $\endgroup$ – Michael E2 Feb 6 '18 at 12:39