What simple rigorous ways are there to incorporate infinitesimals into the number system and are they then useful for basic Calculus?

2 Answers
May 25, 2016

Here's about the simplest way, but the explanation gets a little long...

Explanation:

The Real numbers (#RR#) are an example of a field.

They are a set containing distinct elements called #0# and #1#, equipped with addition #+# and multiplication #*# that behave in the ways that you are used to. In technical language, they form an abelian group under addition, the non-zero elements form an abelian group under multiplication and multiplication is distributive over addition.

The simplest way to add infinitesimals to any field #F# is to add one, then add anything else you need to make the resulting set closed under addition, multiplication, additive inverse, and multiplicative inverse of non-zero elements. If #F# is an ordered field (as the Real numbers are), then you can extend #F# in a way consistent with the ordering.

Given a field #F#, we will construct a field #bar(F)# containing infinitesimal elements. We will also specify that #F# is an ordered field, having a #<# binary relation.

First note that if #bar(F)# is a field containing infinitesimals, then it will contain the reciprocals of those elements and thus infinite elements too. Rather than adding an infinitesimal, I will start by adding a designed infinite element, let's call it #H# (short for Huge). #H# satisfies:

#x < H# for all #x in F#

In particular #overbrace(1+1+...+1)^"N times" < H# for any positive integer #N#. So #bar(F)# is a non-Archimedean field.

If #P(x)# is any polynomial with coefficients in #F#, then #P(H)# must also be in #bar(F)#. If #Q(x)# is another non-zero polynomial with coefficients in #F#, then #(P(H))/(Q(H))# must also be in #bar(F)#.

Now notice something a little subtle: If #P(H) != 0# then the multiplicative inverse of #(P(H))/(Q(H))# must be #(Q(H))/(P(H))#, so we must have:

#(P(H))/(Q(H))*(Q(H))/(P(H)) = (P(H)Q(H))/(Q(H)P(H)) = 1#.

This requires that we be able to 'cancel out' common factors between the numerator and denominator.

As a result, we consider:

#(P(H))/(Q(H)) = (R(H))/(S(H)) <=> P(H)S(H) = Q(H)R(H)#

That's our field #bar(F)# or in particular #bar(RR)#

More formally, it's the set of rational functions with coefficients in #F# modulo the equivalence relation:

#(P(t))/(Q(t)) -= (R(t))/(S(t)) <=> P(t)S(t) = Q(t)R(t)#

May 25, 2016

Here's a little discussion of application...

Explanation:

Let #bar(RR)# be the field of rational expressions #(P(t))/(Q(t))# with Real coefficients modulo the equivalence relation:

#(P(t))/(Q(t)) -= (R(t))/(S(t)) <=> P(t)S(t) = Q(t)R(t)#

Let #epsilon = 1/t# be our designated infinitesimal.

Is this field useful for simple Calculus?

Consider #f(x) = x^3#

If #a in RR# then:

#f(a) = a^3#

#f(a+epsilon) = (a+epsilon)^3 = a^3+3a^2epsilon+3a epsilon^2+epsilon^3#

So the average slope of #f(x)# over the interval #[a, a+epsilon]# is:

#(f(a+epsilon)-f(a))/((a+epsilon)-a) = ((a^3+3a^2epsilon+3aepsilon^2+epsilon^3)-a^3)/epsilon = 3a^2+3aepsilon+epsilon^2#

We can introduce another concept to our field #bar(RR)#, which is that of "standard part". The standard part of a finite number in #bar(RR)# is the part formed by throwing away any infinitesimal terms.

For example, the standard part of #3a^2+3aepsilon+epsilon^2# is #3a^2#, which is the derivative of #f(x) = x^3# at #x=a#.

Has this helped any?

It kind of replaces the limit process with infinitesimal arithmetic and taking "standard part".

Note that this discussion has been a little informal. It is fairly easy but lengthy to make it more rigorous, but I do not really like this "standard part" mechanism.

In addition, note that the number system defined in this way does not include #sqrt(epsilon)#. For such objects, you need more sophisticated fields incorporating infinitesimals, such as the Levi-Civita field.

Note that even our simple extension #bar(RR)# supports some interesting ideas:

If:

#f(x) = { (0, x < 0), (1/2, x = 0), (1, x > 0) :}#

Then we can 'approximate' the derivative of #f(x)# with:

#f'(x) = { (1/epsilon, x in [-epsilon/2, epsilon/2]), (0, x !in [-epsilon/2, epsilon/2]) :}#