Integrals on R:
An Exposition
From Darboux to Henstock-Kurzweil
ZWEISTEIN
diagrams by lambda
Desu-Cartes
1
Contents
1 Introduction 3
1.1 Scope of the lecture . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 The Darboux-Riemann Integral 4
2.1 Prelude: Darboux Sums . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Waltz: The Darboux Integral . . . . . . . . . . . . . . . . . . . . 5
2.3 Duet: The Riemann Integral . . . . . . . . . . . . . . . . . . . . 6
2.4 Aria: Properties of the Darboux integral . . . . . . . . . . . . . . 7
3 The Riemann-Stieltjes Integrals 9
3.1 Intermezzo: The Riemann-Stieltjes Integral . . . . . . . . . . . . 9
3.2
´
Etude: Properties of the Riemann-Stieltjes integral . . . . . . . . 10
4 The Henstock-Kurzweil Integral 11
4.1 Cavatina: Gauge functions . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Sonata: The Gauge integral . . . . . . . . . . . . . . . . . . . . . 12
4.3 Concerto: Properties of the Gauge Integral . . . . . . . . . . . . 13
4.4 Finale: The Fundamental Theorem of Calculus . . . . . . . . . . 15
A Further Reading 16
2
1 Introduction
1.1 Scope of the lecture
In this lecture, we are going to discuss how to define integration on R. Any-
one that has taken a course in calculus knows that applications of integration
abound. In this lecture, we will not so much be interested in how one can apply
the definite integral, but rather, how one should go about defining it in the first
place. As is common in math, multiple definitions can capture the essence of
the object at hand, and the definite integral is no different in that regard. From
Archimedes’ method of exhaustion, to Lebesgue’s measure theory, integration
has been of interest for thousands of years now, in some form or another. Be-
cause the topic is such a vast one, we will put two restrictions on this lecture.
First of all, this lecture should be understandable to anyone that has taken a
basic course in analysis at most. Effectively, this means that we are not going to
talk about Lebesgue’s elegant definition of the integral. There are many great
books on the subject and we refer the reader to any such book of his liking. As
such, we will also restrict ourself to R. Integration can be defined on many other
spaces (smooth manifolds for instance, which you can learn about in Killing-
form’s cotangent bundle lecture) but it would require us to develop too much
machinery.
Secondly, we will only discuss ”modern” integrals. Concretely, this means that
we will not talk about Archimedes’ method of exhaustion and will begin directly
with the definition of integral most people see in their first course on analysis.
Our goal is to get to the beautiful theory of the Henstock-Kurzweil integral, and
to see a few of its most prominent results.
But what exactly are we trying to do? In order to understand our integral, we
need to make precise our goal: We wish to create a method that lets us find
the area between the graph of a function f(x) and the x-axis. Since we want
to measure an area, it is only natural to ask that the function be bounded. We
will restrict integration to compact intervals on the reals. Once this has been
done, generalizations to other intervals or all of R are straightforward.
We also want our integral to respect a few basic properties. For instance, since
the integral represents an area, if f and g are integrable functions, then f + g
should be integrable, and its integral should be the sum of the integral of f and
g respectively. We now turn to the construction of such an integral, namely the
Darboux integral.
3
2 The Darboux-Riemann Integral
2.1 Prelude: Darboux Sums
The idea behind integration is to ”cut up” the function in a certain way, so that
we can approximate the area with measurable objects (such as rectangles) and
then take this process to infinity. This idea will become clearer once we actually
get to the integral. To this purpose, we introduce some definitions.
Definition 2.1 (Partitions). Let I be the compact interval [a, b]. A partition
of I is a finite ordered set P := {a < x
1
< · · · < x
n1
< b}.
We can then look at the widths x
i
x
i1
and multiply them by a certain
number to get a rectangle. This is what we are going to do to get a first
approximation of our area: make a finite sum of rectangles, with height a certain
value of our function on this interval.
Definition 2.2. Let P be a partition of [a, b]. For each subinterval [x
i1
, x
i
],
define m
i
:= inf{f (x) | x [x
i1
, x
i
]}. Similarly, we define M
i
:= sup{f (x) |
x [x
i1
, x
i
]}. m
i
(resp. M
i
) is simply the infimum (resp. supremum) of the
function restricted to the interval [x
i1
, x
i
].
We are now ready to define Darboux sums, which we will need in order to
define the Darboux integral.
Definition 2.3 (Darboux sums). Let P be a partition of [a, b]. Let M
i
and m
i
be defined as above. The upper Darboux sum (resp. lower Darboux sum)
is
U
f,P
:=
n
X
i=1
M
i
(x
i
x
i1
) resp. L
f,P
:=
n
X
i=1
m
i
(x
i
x
i1
)
Intuitively, we understand that U
f,P
overestimates the area, whereas L
f,P
underestimates the area as one can see in figure 1. As such it is obvious that
L
f,P
U
f,P
. Notice that these sums depend on the partition. The idea behind
the Darboux integral will be to find the ”best” partition to make U
f,P
and L
f,P
closer and closer.
a
x
1
x
2
x
3
x
4
x
5
x
6
x
7
b
M
1
M
2
M
3
M
4
M
5
M
6
M
7
M
8
a
x
1
x
2
x
3
x
4
x
5
x
6
x
7
b
m
1
m
2
m
3
m
4
m
5
m
6
m
7
m
8
a
x
1
x
2
x
3
x
4
x
5
x
6
x
7
b
Figure 1: Comparison of Darboux sums
4
2.2 Waltz: The Darboux Integral
We have seen that the Darboux sums each miss the mark on the exact area
we’re looking for. U
f,P
is slightly more than desired, while L
f,P
is the opposite.
We do have one saving grace: We can vary the sums by choosing a particular
partition. One can picture the possible lower and upper Darboux sums as a
set indexed by their respective partition. By the axiom of least upper bounds,
we know such sets have suprema and minima. We can thus minimize (resp.
maximize) M
i
(resp. m
i
). This leads us to our next definition.
Definition 2.4 (Lower and Upper Integrals). The upper Darboux Integral
U
f
is defined to be U
f
:= inf{U
f,P
| P is a partition of [a, b]}. Similarly, the
Lower Darboux Integral is L
f
:= sup{L
f,P
| P is a partition of [a, b]}. We
sometimes denote the upper integral as
Z
b
a
f(x) dx and the lower integral as
Z
b
a
f(x) dx.
Taking the supremum and the infimum there allow us to minimize the error in
the area measurement. It is but a natural step to wonder what the integral itself
is. Well, since L
f,P
U
f,P
for any P . In particular, L
f
U
f
. Geometrically,
this is obvious because L
f
is just ”under” the area of f(x), whereas U
f
is
just ”above” the area of f(x). Equality thus means that they meet, which
geometrically implies that there is no error anymore. This is exactly what we
were looking for! One can see this more clearly with a geometric picture of the
process, which is given in figure 2.
Definition 2.5 (Darboux Integral). Let f : [a, b] R be a bounded function.
If U
f
= L
f
, we say that f is Darboux integrable. We denote this common value
Z
b
a
f(x) dx, the Darboux integral.
Figure 2: The Darboux Integral
5
2.3 Duet: The Riemann Integral
To define the Riemann integral, we will need to alter a bit our definition of a
partition. Instead of looking at suprema and infima, we will tag every partition
with a point in the interval.
Definition 2.6 (Riemann Sums). Let P be a partition of a bounded f : [a, b].
For each interval [x
i1
, x
i
] we take an arbitrary point c
i
. The Riemann sum
is the sum S(P, f) =
n
X
i=1
f(c
i
)(x
i
x
i1
). The value max(x
i
x
i1
) is called
the mesh of the partition.
Effectively what we are doing here is simply summing rectangles of width
x
i
x
i1
and of height f(c
i
). As the partition gets thinner, the mesh tends to
zero, as can be seen in figure 3. This leads us to the proper definition of the
Riemann integral.
Definition 2.7 (Riemann Integral). Let f : [a, b] be a bounded function. We
say that A is the Riemann integral of f if for all > 0, there exists δ > 0
such that for any tagged partition P
c
i
whose mesh is less than δ, we have
|S(P, f) A| < .
One can see at a glance that Darboux’s definition is easier to digest, and
work with. Luckily for us, both integrals are equivalent! This is why we started
with the Darboux integral. It generalizes more easily than Riemann’s definition
while still being equivalent. This is contained in the following theorem.
Theorem 2.1 (Equivalence of the integrals). Let f be a bounded function de-
fined on a compact interval. Then, f is Darboux-integrable if and only if it is
Riemann-integrable. Furthermore, if the integrals exist, they are the same.
Remark. Since the two integrals coincide, we will just call it the integral
Z
b
a
f(x) dx.
Figure 3: The Riemann Integral
6
2.4 Aria: Properties of the Darboux integral
In this chapter, we list without proofs a few properties that our integral enjoys.
You can try to prove a few of these theorems or find a proof in any standard
book on the topic. These properties all come from our rigorous definition of the
integral.
Theorem 2.2 (Linear properties). Let D [a, b] be the set of all integrable func-
tions. Then D [a, b] is a vector space, that is
1. f, g D [a, b] implies that f+g D [a, b]. Furthermore,
Z
b
a
[f(x) + g(x)] dx =
Z
b
a
f(x) dx +
Z
b
a
g(x) dx
2. f D [a, b] implies that λf D [a, b], where λ R. Furthermore
Z
b
a
λf(x) dx =
λ
Z
b
a
f(x) dx.
This theorem enables us to put a nice structure on the set of integrable func-
tions, namely that of a vector space. This makes sense geometrically. Another
interesting property is that of the middle point.
Lemma 2.1 (Middle point property). Let f D [a, b]. If c [a, b]. then
Z
b
a
f(x) dx =
Z
c
a
f(x) dx +
Z
b
c
f(x) dx.
Effectively, this means that you cannot get more area by adding parts of the
area together. We now take care of a few special cases with two definitions.
Definition 2.8 (Special cases). Let f D [a, b]. We define
Z
a
a
f(x) dx = 0 and
Z
b
a
f(x) dx =
Z
a
b
f(x) dx.
It is important to realize that these are definitions, this just ensures we don’t
have degenerate cases down the line. They’re also motivated geometrically, since
the area of a point c
i
times f(c
i
) is a rectangle of width 0, so the area of the
”rectangle” is 0. The next theorems will help us pin down exactly what functions
can be integrated with the Darboux-Riemann integral.
7
Theorem 2.3 (Continuous functions). Let C [a, b] be the vector space of continu-
ous functions on [a, b]. Then C [a, b] D [a, b]. In other words, every continuous
function is integrable.
This is a major achievement. Since continuous functions can be manipulated
with a very nice kind of arithmetic, we now realize just how big D [a, b] is.
Consequently, arbitrary compositions of continuous functions are still integrable.
Thus a function like f(x) = e
x
2
is integrable. This is important: the theorem
is a statement about existence, it does not provide us with a way to calculate
integrals. This is the content of the two following theorems. These are the
cornerstones of calculus.
Theorem 2.4 (Fundamental Theorem of Calculus, Part. I). Let f be a contin-
uous function defined on [a, b]. Let F be the function defined, for all x in [a, b],
by
Z
x
a
f(t) dt. Then F is uniformly continuous on [a, b], differentiable on (a, b)
and F
0
(x) = f(x) for all x [a, b].
Theorem 2.5 (Fundamental Theorem of Calculus, Part. II). Let f be a func-
tion integrable on [a, b] and let F be an antiderivative of f on [a, b]. Then,
Z
b
a
f(x) dx = F (b) F (a).
It is this second part that is widely used in applications. We now understand
why this method fails for f (x) = e
x
2
. One can show that this function has
no antiderivative in terms of elementary functions, hence why we use numerical
methods to approximate it.
We will end this chapter with a criterion for integrability that will tell us exactly
which functions are Darboux-integrable. To do that, we first need a definition.
Definition 2.9 (Sets of measure zero). Let N be a subset of the real numbers.
We say that N has measure zero if it can be covered by a countable union
of intervals whose lengths are arbitrarily small. More formally, for every > 0,
there exists a collection {U
n
}
n=1
such that
N
n=1
and
X
n=1
|U
n
| <
.
This leads us to Lebesgue’s wonderful classification theorem.
Theorem 2.6. Suppose f is a bounded function defined on [a, b]. Then, f is
integrable if and only if it is continuous almost everywhere, that is, the set
of discontinuities of f is a set of measure zero. Thus, any function with at most
a countably infinite number of discontinuities is integrable.
8
3 The Riemann-Stieltjes Integrals
3.1 Intermezzo: The Riemann-Stieltjes Integral
After having defined the Darboux-Riemann integral, we have seen a few of its
properties. It is now time to generalize this integral to get a more general
integral. The idea here will be to integrate f with respect to another function
g. Since the Riemann-Stieltjes integral is a generalization, we can characterize
it using either modified Darboux sums or modified Riemann sums. We will go
through both definitions.
Definition 3.1 (The Riemann-Stieltjes integral: Riemann sums). Let P
c
i
be a
tagged partition of [a, b] and let α(x) be an increasing function from [a, b] R.
Let S(P, f, α) denote the modified Riemann sum of f with respect to g:
S(P, f, α) =
n
X
i=1
f(c
i
) [α(x
i
) α(x
i1
)]
The Riemann-Stieltjes integral A =
Z
b
a
f(x) (x) then exists if for every
> 0, there exists δ > 0 such that for every partition P whose mesh is less than
δ and for every c
i
[x
i1
, x
i
] we have that
|S(P, f, α) A| < .
While this definition is fine on its own, it is standard to generalize this
integral by looking at refinement of our initial partition. A refinement breaks
down intervals and adds tags where needed.
Definition 3.2 (The Generalized Riemann-Stieltjes integral: Riemann sums).
The Generalized Riemann-Stieltjes integral is a number A such that for
every > 0, there exists a partition P
such that for every partition P that
refines P
, we have that |S(P, f, α) A| < for every c
i
[x
i
, x
i1
] .
We now give a more palatable definition using a generalization of the Dar-
boux integral.
Definition 3.3 (The Generalized Riemann-Stieltjes integral: Darboux sums).
Let α(x) be an increasing function from [a, b] R. Let f : [a, b] be a bounded
function. The modified upper Darboux sum (resp. the modified lower
Darboux sum) is the sum
n
X
i=1
M
i
[α(x
i
) α(x
i1
)] resp.
n
X
i=1
m
i
[α(x
i
) α(x
i1
)] ,
denoted U
[f,P,α]
and L
[f,P,α]
respectively. Then, the generalized Riemann-
Stieltjes integral A exists if and only if, for every > 0, there exists a partition
P such that
U
[P,f]
L
[P,f]
< .
9
3.2
´
Etude: Properties of the Riemann-Stieltjes integral
We have successfully generalized the Riemann integral to a wider class of in-
tegral. This must mean that the Riemann integral is a special case of the
Riemann-Stieltjes integral. The next lemma tells us precisely what the Rie-
mann integral is with respect to the more general integral.
Lemma 3.1 (Special case: The Riemann integral). Let f be Riemann-Stieltjes
integrable on [a, b]. If we integrate f with respect to the function α(x) :=
id
[a,b]
= x
[a,b]
we get that:
Z
b
a
f(x) (x) =
Z
b
a
f(x) dx
where
Z
b
a
f(x) dx is just the Darboux-Riemann integral of f and x
[a,b]
.
This is rather easy to see directly from the definition, because [α(x
i
) α(x
i1
)] =
[(x
i
x
i1
)] and thus S(P, f, α) = S(P, f) in the notation of Riemann sums.
We now state a neat theorem regarding what happens to the integral when we
integrate with respect to a continuously differentiable α.
Theorem 3.1 (Continuously differentiable α). Let f be a Riemann-Stieltjes
integrable function, and let α(x) be a continuously differentiable function on R.
We have the following identity
Z
b
a
f(x) dg(x) =
Z
b
a
f(x)α
0
(x) dx,
where the right-hand side is simply the Riemann integral of the function.
We now take a look at the famous integration by parts formula from calculus.
A similar formula exists for Riemann-Stieltjes integrals.
Proposition 3.1. Let f be Riemann-Stieltjes integrable. Then we have the
following integration by parts formula:
Z
b
a
f(x) (x) = f(b)α(b) f (a)α(a)
Z
b
a
α(x) df(x).
We conclude this section with an existence theorem that will guarantee us
the existence of the integral under certain conditions.
Theorem 3.2 (Existence of the integral). Let f and α be functions of bounded
variation, that is, they are the difference of two monotone functions. Then the
integral
Z
b
a
f(x) (x) exists.
10
4 The Henstock-Kurzweil Integral
4.1 Cavatina: Gauge functions
In this section, we turn our attention to one of the most powerful integral defined
on R, the Henstock-Kurzweil integral, also called the gauge integral. when we
discussed the Darboux-Riemann integral, we used fixed intervals [x
i1
, x
i
] which
do not take into account how the function behaves at a particular point. A useful
example is the function f(x) = 1/x sin(1/x
3
) (see figure 4. We can see that we
would need a finer partition around x = 0 and a coarser one around x = 2.
We have already seen one way to circumvent the problem, namely that of the
Riemann-Stieltjes integral. The gauge integral will try to give a satisfactory
way to deal with the problem of varying the ”length” of the intervals. First, we
rewrite the definition of the Riemann integral in a way that lets us generalize it
more easily.
Definition 4.1 (The Riemann integral, revisited). A function f : [a, b] R on
[a, b] is Riemann-integrable if there exists an A R such that for every > 0,
there exists a δ > 0 such that if
P = {(c
i
, [x
i1
, x
i
]) : 1 i n}
is any tagged partition of [a, b] satisfying
[x
i1
, x
i
] (c
i
δ, c
i
+ δ) , i : 1 i n,
then
|S(P, f) A| < .
This is equivalent to the definition given in section 2.3.
We will now change our notation a bit, we define γ(t) = (t δ, t + δ). This
is just notation meant to simplify the theory. Our condition in the definition of
the Riemann integral is then:
[x
i1
, x
i
] γ(c
i
).
We remark that in the case of the Riemann integral, the intervals are of length
2δ. The generalization is then to allow δ(t) : t [a, b] to be a positive function
on its own. That is to say, γ(t) = (t δ(t), t + δ(t)). More formally, we are led
to the following definition.
Definition 4.2 (Gauges). Let E be a subset of R. A gauge on E is a function
γ that associates with each point t E an open interval γ(t) that contains t.
Any constant function δ = C defines a gauge on E. We now introduce the
final definition we need in order to define the Henstock-Kurzweil integral.
Definition 4.3 (γ-fine). If γ is a gauge on [a, b] and P = {(c
i
, [x
i1
, x
i
]) : 1 i n}
is a partition, then we say that P is γ-fine if [x
i
1
, x
i
] γ(c
i
) for i : 1 i n.
11
4.2 Sonata: The Gauge integral
Before defining the integral itself, we will state an existence theorem for γ-fine
partitions.
Theorem 4.1 (Existence of γ-fine partitions). Let γ be a gauge on [a, b]. Then
there exists a γ-fine tagged partition of [a, b].
We can finally move on to the most important definition in this lecture.
Definition 4.4 (The Gauge Integral). The function f : [a, b] R is gauge
integrable on [a, b] if there exists A R with the property that for every > 0,
there exists a gauge γ on [a, b] such that for every γ-fine tagged partition of
[a, b], we have that
|S(P, f) A| < .
This definition precisely captures what we mean by ”varying” the length of
the intervals in the partition P depending on the function itself. We now drop
the adjective ”gauge” and simply refer to the integral as ”the” integral. We will
henceforth denote the set of gauge integrable functions as G [a, b]. One might
wonder, even though the integral exists, is it unique?
Theorem 4.2 (Unicity of the integral). A function f : [a, b] R can have at
most one integral.
This integral can actually handle more functions than the standard Riemann
integral. For those of you that have taken a course in measure theory, the gauge
integral is more general than the Lebesgue integral too. For instance, the gauge
integral can handle the function f(x) = 1/x sin(1/x
3
) from earlier. Notice that
neither Riemann, nor Lebesgue can integrate it.
-2 -1.5 -1 -0.5 0.5 1 1.5 2
-1.5
-1
-0.5
0.5
1
1.5
0
f
Figure 4: f(x) = 1/x sin(1/x
3
)
12
4.3 Concerto: Properties of the Gauge Integral
This section will discuss the various properties of the gauge integral. We start
with an important theorem.
Theorem 4.3 (Hake’s theorem). We have that
Z
b
a
f(x) dx = lim
cb
Z
c
a
f(x) dx
whenever either side exists, and likewise for the lower bound of integration.
In practice, this means that ”improper” integrals whose bounds are not
infinite are proper integrals too. One can still consider improper integrals of the
form
Z
a
f(x) dx however.
Theorem 4.4 (Integration by Substitution). Let f : [a, b] R and φ : [α, β]
[a, b] be differentiable functions. Then
Z
φ(β)
φ(α)
f
0
(x) =
Z
β
α
(f
0
φ)φ
0
=
Z
β
α
f
0
(φ(x)) φ
0
(x).
This is just integration by substitution as seen in any calculus course.
Proposition 4.1 (Positivity). If f G [a, b] and f(t) 0 for all t [a, b], then
Z
b
a
f(t) dt 0.
Using this result, we can show two interesting corollaries.
Corollary 4.1 (Order). If f, g G [a, b] and f (t) g(t) for all t [a, b], then
Z
b
a
f(t) dt
Z
b
a
g(t) dt.
Corollary 4.2 (Absolute integrability). If f : [a, b] R is absolutely integrable
over [a, b], then we have
Z
b
a
f(x) dx
Z
b
a
|f(x)| dx.
Using the above results, we get the following well-known theorem.
Theorem 4.5 (Integration by parts). Let f, g : [a, b] be differentiable functions
on [a, b]. Then f
0
g is integrable over [a, b] if and only if fg
0
is. Furthermore,
we have that:
Z
b
a
f
0
(x)g(x) dx = f (b)g(b) f (a)g(a)
Z
b
a
f(x)g
0
(x) dx.
13
Theorem 4.6 (Subdivision of the interval of integration). Let f : [a, b] R and
let P be a partition of [a, b]. If f is integrable on I = [x
i1
, x
i
] for i = 1, 2, . . . , n,
then f is integrable on [a, b] and
Z
b
a
f(x) dx =
n
X
i=1
Z
x
i
x
i1
f(x) dx =
n
X
i=1
Z
I
f(x) dx.
The next theorem generalizes the Cauchy criterion common to sequences
and other limits to the gauge integral.
Theorem 4.7 (Cauchy Criterion for integrability). Let f : [a, b] R. Then
f G [a, b] if and only if, for every > 0, there is a gauge γ on [a, b] such that
if P
1
and P
2
are γ-fine tagged partitions, we have:
|S(P
1
, f) S(P
2
, f)| < .
We have seen that we can ”subdivize” the interval of integration. We now
see what happens with subsets of the interval of integration.
Theorem 4.8 (Subintervals of integration). Let f G [a, b]. Let I be a closed
subinterval of [a, b]. Then f G [I] .
Notice how we require the subinterval to be closed. This comes from the
fact that a closed subinterval of a compact interval is still compact.
Theorem 4.9 (Continuous means integrable). Let f be continuous. Then f is
integrable. In other words, C [a, b] G [a, b].
This tells us that all continuous functions are integrable, which is nothing
new since the Darboux integral too had this property.
Theorem 4.10 (Mean value theorem: Integral form). Let f C [a, b]. Then,
there is a t [a, b] such that
(b a) f(t) =
Z
b
a
f(t) dt
This is simply the mean value theorem from calculus, but taken in its integral
form. We end this section with a theorem that will set the stage for the next
section.
Theorem 4.11. If f G [a, b] and F is the indefinite integral of f , then F is
continuous on [a, b].
14
4.4 Finale: The Fundamental Theorem of Calculus
We conclude this lecture with three statements. We recommend that the reader
compare these with the theorems in the chapter on Darboux integration. These
are beautiful theorems on their own, so we will quiet ourselves and just state
the theorems in all their grandeur.
Theorem 4.12 (First Fundamental Theorem of Calculus). Let f : [a, b] R.
If f and |f| are integrable over [a, b], continuous at x [a, b] and if F is the
indefinite integral of f, then F is differentiable at x and its derivative is given
by F
0
(x) = f(x).
Theorem 4.13 (Second Fundamental Theorem of Calculus). If F : [a, b] R
is differentiable on [a, b], then F
0
is integrable on [a, b] and
Z
b
a
F
0
(x) dx = F (b) F (a).
Theorem 4.14 (Integrals and Derivatives). Let f be a differentiable function.
Then, f is, up to a constant, the integral of its derivative.
15
A Further Reading
Stephen Abbott: Understanding Analysis [The Darboux integral]
Terence Tao: Analysis I [The Riemann-Stieltjes integral]
Robert G. Bartle: A Modern Theory of Integration [The Gauge integral]
John DePree, Charles Swartz: Introduction to Real Analysis [The Gauge
Integral]
16