# Why Abs[Infinity] is an element of the real numbers

Element[Abs[Infinity], Complexes]


returns False, that's right.

But

Limit[Element[Abs[x], Reals], x -> Infinity]
ForAll[{x}, x == Infinity, Element[Abs[x], Reals]]


returns True,

FullSimplify[expr = Sqrt[1/x^2], Element[x, Reals]]
Exists[{x}, x == 0, Element[%, Reals]] // FullSimplify
Exists[{x}, x == 0, Element[expr, Reals]] // FullSimplify


it seems unreasonable.

• However, Element[Abs[Infinity], Reals] return False. Nov 1, 2014 at 21:11
• @murray: Yes, but sometimes Abs[Infinty] with some logical functions will contradiction. Nov 2, 2014 at 1:14

You are invoking ForAll with vacuous conditions. Compare:

ForAll[{x}, x == x + 1, Element[Abs[x], Reals]]
(* output: True *)


I think that is really all that's going on here. There is no x in the ForAll for which x==Infinity actually returns true, so it spits out true because the "all" in "for all" is the empty set. It's vacuous.

Likewise in the limit, you have a constant sequence True. What is the limit of that? Nobody said the map from set membership to truth values was continuous. Compare:

Limit[x < Infinity, x -> Infinity]
(* output: True *)


I don't see anything fishy going on here, but this is at least somewhat curious a topic. Have I overlooked something, or is it really just business as usual as I seem to say?

• Thank you for your answer. But how to interpret Exists[x,x==0,Element[Abs[1/x],Reals]]//FullSimplify and Exists[x, x == 0, Element[Sqrt[1/x^2], Reals]] // FullSimplify Nov 3, 2014 at 11:22
• Abs[1/0] gives you Infinity while Sqrt[1/0] gives ComplexInfinity. The absolute value function returns a real, while square roots of this sort will return complex-valued numbers unless the input is a positive real. (This isn't a Mathematica issue, that's just how square roots work.) Nov 3, 2014 at 19:30
• All right. Focus on Exists x==0 return True, it isn't vacuous. Nov 4, 2014 at 1:12
• What do you mean "focus on Exists"? I'm not really sure I understand that. The Exists command has three inputs, Exists[x,cond,expr], where cond is a condition on x and expr is the expression you are quantifying. Note that Exists[x,cond,expr] is equivalent to Exists[x,cond&&expr]. When Exists looks at Abs[1/x] it determines that this is real. See also: Reduce[ForAll[x, Element[Abs[1/x], Reals]]] . Because of that, it has reduced x==0&&Element[Abs[1/x],Reals] to x==0&&True, for which x does exist. This simplification will not occur with the Sqrt construction. Nov 4, 2014 at 22:20
• I will also point out that using x==0 within an Exists command doesn't make sense. I'm sure you know that, but you can't expect perfect results when threading division by zero and existential quantifiers together. Nov 4, 2014 at 22:20