# What kind of “mathematical object” are limits?

When learning mathematics I tend to try to reduce all the concepts I come across to some matter of interaction between sets and functions (or if necessary the more general Relation) on them. Possibly with some extra axioms thrown in here and there if needed, but the fundamental idea is that of adding additional structure on sets and relations between them.

I've recently tried applying this view to calculus and have been running into some confusions. Most importantly I'm not sure how to interpret Limits. I've considered viewing them as a function that takes 3 arguments, a function, the function's domain and some value (the "approaches value") then outputs a single value.

However this "limit function" view requires defining the limit function over something other then the Reals or Complexes due to the notion of certain inputs and outputs being "infinity". This makes me uncomfortable and question whether my current approach to mathematics is really as elegant as I'd thought. Is this a reasonable approach to answering the question of what limits actually "are" in a general mathematical sense? How do mathematicians tend to categorize limits with the rest of mathematics?

-
Note that a function always has a domain - it need not be a separate argument. If you want to restrict to a subdomain, you can treat that as a "different" function called the restriction. –  Thomas Andrews Aug 8 '12 at 20:14
The other problem is that the "limit function" might not be a function at all, since it is not always defined. For example, $\lim_{x\to\infty}\sin x$ does not exist. –  Thomas Andrews Aug 8 '12 at 20:15
@ThomasAndrews Could you add a "DNE" element to the codomain of the limit function to solve this problem? –  Code-Guru Aug 8 '12 at 20:38
@Code: sure. This is equivalent to thinking of a partial function between two sets as a function between two pointed sets (en.wikipedia.org/wiki/Pointed_set). –  Qiaochu Yuan Aug 8 '12 at 20:40
Yes, you could think of it that way, but that's not really what it naturally is. I think my answer below shows what the "natural" function is - the natural range of a limit is a set of values, and then what we call "the limit" is the value if and only if that set of values contains just that one value. –  Thomas Andrews Aug 8 '12 at 20:45

Do you by any chance have a computer science background? Your ideal of reducing everything (even operations like limits) to function and sets has a flavor of wanting mathematics to work more or less like a programming language -- this is a flavor that I (being a computer scientist) quite approve of, but you should be aware that the ideal is not quite aligned with how real mathematicians write mathematics.

First, even though everything can be reduced to sets and functions -- indeed, everything can be reduced to sets alone, with functions just being sets of a particular shape -- doing so is not necessarily a good way to think about everything all of the time. Reducing everything to set theory is the "assembly language" of mathematics, and while it will certainly make you a better mathematician to know how this reduction works, it is not the level of abstraction you'll want to do most of your daily work at.

In contrast to the "untyped" assembly-level set theory, the day-to-day symbol language of mathematics is a highly typed language. The "types" are mostly left implicit in writing (which can be frustrating for students whose temperament lean more towards the explicit typing of most typed computer languages), but they are supremely important in practice -- almost every notation in mathematics has dozens or hundreds of different meanings, between which the reader must choose based on what the types of its various sub-expressions are. (Think "rampant use of overloading" from a programming-language perspective). Mostly, we're all trained to do this disambiguation unconsciously.

In most cases, of course, the various meanings of a symbol are generalizations of each other to various degrees. This makes it a particular bad idea to train oneself to think of the symbol of denoting this or that particular function with such-and-such particular arguments and result. A fuzzier understanding of the intention behind the symbol will often make it easier to guess which definition it's being used with in a new setting, which makes learning new material easier (even though actual proofwork of course needs to be based on exact, explicit definitions).

In particular, even restricting our attention to real analysis, the various kinds of limits (for $x\to a$, $x\to \infty$, one-sided limits and so forth) are all notated with the same $\lim$ symbols, but they are technically different things. Viewing $\lim_{x\to 5}f(x)$ and $\lim_{x\to\infty} f(x)$ as instances of the same joint "limit" function is technically possible, but also clumsy and (more importantly) not even particularly enlightening. It is better to think of the various limits as a loose grouping of intuitively similar but technically separate concepts.

This is not to say that there's not interesting mathematics to be made from studying ways in which the intuitive similarity between the different kind of limits can be formalized, producing some general notion of limit that has the ordinary limits as special cases. (One solution here has the not very google-friendly name "nets"). All I'm saying is that such a general super-limit concept is not something one ought to think of when doing ordinary real analysis.

Finally (not related to your question about limits), note that the usual mathematical language makes extensive use of abstract types. The reals themselves are a good example: it is possible to give an explicit construction of the real numbers in terms of sets and functions (and every student of mathematics deserves to know how), but in actual mathematical reasoning numbers such as $\pi$ or $2.6$ are not sets or functions, but a separate sort of things that can only be used in the ways explicitly allowed for real numbers. "Under the hood" one might consider $\pi$ to "really be" a certain set of functions between various other sets, but that is an implementation detail that is relevant only at the untyped set-theory level.

(Of course, the various similarities between math and programming languages I go on about here are not coincidences. They arose from programming-language design as deliberate attempts to create formal machine-readable notations that would "look and feel" as much like ordinary mathematical symbolism as they could be made to. Mathematics had all of these things first; computer science was just first to need to name them).

-
+1! Excellent points that are not often made (at least by mathematicians to other mathematicians). –  Qiaochu Yuan Aug 8 '12 at 20:36
Nice catch, indeed my first introduction to high levels of abstraction was through computer science. I then found an interest in philosophy, particularly logic. Having moved on to general mathematics I started first with Set Theory and saw it as the "binary" or "assembly" of mathematics. Ever since I've often found myself frustrated at what I perceived as a lack of rigour in general mathematics notation and definitions. Especially considering mathematic's reputation as a discipline obsessed with rigour. –  jcelios Aug 8 '12 at 21:17
@joriki: It's been a hobby horse of mine for some time. Traditionally, students have had to learn the grammar and conventions of mathematical symbolism by imitating their professors, extrapolating from examples, and figuring out for themselves the domain of validity of whatever grotesquely overbroad quasi-explanations their instructors can think up on the spot when they're asked. Meanwhile programming-language research has made great progress in systematizing these things so they can be explained to computers; that body of work really ought to be put to educational use in mathematics too. –  Henning Makholm Aug 8 '12 at 21:27
@jcelios: I sympathize with your frustration, but I think you're giving too little credit to traditional mathematical notation. After all, it is how it is because it has been honed by generations of mathematicians to be able to say just what they want to say at just the right level of abstraction for the purpose at hand. What it needs is not changing to be more faithful to some foundational dogma, but some clear and explicit explanations of how it works -- and that is sorely lacking in much mathematics education, mostly (my thesis!) for lack of vocabulary to explain it with. –  Henning Makholm Aug 8 '12 at 21:46
Also, just because we've discovered assembly language doesn't mean that we should henceforth strive to write all our programs in assembly style. It's not as if Haskell or Java are the way they are because they have not yet caught up with the invention of assembly language and are "still picking up pieces". –  Henning Makholm Aug 8 '12 at 21:49

"Limit" is a function that takes as input, say, a continuous function $f : \mathbb{R} \to \mathbb{R}$ and a real number $a$ and outputs $\lim_{x \to a} f(x)$. The only thing that might make you uncomfortable about this is how "large" the domain is, but mathematicians talk about sets of functions all the time and there is no issue with this being well-defined. In fact it is necessary to talk about sets of functions to do a lot of interesting things in mathematics.

(It is a good idea to attach both the domain and codomain of a function to the data of the function. Thus when I say "a function" I mean a set $C$, another set $D$, and (if you like) a subset of $C \times D$ satisfying certain axioms. The domain is part of the data so I don't need it as an additional input.)

Edit: I see I misread your question. Your actual discomfort is about infinity. This is handled by replacing $\mathbb{R}$ (in both the domain and codomain) with the extended real line $\mathbb{R} \cup \{ \infty, -\infty \}$. This is a perfectly well-defined topological space, and the language of point-set topology tells you what limits in this setting look like.

-
But if $f$ is assumed to be a continuous function, then there's no fun in the limit. I would suggest that a limit is function that takes as input a set-function, $f : C \to D$, where $C \subseteq X$ and $D \subseteq Y$, for topological spaces $X, Y$, and a point $a \in \overline{C}$. –  Shaun Ault Aug 8 '12 at 19:40
Is it true that $\lim_{x\to a}f(x)=y$ iff $(x,y)$ is an accumulation point of $f$ (interpreted as a set of pairs) and there's no $y'\neq y$ so that $(x,y')$ is also an accumulation point of $f$? –  celtschk Aug 8 '12 at 19:43
@Thomas: you are, of course, free to write your own answer to the question. –  Qiaochu Yuan Aug 8 '12 at 20:25
No reason to get defensive, @QiaochuYuan. I'm not attacking you personally, and if you reacted with some introspection, you might see that our quibbles are in an effort to lead to a better answer, not just an attempt to score points. –  Thomas Andrews Aug 8 '12 at 20:28
@Thomas: I'm not getting defensive. But I think the points you are making would be more productively made in a separate answer. –  Qiaochu Yuan Aug 8 '12 at 20:32

There is one big way to look at this - a topological approach.

If you want a functional way of looking at it, then the limit function has as its value a set - the set of all limit points. Then the function has "a single limit" if that set is a set with a single element.

In other words, given a function $f$ and a point $a$, we can define the "set of limits" $\mathrm{setlim}_{x\to a} f(x)$. We say that $\lim_{x\to a} f(x) = y$ if $\mathrm{setlim}_{x\to a} f(x) = \{y\}$.

Note that this does not require us to add $+\infty$ and $-\infty$, but we can. Adding these two points is a way of "compactifying" the real line, making every infinite sequence of real numbers have some limit point somewhere, which means that, at least if $a$ is in the closure of the domain of $f$, then $\textrm{setlim}_{x\to a}$ is always non-empty.

-