"Indefinite" is… well… still indefinite

Last week I posed the question

What, precisely, is an “indefinite integral”?
That is, what does the symbol displaystyle int f(x) , dx mean?

with the follow-up question of which of the following responses

  • (a) ln(|x|)
  • (b) ln(|x|) + C
  • (c) displaystyle ln(|x)| + C + D frac{x}{|x|}

is the correct answer to the question

displaystyle int frac{1}{x} , dx = ?

The answer I has always assumed was that the indefinite integral of some function was the family of all possible antiderivatives of that function, i.e.

displaystyle int f(x) , dx = left{ F(x) : F'(x) = f(x) mbox{ for all } x right}.

Notice that the tacit assumption I am making here is that the antiderivative F is defined on the domain of f; that is, that F is a global antiderivative of f.   More precisely,

displaystyle int f(x) , dx = left{ F(x) : F'(x) = f(x) mbox{ for all } x in mathrm{domain}(f) right}.

Unfortunately, if this statement were true, then the traditional formula

displaystyle int frac{1}{x} , dx = ln(|x|) + C

(bearing in mind the traditional abuse of notation) would be wrong, since this does not list every possible antiderivative of f(x) = 1/x over it domain.   Instead, the correct response would have to be

displaystyle int frac{1}{x} , dx = ln(|x|) + C + D frac{x}{|x|}.

The indefinite integral reinterpreted

In emails and Facebook comments (sorry about the komplexify comments — I had no idea they’d been disabled), people observed that the expression I gave above is actually nothing more than

displaystyle int frac{1}{x} , dx = left{ begin{array}{rr} ln(|x|) + C+D, & x > 0  &  ln(|x|) + C-D, & x < 0 end{array} right.

or, more generally,

displaystyle int frac{1}{x} , dx = left{ begin{array}{rr} ln(|x|) + A, & x > 0  &  ln(|x|) + B, & x < 0 end{array} right.

where A, B are arbitrary constants.   Notice that on each of the interval sub-components of the domain of f(x) = 1/x, namely, (-infty,0) and (0,infty), these two piecewise descriptions match the standard one, albeit with possibly different values for the constant on either side of the discontinuity at x = 0.

More generally, if f is defined on some set that can be expressed as a disjoint unions of intervals I_1 cup I_2 cup I_3 cup cdots, and if F is a global antiderivative of f, then the Mean Value Theorem asserts that every other global antiderivative of f must take the form

A(x) = F(x) + C_j quad mbox{provided} quad x in I_k

for some sequence of constants C_1, C_2, C_3, dots.   That is, when restricted to any interval subset of the domain of f, any antiderivative is just F(x) + C, but the C need not be constant across the entire domain of f.

Hence, commentors suggested that the indefinite integral represented not the family of all global antiderivatives of a function, but rather all local antiderivatives of it, that is, all antiderivatives defined only on an interval.   That is,

displaystyle int f(x) , dx = left{ F(x) : begin{array}{c} F'(x) = f(x) mbox{ for all } x in (a,b) mbox{ for textbf{some interval} } (a,b) subseteq mathrm{domain}(f) end{array} right}.

(Note that under this interpretation, the traditional formula

displaystyle int frac{1}{x} , dx = ln(|x|) + C

is be correct by the comments above, so we’re on the right track!)

Notice that under this revised definition, the indefinite integral of f still represents a family of functions, but now function is defined on its own unspecified interval subset of the domain of f. No wonder we call it an indefinite integral!

Note that whenever two such local antiderivatives, say H defined on sub-interval (a,b) and G defined on sub-interval (c,d)   agree on some common sub-sub-interval (say, (c,b)), then the Mean Value Theorem asserts that there exists some constant C such that G(x) = H(x) + C.   Moreover, the rule

displaystyle F(x) = left{ begin{array}{ll} H(x), & x in (a,b)  &  H(x) - C, & x in (c,d) end{array} right.

defines a third function F on the larger sub-interval (a,d) which is yet another antiderivative of f! All of that is what we (try to) convey when we write

displaystyle int f(x) , dx = F(x) + C

No wonder it’s so hard!

(Interestingly enough, after I had pondered what an indefinite integral was supposed to mean, I decided to check it out in some of my advanced calculus textbooks, where I assumed it would be given a strict, logical definition.   Interestingly enough, none of the books I own (baby Rudin, big Rudin, Folland, Kosmala, or Stahl) use this symbol, much less define it.   That right there should tip us off that this not as black-and-white as we might have thought.)

Sneaky deflection

Is the convoluted beastie above really what textbooks mean when they use the indefinite integral?

Well, yes and no.   “Yes,” in the sense that the indefinite integral only refers to functions defined on an interval, but “no” in the following subtle (but important, I think) sense.

In my original naive interpretation of the indefinite integral, I assumed the following definition:

A function F is called an antiderivative of f if F'(x) = f(x) for all x

with the tacit assumption that this should be true for all x in the domain of F.   However, most modern textbooks (like Stewart, or Larson et. al., or Rogawski, or whatever) typically give a definition along the lines of

A function F is called an antiderivative of f over an interval I if F'(x) = f(x) for all x in I.

Did you catch the distinction?   In modern textbooks, antiderivatives are defined only over intervals, however implicitly defined.   Under this definition,   indefinite integral consists of all the antiderivatives of a function… but an antiderivative only makes sense within the contexts of a (however implicitly) pre-defined interval.

Thus, the previously erroneous formula

displaystyle int frac{1}{x} , dx = ln(|x|) + C

is now spot-on correct, since (as we’ve seen) this does give all possible antiderivatives on any specified interval contained in the domain of y=1/x.   (Of course, the formula

displaystyle int frac{1}{x} , dx = ln(|x|) + C + D frac{x}{|x|}

is also correct for the same reason, although it’s now unnecessarily complicated.)

This might strike some as a clever solution, but to me this seems more like a case of throwing the baby out with the bathwater.     Consider: the function F(x) = -1/x is defined for all nonzero x, and F'(x) = 1/x^2 for all x in its domain.   However, F(x) = -1/x is not an antiderivative of f(x) = 1/x^2.   It is an antiderivative on (1, 812), and it is an antiderivative on [-pi, -2] and it is an antiderivative on (0,infty), but it is not an antiderivative on its own domain.   Hell, it’s not even an antiderivative when restricted over the subset (1,2) cup (3,4), although it is an antiderivative on either of the subintervals, and it’s the restriction of an antiderivative defined on (1,4).

That seems like a weird and unnecessary distinction in the case of real functions, and perhaps a bone-headedly obfuscatory in case the complex ones (which I’ll get to in an upcoming post, I suppose).   Should being an antiderivative be a property of the function itself, rather than the global topological structure of its domain?

Old school

Interestingly enough, if I go back to some of my textbooks that date from the thirties to the fifties, this entire problem vanishes in a puff of simplicity.   Those books usually use my definition of antiderivative — that is, a function can be an antiderivative over a domain which is not an interval — but define the symbol int f(x) , dx to be any specific antiderivative.   Hence,

displaystyle int frac{1}{x} , dx = ln(|x|)

is a correct interpretation, as well as any of the other formulas we’ve discussed.

In those books, this is typically interpreted as a global antiderivative (in the sense I introduced above), but unlike the modern treatment, it is not assumed to represent all possible antiderivatives or some other collection.   It’s just a function, and it’s entirely possible to have multiple expressions for it.

Said differently, rather than having int f(x) , dx represent the set of all possible global antiderivatives, in these older textbooks it simply represented an element of this set, i.e.

displaystyle int f(x) , dx in left{ F(x) : F'(x) = f(x) mbox{ for all } x right}.

This now means that an indefinite integral is somehow ill-defined, in the sense that it does not describe a unique object anymore.   Nevertheless, I really like this approach for several reasons:

  1. It’s simple.   An indefinite integral is just any old antiderivative, not some elaborately defined uber-collection of them.
  2. It means formula like int f(x) , dx = F(x) is not some abuse of notation, but an actual true statement.   (And you no longer lose a point for forgetting the “+ C.”
  3. It doesn’t change how students use the Fundamental Theorem of Calculus.   If anything, it improves it.   Usually you spend time going over indefinite integrals and driving home the needed “+ C” only to have to admit that it’s not actually required in the FTC.
  4. By not blindly throwing out the “+ C” term, teachers can emphasize exactly what that expression means and when it’s employed.   It puts the emphasis back on the Mean Value Theorem (which is good) and it emphasizes the difficulties involved in expressing antiderivatives around discontinuities (which is of vital concern when computing improper integrals, discussing the existence and uniqueness theorem from differential equations, or complexifying real functions in complex analysis).

So phooey on all this “complete family of interval-restricted antiderivatives” stuff.   I say we go back to the good old days when indefinite integrals were just functions.

What do you think?

This entry was posted in mathify. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

× five = twenty