You asked for it.
TL;DR
I have to start with ultrafilters. What I am about to describe is not the standard terminology. For one thing, the definition below is what is called a non-principle ultrafilter. An ultrafilter on the set \bf N of natural numbers \{1,2,3,\ldots\} is a way of dividing all the subsets into two classes. It will be convenient to call the two classes large and small, although this has little to do with size. These classes are required to satisfy the following hypotheses:
-
Every set is either large or small (this is the “ultra” part).
-
A set is large if and only if its complement is small.
-
The intersection of two large sets is large. (It follows that the union of two small sets is small.)
-
A set that contains a large set is large. (It follows that every subset of a small set is small.)
-
Every finite set is small. It follows that every set with a finite complement is large. (This is what makes it non-principle.
The fact that (non-principle) ultrafilters exist requires the axiom of choice.
I will leave it to the reader to show that if \bf N is the union of three (or in fact any finite number of) mutually disjoint sets, say A\cup B\cup C, then one is large and the remainder are small. This is a consequence of 3. A decomposition of \bf N as a union of a finite number of mutually disjoint sets is called a partition of \bf N
An extended real number (ern) is an \bf N-indexed sequence, say u=(u_1,u_2,u_3,\ldots) of (ordinary) real numbers. If v=(v_1,v_2,v_3,\ldots) is another ern, the three sets \{n|u_n<v_n\}, \{n|u_n=v_n\}, \{n|u_n>v_n\} is a partition of \bf N. We say that u<v or u=v or u>v according to which of those sets is large. This illustrates the fact that only things that happen on a large set matter.
If r is an ordinary number, the corresponding ern is the constant sequence (r,r,r,\ldots) or anything equal to it.
Addition, subtraction, multiplication, and division (but not by 0) are term-wise. In particular, if v\neq0, then \{n|v_n\neq0\} is large and we define u/v=w by w_n=u_n/v_n when v_n\neq0 and w_n=0, when v_n=0. That last clause is irrelevant. You could make 1 or \pi or anything at all.
The ern u is finite if there is an m\in\bf N such that \{n\in N|u_n<m\} is large. Otherwise, u is infinite. If u, the two sets of rational numbers \{q|q<u\} and \{q|q>u\} constitutes a Dedekind cut and defines a real number called the ordinary part of u. The eros whose ordinary part is 0 are the infinitesimals. It is not hard to show that the reciprocals of infinitesimals are infinite and conversely.
If f is a real function and \{n|f(u_n) \ {\rm is\ defined}\} is large, we let f(u)=v where v_n=f(u_n) when that is defined and 0 otherwise.
Of course, there is a lot of routine work required to show, for example, that equals added to equals are equal and, in fact, the same is true for any function as described above.
The function is continuous at r provided for any infinitesimal h, f(r+h-f(r) is infinitesimal and the derivative at r is the ordinary part of \frac{(r+h)-f(r)}h, provided that ordinary part does not depend on h. For example, if f(x)=x^2, then \frac{(x+h)^2-x^2}h=2x+h and the ordinary part 2x does not depend on h.