I guess this is something easy that I’m overlooking is a clear sign of illiteracy, but anyway.
How is that
(Map[Sign, LessEqual[x, y]]) === LessEqual[Sign[x], Sign[y]]
-> True
But
(Map[Sign, LessEqual[-1, -100]]) == LessEqual[Sign[-1], Sign[-100]]
-> False
Using Trace on the lhs will help to show what has happened.
Out[2]= {{-1 <= -100, False}, Sign /@ False, False}
Notice that Map has no HoldXXX attributes.
Out[3]= {Protected}
So the LessEqual evaluates before Map does anything. At which point you get
As False is an atomic expression, this just evaluates to False.
The rhs of course evaluates to True, since Sign[-1] and Sign[-100] are both -1.
Daniel Lichtblau
Wolfram Research