ThisA few things are happening in there.
First, Infinity
is howbeing replaced by DirectedInfinity[1]
in order to perform the different Mathematica "inifinities" behave under a numerical comparison. In fact Infinity
is just an abbreviation of DirectedInfinity[1]
. You can see it by doing:
list = {Infinity, ComplexInfinity,// DirectedInfinity[],FullForm
(* DirectedInfinity[1], DirectedInfinity[-1]};*)
Quiet@If[# <
Next, the comparison takes place. It's done in the same way Mathematica always does, like in:
h[1] 6/., True,_?(# False,< Undefined]6 &) /@-> list
0
(* {False,h[0] Undefined,*)
But in your case the head h
is DirectedInfinity
. So your result is
(* Undefined,DirectedInfinity[0] False,*)
Now, that is a non-oriented infinity, exactly the same as ComplexInfinity
. Just try it:
DirectedInfinity[0]
(* True}ComplexInfinity *)
And that's it.