---
title: Partitions, Darboux Sums, and Integrability
module: The Riemann Integral
moduleNumber: 6
lessonNumber: 1
order: 601
summary: >
  The Riemann integral is defined by trapping the area under a bounded function
  between under- and over-estimates. Partitions cut the domain into strips;
  lower and upper Darboux sums bracket the area; refining a partition tightens
  the bracket. A function is integrable exactly when the bracket can be made
  arbitrarily thin, and the tagged Riemann-sum limit gives the same number.
topics: [The Riemann Integral]
draft: false
sources:
  - book: Lebl
    ref: "Ch. 5 — The Riemann Integral; §5.1 The Riemann integral"
  - book: Shkoller
    ref: "§1.1 Partitions and Riemann sums; §1.3 Upper and Lower Riemann Sums; §1.4 Refinement; §1.5 Properties of upper and lower sums; §1.6 Definition equivalence"
---

An integral sums the values of a bounded function over an interval. Informally it
is the area under the curve, and nothing more; that this area also computes
antiderivatives is a separate theorem, proved in
[the fundamental theorem of calculus](/real-analysis/riemann-integration/fundamental-theorem).
The definition here follows Darboux: approximate the area from below and from
above by rectangles, and declare the function integrable when the two
approximations agree.[^lebl-51] Throughout, $f : [a,b] \to \mathbb{R}$ is
**bounded** — unbounded functions are handled separately as
[improper integrals](/real-analysis/riemann-integration/log-exp-improper).

## Partitions and Darboux sums

A partition chops $[a,b]$ into finitely many closed subintervals. On each piece,
the boundedness of $f$ guarantees a finite infimum and supremum, and those become
the heights of an under- and an over-estimating rectangle.

> **Definition (Partition).** A **partition** $P$ of $[a,b]$ is a finite set
> $\{x_0, x_1, \dots, x_n\}$ with
> $$
> a = x_0 < x_1 < x_2 < \cdots < x_{n-1} < x_n = b.
> $$
> Write $\Delta x_i \coloneqq x_i - x_{i-1}$ for the width of the $i$-th
> subinterval $[x_{i-1}, x_i]$. The largest width $\max_i \Delta x_i$ is the
> **mesh** of $P$.

> **Definition (Darboux sums).** For a partition $P$ of $[a,b]$, set
> $$
> m_i \coloneqq \inf\{ f(x) : x \in [x_{i-1}, x_i] \},
> \qquad
> M_i \coloneqq \sup\{ f(x) : x \in [x_{i-1}, x_i] \}.
> $$
> The **lower Darboux sum** and **upper Darboux sum** are
> $$
> L(P, f) \coloneqq \sum_{i=1}^n m_i \, \Delta x_i,
> \qquad
> U(P, f) \coloneqq \sum_{i=1}^n M_i \, \Delta x_i.
> $$

The lower sum is the area of the inscribed rectangles that fit under the graph;
the upper sum is the area of the circumscribed rectangles that contain it.

$$
% caption: Lower and upper Darboux sums for an increasing $f$ on a four-piece
% caption: partition. Shaded blocks have height $m_i$, the infimum on each
% caption: subinterval; the taller outlines rise to $M_i$, the supremum. Their
% caption: total-area difference is the unshaded region.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\small]
\definecolor{acc}{HTML}{4A6FA5}
% upper rectangles (outline)
\draw[black] (0,0) rectangle (1.2,1.5);
\draw[black] (1.2,0) rectangle (2.4,2.3);
\draw[black] (2.4,0) rectangle (3.6,2.9);
\draw[black] (3.6,0) rectangle (4.8,3.3);
% lower rectangles (shaded)
\fill[acc!14, draw=acc] (0,0) rectangle (1.2,0.5);
\fill[acc!14, draw=acc] (1.2,0) rectangle (2.4,1.5);
\fill[acc!14, draw=acc] (2.4,0) rectangle (3.6,2.3);
\fill[acc!14, draw=acc] (3.6,0) rectangle (4.8,2.9);
% the graph (increasing, piecewise linear through the sample heights)
\draw[acc, very thick] (0,0.5) -- (1.2,1.5) -- (2.4,2.3) -- (3.6,2.9) -- (4.8,3.3);
\node[acc] at (4.5,3.55) {$y = f(x)$};
% height labels on the third strip
\node[acc, font=\footnotesize, anchor=east] at (2.4,2.15) {$m_3$};
\node[black, font=\footnotesize, anchor=east] at (2.4,2.75) {$M_3$};
% axes and ticks
\draw[->] (-0.15,0) -- (5.25,0);
\draw[->] (0,-0.15) -- (0,3.8);
\foreach \x/\lab in {0/x_0, 1.2/x_1, 2.4/x_2, 3.6/x_3, 4.8/x_4}
  \draw (\x,0.07) -- (\x,-0.07) node[below, font=\footnotesize] {$\lab$};
\end{tikzpicture}
$$

Because $m \le m_i \le M_i \le M$ whenever $m \le f \le M$, and the widths sum to
$b - a$, every lower sum sits below every upper sum on the same partition, and both
lie inside a fixed band.

> **Proposition (Sums are bounded).** If $m \le f(x) \le M$ for all
> $x \in [a,b]$, then for every partition $P$,
> $$
> m(b-a) \;\le\; L(P,f) \;\le\; U(P,f) \;\le\; M(b-a).
> $$

> **Proof.** A term-by-term comparison: $\sum_i m \, \Delta x_i = m(b-a)$ bounds
> $L(P,f)$ below, $\sum_i M \, \Delta x_i = M(b-a)$ bounds $U(P,f)$ above, and
> $m_i \le M_i$ gives the middle inequality.[^lebl-51]

In particular the sets of lower and upper sums are bounded, so their supremum and
infimum exist.

## Lower and upper integrals

The best under-estimate is the largest lower sum; the best over-estimate is the
smallest upper sum.

> **Definition (Darboux integrals).** For bounded $f : [a,b] \to \mathbb{R}$,
> the **lower** and **upper Darboux integrals** are
> $$
> \underline{\int_a^b} f \coloneqq \sup\{ L(P,f) : P \text{ a partition of } [a,b] \},
> $$
> $$
> \overline{\int_a^b} f \coloneqq \inf\{ U(P,f) : P \text{ a partition of } [a,b] \}.
> $$

Both numbers exist for any bounded $f$, and need not be equal. The gap between
them measures how far the rectangles are from agreeing on a single area.

> **Worked example (Dirichlet function).** Let $f : [0,1] \to \mathbb{R}$ be $f(x) = 1$
> for $x \in \mathbb{Q}$ and $f(x) = 0$ otherwise. Every subinterval contains both
> a rational and an irrational, so $m_i = 0$ and $M_i = 1$ for every $i$ and
> every partition. Hence $L(P,f) = 0$ and $U(P,f) = 1$ for all $P$, giving
> $$
> \underline{\int_0^1} f = 0, \qquad \overline{\int_0^1} f = 1.
> $$

No partition closes the gap: no matter how fine, the
under-estimate is $0$ and the over-estimate is $1$. This function is the standard
example of a non-integrable bounded function, revisited in
[which functions are integrable](/real-analysis/riemann-integration/integrability-classes).

## Refinement

To shrink the gap between $L$ and $U$, cut the partition into finer pieces. Adding
points can only raise a lower sum and lower an upper sum.

> **Definition (Refinement).** A partition $\tilde{P}$ is a **refinement** of $P$
> if $P \subseteq \tilde{P}$ as sets — $\tilde{P}$ contains every point of $P$
> and possibly more.

When a subinterval is split, the infimum over each smaller piece is at least the
infimum over the whole, so the inscribed rectangles grow; symmetrically the
circumscribed rectangles shrink.

$$
% caption: Refining one subinterval by inserting a point. The single inscribed
% caption: rectangle (left) is replaced by two taller ones (right); the added
% caption: shaded sliver is the increase in the lower sum. Upper sums decrease by
% caption: the mirror argument.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\small]
\definecolor{acc}{HTML}{4A6FA5}
% ---- left: coarse ----
\begin{scope}
  \draw[acc, very thick] (0,0.4) -- (1.5,1.6) -- (3,2.6);
  \fill[acc!14, draw=acc] (0,0) rectangle (3,0.4);
  \draw[->] (-0.15,0) -- (3.3,0);
  \draw[->] (0,-0.15) -- (0,3.0);
  \foreach \x/\lab in {0/x_{i-1}, 3/x_i}
    \draw (\x,0.07) -- (\x,-0.07) node[below, font=\footnotesize] {$\lab$};
  \node[font=\footnotesize] at (1.5,-0.75) {one rectangle};
\end{scope}
% ---- right: refined ----
\begin{scope}[xshift=5cm]
  \draw[acc, very thick] (0,0.4) -- (1.5,1.6) -- (3,2.6);
  \fill[acc!14, draw=acc] (0,0) rectangle (1.5,0.4);
  \fill[acc!22, draw=acc] (1.5,0) rectangle (3,1.6);
  \draw[->] (-0.15,0) -- (3.3,0);
  \draw[->] (0,-0.15) -- (0,3.0);
  \foreach \x/\lab in {0/x_{i-1}, 1.5/t, 3/x_i}
    \draw (\x,0.07) -- (\x,-0.07) node[below, font=\footnotesize] {$\lab$};
  \node[font=\footnotesize] at (1.5,-0.75) {split at $t$};
\end{scope}
\end{tikzpicture}
$$

> **Proposition (Refinement tightens the bracket).** Let $f$ be bounded and
> $\tilde{P}$ a refinement of $P$. Then
> $$
> L(P,f) \;\le\; L(\tilde{P}, f)
> \qquad\text{and}\qquad
> U(\tilde{P}, f) \;\le\; U(P,f).
> $$

> **Proof.** By induction it suffices to add a single point $t$ into some
> subinterval $[x_{k-1}, x_k]$. Only that term of the sum changes. Writing
> $m' = \inf_{[x_{k-1}, t]} f$ and $m'' = \inf_{[t, x_k]} f$, both are at least
> $m_k = \inf_{[x_{k-1}, x_k]} f$, so
> $$
> m_k \, \Delta x_k = m_k(t - x_{k-1}) + m_k(x_k - t)
> \;\le\; m'(t - x_{k-1}) + m''(x_k - t),
> $$
> which is the claimed inequality $L(P,f) \le L(\tilde{P},f)$; the upper-sum
> inequality is the mirror image.[^shk-15]

One consequence is used repeatedly: **any** lower sum is below
**any** upper sum, even on unrelated partitions. Given $P_1$ and $P_2$, their
common refinement $\tilde{P} = P_1 \cup P_2$ satisfies
$$
L(P_1, f) \;\le\; L(\tilde{P}, f) \;\le\; U(\tilde{P}, f) \;\le\; U(P_2, f).
$$
Taking the supremum over $P_1$ and the infimum over $P_2$ separates the two
Darboux integrals in the right order.

> **Proposition (Lower integral below upper).** For bounded
> $f : [a,b] \to \mathbb{R}$ and any $m \le f \le M$,
> $$
> m(b-a) \;\le\; \underline{\int_a^b} f \;\le\; \overline{\int_a^b} f \;\le\; M(b-a).
> $$

## The Riemann integral

When the best under- and over-estimates coincide, that common value is the
integral.

> **Definition (Riemann integral).** A bounded $f : [a,b] \to \mathbb{R}$ is
> **Riemann integrable** if
> $$
> \underline{\int_a^b} f = \overline{\int_a^b} f,
> $$
> and the common value is the **Riemann integral** $\int_a^b f$. The set of such
> functions is $\mathcal{R}[a,b]$.

By definition a Riemann integrable function is bounded, and its integral is
squeezed by any global bounds: $m(b-a) \le \int_a^b f \le M(b-a)$.

### The Cauchy criterion for integrability

Checking that a supremum equals an infimum is awkward directly. The following
restatement is used in every integrability proof: it requires only one
partition on which the two sums are close.

> **Theorem (Cauchy criterion).** A bounded $f : [a,b] \to \mathbb{R}$ is
> Riemann integrable if and only if for every $\varepsilon > 0$ there exists a
> partition $P$ with
> $$
> U(P,f) - L(P,f) < \varepsilon.
> $$

> **Proof.** If such a $P$ exists for every $\varepsilon$, then
> $0 \le \overline{\int} f - \underline{\int} f \le U(P,f) - L(P,f) < \varepsilon$,
> forcing the two integrals equal.[^lebl-51] Conversely, if $f$ is integrable,
> pick $P_1$ with $L(P_1,f)$ within $\varepsilon/2$ of the integral and $P_2$
> with $U(P_2,f)$ within $\varepsilon/2$; their common refinement does both at
> once.[^shk-19]

The difference $U(P,f) - L(P,f) = \sum_i (M_i - m_i)\,\Delta x_i$ is the total area
of the unshaded caps in the Darboux figure, and integrability amounts to driving
that total below any $\varepsilon$.

$$
% caption: The gap $U(P,f) - L(P,f)$ is the total area of the unshaded caps. On a
% caption: coarse partition (left) it is large; refining (right) shrinks each cap,
% caption: and integrability means the total can be pushed below any $\varepsilon$.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\small]
\definecolor{acc}{HTML}{4A6FA5}
% ---- left: coarse, 3 strips ----
\begin{scope}
  \draw[acc, very thick] (0,0.5) -- (1.4,1.5) -- (2.8,2.2) -- (4.2,2.7);
  \foreach \a/\b/\lo/\hi in {0/1.4/0.5/1.5, 1.4/2.8/1.5/2.2, 2.8/4.2/2.2/2.7}{
    \fill[acc!14] (\a,0) rectangle (\b,\lo);
    \fill[black] (\a,\lo) rectangle (\b,\hi);
    \draw[black] (\a,0) rectangle (\b,\hi);
  }
  \draw[->] (-0.15,0) -- (4.6,0);
  \draw[->] (0,-0.15) -- (0,3.1);
  \node[font=\footnotesize] at (2.1,-0.55) {coarse};
\end{scope}
% ---- right: fine, 6 strips ----
\begin{scope}[xshift=5.6cm]
  \draw[acc, very thick] (0,0.5) -- (0.7,1.05) -- (1.4,1.5) -- (2.1,1.88) -- (2.8,2.2) -- (3.5,2.47) -- (4.2,2.7);
  \foreach \a/\lo/\hi in {0/0.5/1.05, 0.7/1.05/1.5, 1.4/1.5/1.88, 2.1/1.88/2.2, 2.8/2.2/2.47, 3.5/2.47/2.7}{
    \fill[acc!14] (\a,0) rectangle ({\a+0.7},\lo);
    \fill[black] (\a,\lo) rectangle ({\a+0.7},\hi);
    \draw[black] (\a,0) rectangle ({\a+0.7},\hi);
  }
  \draw[->] (-0.15,0) -- (4.6,0);
  \draw[->] (0,-0.15) -- (0,3.1);
  \node[font=\footnotesize] at (2.1,-0.55) {denser};
\end{scope}
\end{tikzpicture}
$$

## Worked examples

> **Worked example (A constant is integrable).** If $f \equiv c$, take
> $m = M = c$; the bounding proposition forces
> $\underline{\int} = \overline{\int} = c(b-a)$, so $\int_a^b c = c(b-a)$.

> **Worked example (A single jump).** Let $f : [0,2] \to \mathbb{R}$ equal $1$
> for $x < 1$, $\tfrac12$ at $x = 1$, and $0$ for $x > 1$. On the partition
> $P = \{0, 1-\epsilon, 1+\epsilon, 2\}$ the sums are $L(P,f) = 1 - \epsilon$ and
> $U(P,f) = 1 + \epsilon$, so $U(P,f) - L(P,f) = 2\epsilon$. The Cauchy criterion
> is met, and $\int_0^2 f = 1$.[^lebl-51]

> **Worked example (The integral of $x$ and $x^2$).** Take the uniform partition
> of $[0,1]$ with $x_i = i/N$, so $\Delta x_i = 1/N$. Since $x \mapsto x$ is
> increasing, $m_i = (i-1)/N$ and $M_i = i/N$, and
> $$
> L(P_N, f) = \frac{1}{N} \sum_{i=1}^{N} \frac{i-1}{N} = \frac{(N-1)N}{2N^2},
> \qquad
> U(P_N, f) = \frac{1}{N} \sum_{i=1}^{N} \frac{i}{N} = \frac{N(N+1)}{2N^2}.
> $$
> Both tend to $\tfrac12$ as $N \to \infty$, so $\int_0^1 x \, \d x = \tfrac12$.[^shk-13]
> The same partition with $m_i = ((i-1)/N)^2$, $M_i = (i/N)^2$ and the identity
> $\sum_{i=1}^N i^2 = \tfrac16 N(N+1)(2N+1)$ gives
> $\int_0^1 x^2 \, \d x = \tfrac13$.

> **Worked example (A telescoping estimate).** For $f(x) = \frac{1}{1+x}$ on
> $[0,b]$, the uniform partition gives a lower/upper gap that telescopes:
> $$
> U(P,f) - L(P,f)
> = \frac{b}{N}\sum_{i=1}^{N}\left(\frac{1}{1 + x_{i-1}} - \frac{1}{1 + x_i}\right)
> = \frac{b}{N}\left(1 - \frac{1}{1+b}\right)
> = \frac{b^2}{N(b+1)}.
> $$
> Choosing $N$ large makes this less than $\varepsilon$, so $\tfrac{1}{1+x}$ is
> integrable on $[0,b]$ without invoking continuity.[^lebl-51]

## Tagged Riemann sums and the equivalence

The Darboux definition is technically convenient, but the original Riemann
definition evaluates $f$ at an arbitrary sample point in each subinterval.

> **Definition (Riemann sum).** Given a partition $P$ and a **tag**
> $z_i \in [x_{i-1}, x_i]$ in each subinterval, the **Riemann sum** is
> $$
> S(P, f) \coloneqq \sum_{i=1}^{n} f(z_i)\,\Delta x_i.
> $$
> The function is Riemann integrable with integral $I$ if for every
> $\varepsilon > 0$ there is a $\delta > 0$ such that any tagged partition with
> mesh below $\delta$ has $|S(P,f) - I| < \varepsilon$, regardless of the tags.

Since $m_i \le f(z_i) \le M_i$ on each piece, every tagged sum is squeezed between
the lower and upper sums of the same partition:
$$
L(P,f) \;\le\; S(P,f) \;\le\; U(P,f).
$$

$$
% caption: A tagged Riemann sum picks one sample height $f(z_i)$ per strip; its
% caption: rectangle sits between the inscribed ($m_i$) and circumscribed ($M_i$)
% caption: heights, so the tagged sum lies between $L(P,f)$ and $U(P,f)$.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\small]
\definecolor{acc}{HTML}{4A6FA5}
\draw[black] (1.4,0) rectangle (2.8,2.2);
\fill[acc!14, draw=acc] (1.4,0) rectangle (2.8,1.5);
\draw[acc, thick, dashed] (1.4,1.85) -- (2.8,1.85);
\draw[acc, very thick] (0,0.5) -- (1.4,1.5) -- (2.8,2.2) -- (4.2,2.6);
\fill[acc] (2.05,1.85) circle (1.6pt);
\node[acc, font=\footnotesize, anchor=south] at (2.05,1.9) {$f(z_i)$};
\draw[->] (-0.15,0) -- (4.5,0);
\draw[->] (0,-0.15) -- (0,3.0);
\foreach \x/\lab in {1.4/x_{i-1}, 2.05/z_i, 2.8/x_i}
  \draw (\x,0.07) -- (\x,-0.07) node[below, font=\footnotesize] {$\lab$};
\node[acc, font=\footnotesize, anchor=east] at (1.4,0.75) {$m_i$};
\node[black, font=\footnotesize, anchor=west] at (2.8,2.0) {$M_i$};
\end{tikzpicture}
$$

Both definitions describe the same class of functions and the same number. If
$U(P,f) - L(P,f) < \varepsilon$, then the tagged sums are trapped in an interval of
length $\varepsilon$ around the Darboux value, so the mesh-based limit exists and
equals it; conversely a convergent tagged limit yields, by choosing tags near the
infimum and supremum, matching lower and upper integrals.[^shk-16] The equivalence
is why "Riemann integral" and "Darboux integral" name the same object.

| | Darboux definition | Riemann (tagged) definition |
| --- | --- | --- |
| Rectangle height | $m_i$ (lower), $M_i$ (upper) | $f(z_i)$, arbitrary tag $z_i$ |
| Integrability test | $\underline{\int} f = \overline{\int} f$ | mesh limit of $S(P,f)$ exists |
| Practical criterion | one $P$ with $U - L < \varepsilon$ | Cauchy: two sums within $\varepsilon$ |
| Optimizes over | all partitions (sup / inf) | all partitions and tags (limit) |
| Same class? | yes | yes |

[^lebl-51]: **Lebl**, _Basic Analysis I_, §5.1 — partitions, lower/upper Darboux sums, the Darboux integrals, Riemann integrability (Def. 5.1.9), and the criterion $U(P,f) - L(P,f) < \varepsilon$ (Prop. 5.1.13), with the constant, step-function, and $\tfrac{1}{1+x}$ examples.
[^shk-15]: **Shkoller**, _MAT125B Lecture Notes_, §1.4–1.5 — refinement of partitions and the monotonicity $L_{\delta_1} \le L_{\delta_2} \le U_{\delta_2} \le U_{\delta_1}$ for a refinement.
[^shk-19]: **Shkoller**, _MAT125B Lecture Notes_, §1.5 — the Cauchy criterion for integrability in terms of upper and lower sums (Thm. 1.19), and $L(f) \le U(f)$ (Thm. 1.18).
[^shk-13]: **Shkoller**, _MAT125B Lecture Notes_, §1.3 — the upper/lower Darboux integrals as $\inf$ and $\sup$ over partitions, with $\int_0^1 x\,\d x = \tfrac12$ and $\int_0^1 x^2\,\d x = \tfrac13$ computed from uniform partitions.
[^shk-16]: **Shkoller**, _MAT125B Lecture Notes_, §1.1, §1.6 — the tagged Riemann-sum definition (Def. 1.3–1.4) and the proof that it agrees with the upper/lower-sum definition.
