Vesneske Gordon
Vesneske Gordon
SARAH VESNESKE
Abstract. The main objective of this paper is to build a context in which it can be argued
that most continuous functions are nowhere differentiable. We use properties of complete metric
spaces, Baire sets of first category, and the Weierstrass Approximation Theorem to reach this
objective. We also look at several examples of such functions and methods to prove their lack
of differentiability at any point.
Contents
List of Figures 1
Introduction 2
1. Review and Preliminaries 3
1.1. Weierstrass Approximation Theorem 3
1.2. Metric Spaces 5
1.3. Baire Category Sets and the Baire Category Theorem 8
2. Continuous, Nowhere Differentiable Functions 10
2.1. Weierstrass’ nowhere differentiable function 10
2.2. Somewhere differentiable functions 14
2.3. An algebraic nowhere differentiable function 17
Conclusions 19
Acknowledgements 19
References 19
List of Figures
Introduction
Mathematical intuition is often what guides our pursuit of further knowledge through the
development of rigorous definitions and proofs. To illustrate this idea, let us consider the con-
ception of a continuous function. Initially, we have an idea that a function should be continuous
if it can be “drawn” without lifting one’s pen. It is a continuous movement, with no jumping
around.
Of course, general intuitive concepts cannot take us very far, and thus we develop the − δ
definition of continuity with which we are familiar. This definition was carefully constructed
in ways that lean into our intuition. We hope to ensure that the functions we perceive to
be continuous stay that way within our formal definition, and that those which seem to have
obvious discontinuities are also preserved.
However, once formalizing these intuitive ideas, we are often faced with mathematical truths
that are more difficult to accept. When we are first introduced to the concept of differentiability,
or rather of non-differentiability, we are shown functions with a handful of problematic points
on an otherwise differentiable function. It seems at first glance that for any function to remain
continuous it must have a finite - or at most a countable - number of these cusps. It is here
that we see the mathematics push back against our intuition.
In 1872, Karl Weierstrass became the first to publish an example of a continuous, nowhere
differentiable function [5]. It is now known that several mathematicians, including Bernard
Bolzano, constructed such functions before this time. However, the publishing of the Weierstrass
function (originally defined as a Fourier series) was the first instance in which the idea that a
continuous function must be differentiable almost everywhere was seriously challenged.
Differentiability, what intuitively seems the default for continuous functions, is in fact a rarity.
As it turns out, chaos is omnipresent, and the order required for differentiability is in no way
guaranteed under the weak restrictions of continuity.
In the first section of this paper we provide an overview of key results from several areas of
mathematics. First, we present a proof of the Weierstrass Approximation Theorem and develop
an obvious corollary. Then, we review properties of complete metric spaces and apply them
to the space of continuous functions. We then prove the Baire Category Theorem and develop
definitions for Baire first and second category sets.
In the second half of the paper we are formally introduced to everywhere continuous, nowhere
differentiable functions. We begin with a proof that Weierstrass’ famous nowhere differentiable
function is in fact everywhere continuous and nowhere differentiable. We then address the main
CONTINUOUS, NOWHERE DIFFERENTIABLE FUNCTIONS 3
motivation for this paper by showing that the set of continuous functions differentiable at any
point is of first category (and so is relatively small). We conclude with a final example of a
nowhere differentiable function that is “simpler” than Weierstrass’ example.
The standard notation in this paper will follow that used in Russell A. Gordon’s Real Analysis:
A First Course [1]. Any unusual uses of notation or terms will be defined as they are used.
Definition 1.1. If f is a continuous function on the interval [0, 1], then the nth Bernstein
polynomial of f is defined by
n
X k n k
Bn (x, f ) = f x (1 − x)n−k .
k=0
n k
n
n
k n−k
Let p, q > 0. Then (p + q)n =
P
k
p q . Taking the derivative with respect to p and then
k=0
multiplying by p on both sides of the resulting equation leads us to
n
n−1
X n
np(p + q) = kpk q n−k ,
k=0
k
Theorem 1.3. If f is continuous on the interval [0, 1], then {Bn (x, f )} converges uniformly to
f on [0, 1].
Proof. We first note that the continuity of f on the closed interval [0, 1] implies that f is
uniformly continuous and bounded on [0, 1]. Let M be a bound for f on [0, 1].
Let > 0 be given. Then there exists δ > 0 guaranteed by the definition of uniform continuity
such that |f (y) − f (x)| < for all x, y ∈ [0, 1] which satisfy |y − x| < δ. Choose N ∈ N such
M
that N ≥ 2δ 2 , and fix n ≥ N. Then, for any x ∈ [0, 1] we have
n
X k n
|f (x) − Bn (x, f )| = f (x) − f xk (1 − x)n−k
k=0
n k
n
f (x) − f k n xk (1 − x)n−k
X
≤
k=0
n k
At this point, we can divide the sum into two parts. When | nk − x| < δ, we use the uniform
continuity of f , and when | nk − x| ≥ δ, we use the bound M . Let T be the set of all k such that
| nk − x| < δ and let S be the set of all k such that | nk − x| ≥ δ. Thus, the previous expression is
equivalent to
f (x) − f k n xk (1 − x)n−k + f (x) − f k n xk (1 − x)n−k
X X
k∈T
n k k∈S
n k
n
X n k n−k 1 X 2 n k
≤ x (1 − x) + 2 δ 2M x (1 − x)n−k
k=0
k δ k∈S
k
n 2
2M X k n k
≤+ 2 −x x (1 − x)n−k
δ k=0 n k
n
2M X 2 2 2
n k
=+ 2 2 k − n2kx + n x x (1 − x)n−k
n δ k=0 k
" n n n
#
2M X 2 n k n−k
X n k n−k 2 2
X n k n−k
=+ 2 k x (1 − x) − 2nx k x (1 − x) +n x x (1 − x)
δ k=0
k k=0
k k=0
k
2M 2 2 2 2 2
=+ (n x − nx + nx) − 2nx(nx) + n x
n2 δ 2
CONTINUOUS, NOWHERE DIFFERENTIABLE FUNCTIONS 5
2M
=+ (x(1 − x))
nδ 2
2M 1
≤+ ·
N δ2 4
≤ 2.
Given that x was arbitrary in the interval [0, 1], we have shown that for any > 0 there exists
an N ∈ N such that |f (x) − Bn (x, f )| ≤ 2 for all x ∈ [0, 1] and for all n ≥ N . Thus, the
sequence {Bn (x, f )} converges uniformly to f on the interval [0, 1].
We now use the uniform convergence of {Bn (x, f )} to prove the following theorem.
Theorem 1.4. (Weierstrass Approximation) If f is continuous on [a, b], then there exists a
sequence {pn } of polynomials such that {pn } converges uniformly to f on [a, b].
Proof. Let g(t) = f (a + t(b − a)). Then g is continuous on [0, 1]. By Theorem 1.3, the sequence
{Bn (t, g)} converges to g uniformly on [0, 1]. That is, for each > 0 there exists some N ∈ N
such that |Bn (t, g) − g(t)| < for all t ∈ [0, 1] and for all n ≥ N.
Now, consider the sequence {pn } defined by pn (x) = Bn x−a
b−a
, g for each n. We can see that
pn (x) is a polynomial for every n. Now, for any x ∈ [a, b], the number x−a b−a
∈ [0, 1], and thus,
x−a x − a
|pn (x) − f (x)| = Bn ,g − g <
b−a b−a
for all n ≥ N. Therefore, the sequence defined by {pn } converges uniformly on [a, b]. Since
f was an arbitrary continuous function, this holds for all continuous functions on the interval
[a, b].
Corollary 1.5. If f is continuous on an interval [a, b], then for each > 0 there exists a
polynomial p such that |p(x) − f (x)| < for all x ∈ [a, b].
This corollary follows easily from Theorem 1.4, as we can choose our p from the tail end of
{pn }. This greatly simplifies several of the arguments that follow later in the paper.
1.2. Metric Spaces. We now review several properties of metric spaces and introduce the
metric space of continuous functions that the remainder of the paper utilizes.
6 SARAH VESNESKE
We are most familiar with the metric space R with d(x, y) = |x − y|, where the distance
between two real numbers is denoted by the absolute value of their difference.
rn In n dimensions,
we are also familiar with the Euclidean distance in Rn with d(x, y) =
P
(xi − yi )2 .
i=1
Here, we consider the metric space consisting of the set of all continuous functions on the
closed interval [a, b], with the metric d∞ (x, y) = sup{|x(t) − y(t)| : t ∈ [a, b]}. We refer to this
metric space as C([a, b]).
Definition 1.7. A metric space (X, d) is complete if every Cauchy sequence in (X, d) converges
to a point in X.
Definition 1.8. The open set N (x) denotes the neighborhood of x with radius > 0. That
is, if X is a metric space with x ∈ X, then N (x) = {y ∈ X : d(x, y) < }.
Definition 1.9. Let (X, d) be a metric space and let E be a subset of X. The set E is dense
in X if and only if E ∩ U 6= ∅ for every nonempty open set, U , in X. The set E is nowhere
dense in X if and only if the interior of the closure of E is empty. This means that for all
x ∈ E and for all > 0 there exists a point y ∈ N (x) such that y ∈
/ E.
Proof. Let P be the set of polynomials on the interval [a, b]. Consider an arbitrary open set
U ⊆ C([a, b]). Since U is nonempty, there must exist at least one function, say f , in U ⊆ C([a, b]).
Then, given that U is open, for some > 0 there exists a neighborhood of f , N (f ), that is
completely contained in U.
Now, by Corollary 1.5, there exists a polynomial p in C([a, b]) such that |p(x) − f (x)| < for
all x ∈ [a, b], i.e., that p ∈ N (f ) ⊆ U. This means that P ∩ U is nonempty. Since U was
CONTINUOUS, NOWHERE DIFFERENTIABLE FUNCTIONS 7
arbitrary, this holds for every nonempty open set in C([a, b]). By definition, the set P is dense
in C([a, b]).
Proof. Let PQ be the set of polynomials with rational coefficients on the interval [a, b]. As in
the proof of Theorem 1.11, let U ⊆ C([a, b]) be an arbitrary nonempty open set, containing at
least one continuous function, say f . We showed by Corollary 1.5, there exists a polynomial p
in C([a, b]) such that |p(x) − f (x)| < 2 for all x ∈ [a, b].
Now, we also know that the set of rational numbers, Q, is dense in R. This means that for
any r ∈ R and for any > 0, there exists some rational number q ∈ Q such that q ∈ N (r), i.e.,
|r − q| < .
Let p(x) = r0 +r1 x+r2 x2 +· · ·+rn xn where ri ∈ R. For any > 0, let i = 2nb i . We can choose
qi ∈ Q such that |qi − ri | < i for all i. Using these qi , let g(x) = q0 + q1 x + q2 x2 + · · · + qn xn
We can see that
Remark 1.13. The set of polynomials is a subspace of C([a, b]), but it is not a closed subset of
C([a, b]).
8 SARAH VESNESKE
Theorem 1.14. (Baire Category Theorem) Let (X, d) be a complete metric space. If {On } is
a sequence of open, dense sets in X, then ∞
T T∞
n=1 On is dense in X. In particular, n=1 On 6= ∅.
Proof. Let U be a nonempty, open set. We need to show that there exists an x such that for
all positive integers n, the set U ∩ On contains x. Choose x0 ∈ U and > 0 so that N (x0 ) is a
subset of U .
Since O1 ∩ N 4 (x0 ) 6= ∅, there exists some x1 ∈ O1 such that d(x0 , x1 ) < 4 . Choose 1 < 2 so
that S1 = N1 (x1 ) ⊆ O1 . Then, S¯1 ⊆ N (x0 ) ⊆ U.
x0
•
x1
•
x•
2
1 1
Since O2 ∩ N1 /4 (x1 ) 6= ∅, there exists x2 ∈ O2 such that d(x1 , x2 ) < 4
. Choose 2 < 2
so
that S2 = N2 (x2 ) ⊆ O2 . Then, S¯2 ⊆ N1 (x1 ) ⊆ S1 .
Figure 1 illustrates how the xi might be chosen and how the Si are strictly contained in one
another. Each outer circle corresponding to its center xi has radius i < i−1
2
. The smaller circle
i
has radius 4 , illustrating the open disk in which the next xi+1 can be chosen. This preserves
the condition that d(xi , xi+1 ) < 4i .
We can see that each large circle is contained within the previous. More rigorously, we will show
why Si+1 ⊆ Si for all i.
Let y ∈ Si+1 . Then, given the way each xi and i are chosen, and using the triangle inequality,
we see that
i) Sn ⊆ On ,
ii) Sn+1 ⊆ Sn ,
iii) S1 ⊆ U, and
iv) the diameter of Sn , or the maximum distance between any two elements of Sn , is given
by 24nn which approaches 0 as n approaches infinity.
Let {x0n } be a sequence such that x0n ∈ Sn for each n. Given that Sn+1 ⊆ Sn , we can see that
x0n ∈ Sn ⊆ SN for all n ≥ N. So, for any n, m ≥ N , it follows that xn , xm ∈ Sn . From item (iv),
we know that d(x0n , x0m ) < 24NN . Then {x0n } is a Cauchy sequence and converges, say to the point
x. Given that (X, d) is a complete metric space, x must be an element of (X, d). Thus,
∞
\ ∞
\ ∞
\ ∞
\
x∈ S¯n ⊆ Sn ⊆ U ∩ Sn ⊆ U ∩ On .
n=2 n=1 n=1 n=1
Given that x is contained in this intersection of all On with any nonempty, open set U, by
definition ∞
T T∞
n=1 On must be dense in X. It follows that n=1 On is also nonempty.
10 SARAH VESNESKE
Definition 1.15. Let (X, d) be a metric space and let A be a subset of X. The set A is
of first category if there exists a countable collection {En } of nowhere dense sets such that
A= ∞
S
n=1 En . The set A is of second category if it is not of first category.
Sets of first category are also referred to as meager sets, implying a sense of relative smallness
when compared to the larger set X.
As an example, the set of rational numbers is of first category in R. We know that the rationals
are countable and the reals are not, and so in this way the rationals are a smaller set. Further,
the irrationals are of second category in R, which agrees with our conception that both are
uncountable.
Theorem 2.1. [4] Let b be a real number such that 0 < b < 1 and let a be a positive odd integer.
If ab > 1 and 32 > ab−1
π
, then
X∞
W (x) = bn cos(an xπ)
n=0
is continuous on R and is not differentiable at any point in R.
Proof. Throughout the proof of this theorem, we fix a and b, assuming that the values satisfy
the given conditions. Within figures 2 and 3, we let a = 13 and b = 21 .
First, we consider the continuity of the function. Note that |bn cos(an xπ)| ≤ bn for all real
∞
bn is a convergent
P
values of x. Given that our conditions require that b < 1, we know that
n=0
geometric series. Thus, by the Weierstrass M-test, the function W is continuous on R.
From this, we can see that the claim of continuity for our function W is not the difficult part
of our proof.
Fix a value x0 . For each m ∈ N, let βm be the integer which satisfies the conditions
1
2
≤ βm − am x0 < 32 . We can restate this in two inequalities, so that x0 ≤ βam
m
− 2a1m and
βm
am
Let us call βam
− 2a3m < x0 . m
= αm Given that a > 1, we can see that limm→∞ αm = x0 .
Now, if we were to suppose that W was differentiable at the point x0 , then
W (αm ) − W (x0 )
lim = W 0 (x0 ).
m→∞ α m − x0
To form a contradiction, will show that in fact
W (αm ) − W (x0 )
lim (−1)βm = ∞,
m→∞ αm − x0
and therefore that W 0 (x0 ) does not exist.
12 SARAH VESNESKE
To begin, express
P∞ n n
P∞ n n
βm W (αm )− W (x0 ) βm n=0 b cos(a (αm )π) − n=0 b cos(a (x0 )π)
(−1) = (−1)
α m − x0 αm − x0
∞
X cos(an (αm )π) − cos(an (x0 )π)
= (−1)βm bn
n=0
αm − x0
m−1
X cos(an αm π) − cos(an x0 π)
= (−1)βm bn
n=0
αm − x0
∞
X cos(an αm π) − cos(an x0 π)
+ (−1)βm bn
n=m
α m − x0
= Am + Bm .
π 2
(i) |Am | ≤ (ab)m and (ii) Bm ≥ (ab)m .
ab − 1 3
From this, it follows that
W (αm ) − W (x0 )
(−1)βm ≥ Bm − |Am |
αm − x0
2 π
≥ (ab)m − (ab)m
3 ab − 1
m 2 π
= (ab) − .
3 ab − 1
π
Given that ab > 1 and ab−1
< 23 , we can see that
m 2 π
lim (ab) − =∞
m→∞ 3 ab − 1
and thus
W (αm ) − W (x0 )
lim (−1)βm =∞
m→∞ αm − x0
Therefore, the proof will be complete upon verification of (i) and (ii).
m−1
X
= (−1)βm an bn π(− sin(cn,m ))
n=0
for some cn,m ∈ [a, b] guaranteed by the Mean Value Theorem. Taking the absolute
value, we find
m−1
X
|Am | = an bn π sin(cn,m )
n=0
m−1
X
≤ an b n π
n=0
(ab)m − 1
=π
ab − 1
π
< (ab)m .
ab − 1
Thus, we can see that item (i) holds.
Now, given that we have verified parts (i) and (ii), we have completed the proof and have
shown that
W (αm ) − W (x0 )
lim (−1)βm = ∞.
m→∞ αm − x0
This means that W 0 (x0 ) does not exist, and thus W (x) is not differentiable at any point on R.
Additionally, we have shown that W (x) has unbounded difference quotients on R.
2.2. Somewhere differentiable functions. We now consider the set of continuous functions
which have at least one point on [0, 1] where they are differentiable.
Theorem 2.3. If A = {f ∈ C([0, 1]) : there exists an x0 ∈ [0, 1] such that f 0 (x0 ) exists}, then
A is a set of first category.
Proof. For each N ∈ N we define FN = {f ∈ C([0, 1]) : there exists an x0 ∈ [0, 1] such that
|f (x) − f (x0 )| ≤ N |x − x0 | for all x ∈ [0, 1]}. If we prove the following three statements:
CONTINUOUS, NOWHERE DIFFERENTIABLE FUNCTIONS 15
i. Let f be a limit point of FN . Then there exists a sequence {fn } in FN such that {fn }
converges to f. For each n, choose xn ∈ [0, 1] to be the point defined as x0 “corre-
sponding” to each fn within the definition of Fn . That is, for each n, the inequality
|fn (x) − fn (xn )| ≤ n|x − xn | holds for all x ∈ [0, 1]. We can see that the sequence {xn }
is bounded given that each xn ∈ [0, 1].
By the Bolzano-Weierstrass Theorem, the sequence {xn } has a convergent subsequence
{xnk } that converges to x0 ∈ [0, 1]. For all k, let yk = xnk and let gk = fnk . Since
convergence in C([0, 1]) is uniform convergence, and since {fnk } converges to f and {yk }
converges to x0 , for each > 0 there exists a k such that
implies
f (x0 ) − f (x)
x0 − x ≤ N.
Hence, for all x ∈ [0, 1], we see that |f (x) − f (x0 )| ≤ N |x − x0 |, so f ∈ FN . Since f was
an arbitrary limit point in FN , the set FN must contain all of its limit points and thus
is closed.
16 SARAH VESNESKE
ii. To show that FN is nowhere dense, we must show that for any arbitrary g ∈ C([0, 1])
and any > 0, there exists some φ ∈ C([0, 1]) such that d∞ (φ, g) < and φ 6∈ FN . That
is, we show that there is a continuous function φ ∈ N (g) that is not in FN .
By Corollary 1.5, there exists a polynomial p which converges uniformly to g on [0, 1].
This means that for each > 0 there is some p such that |p(x) − g(x)| < 2 for all
x ∈ [0, 1].
Recall that in our proof that the Weierstrass function is not differentiable at any
point, we also showed that W has unbounded difference quotients for all x. Thus,
we can multiply W by any constant c and be left with a function cW which also has
unbounded difference quotients for every x. Let M = sup{W (x) : x ∈ [0, 1]} and let
φ = p(x) + 2M W (x). Given that p and W are both elements of C([0, 1]), it is clear that
φ must be as well.
Now,
iii. Let f ∈ A and choose x0 such that f 0 (x0 ) exists. Then there is a δ > 0 such that
0 < |x − x0 | < δ implies
f (x) − f (x0 ) 0
x − x0 < |f (x0 )| + 1.
There is a bound for f , say M, such that |f (x)| ≤ M for all x ∈ [0, 1] which satisfy the
inequality
f (x) − f (x0 ) 2M
x − x0 ≤ δ
CONTINUOUS, NOWHERE DIFFERENTIABLE FUNCTIONS 17
when |x − x0 | ≥ δ.
If N ≥ max 2M , |f 0 (x0 )| + 1 , then for all x ∈ [0, 1], we find that |f (x) − f (x0 )| ≤
δ
N |x − x0 )|. Thus f ∈ FN . Since f was chosen to be an arbitrary function in A, we
conclude that A ⊆ ∞
S
N =1 FN .
Therefore, given that we have shown FN is both closed and nowhere dense, and that
A⊆ ∞
S
N =1 FN , we have shown that A is a set of the first category.
Remark 2.4. Since C([0, 1]) is a set of second category, the set A is a proper subset of C([0, 1]).
Within this framework, we can claim that functions which are differentiable at even a single
point are, in a sense, rare when considering all possible continuous functions. From a different
angle, we say that most continuous functions are not differentiable anywhere.
While initially startling, after contemplating for a while we can be convinced that it makes
sense for most arbitrary continuous functions to be chaotic in this way. Our definition of
continuity is much weaker than that of differentiability. While it seems that the continuous
functions we can visualize must be differentiable at most points, we can see that this is not due
to the natures of continuity and differentiability, but only to the limitations of our visualizations.
2.3. An algebraic nowhere differentiable function. Now that we have shown that most
continuous functions are pathological in this way, we might hope to find a “simpler” function
than Weierstrass’ famous example. While the Weierstrass function is an interesting example in
that all of its partial sums are differentiable, it does require the use of a transcendental function
to express. We will give another example that uses only algebraic functions in its construction.
In fact, the function is defined using a piecewise linear function. This example is found in
Gordon’s text [1] in the proof of his Theorem 7.31.
Theorem 2.5. Define g : R → R by letting g(x) = |x| for −1 ≤ x < 1 and g(x + 2) = g(x) for
all other x. The function f defined by
∞ k
X 3
f (x) = g(4k x)
k=0
4
Proof. By the Weierstrass M-test, we see that this series converges uniformly. Further, each
term of the series is continuous. It is easy then to see that f is continuous on R. Again, the
more interesting fact is that this function is nowhere differentiable.
18 SARAH VESNESKE
For each x, we will find a sequence {δn } of nonzero real numbers such that {δn } converges to
zero, but the sequence
f (x + δn ) − f (x)
δn
is unbounded and thus does not converge. This will show that f is not differentiable at x.
Fix x ∈ R, and let n be an integer. We choose δn = ± 2·41 n such that there are no integers
between 4n x and f n (x + δn ). We note here that the sequence {δn } converges to 0.
We now consider the value of |g(4k x + 4k δn ) − g(4k x)|.
For k > n, we note that 4k δn is a multiple of 2 and that g is a periodic function with a period
of 2. This means |g(4k x + 4k δn ) − g(4k x)| = 0.
When k = n, we know |4k δn | = 21 . Further, the function g is linear with a slope of either 1 on
the interval [4k x + 4k δn , 4k x] or −1 on the interval [4k x, 4k x + 4k δn ], depending on the choice of
δn . Thus in this case, |g(4k x + 4k δn ) − g(4k x)| = 21 .
Consider when k < n. Given that |g(y)−g(x)| ≤ |y−x|, we find that |g(4k x + 4k δn ) − g(4k x)| ≤ |4k δn |.
Using these results, we conclude that
n k k k k
f (x + δn ) − f (x) X 3 g(4 x + 4 δn ) − g(4 x)
=
δn 4 δn
k=0
n
n−1 k
k k k
3 X 3 g(4 x + 4 δn ) − g(4 x)
≥ 4n −
4 4 δn
k=0
n−1
X
≥ 3n − 3k
k=0
n
3 −1 3n
= 3n − > .
2 2
We have shown that the sequence
f (x + δn ) − f (x)
δn
is unbounded and thus does not converge. Given {δn } converges to 0, it follows that f is not
differentiable at x.
CONTINUOUS, NOWHERE DIFFERENTIABLE FUNCTIONS 19
Conclusions
Within this paper, we used the prevalence of nowhere differentiable functions to show how
mathematics often forces us to rethink our intuition. Proving the continuity and nowhere differ-
entiablity of two very different example functions, we convince ourselves that these functions are
not as impossible as we may have initially thought. Within the context of Baire first and second
category sets, we make the claim that most continuous functions are nowhere differentiable.
Acknowledgements
I would like to thank my supervisor, Russ Gordon, for his help with this paper and for four
years of mentorship, kindness, and support. I would also like to thank Sarah Fix and Pat Keef
for their thoughtful comments and edits on countless drafts.
References
[1] Russell A. Gordon. Real Analysis: A First Course. Addison-Wesley Higher Mathematics, 2nd edition, 2002.
[2] Madeleine Hanson-Colvin. Everywhere continuous nowhere differentiable functions. 2014.
[3] Michael E. McLaughlin. An introduction to everywhere continuous, nowhere differentiable functions. 2013.
[4] Steen Pedersen. From Calculus to Analysis, chapter 11, pages 236–240. Springer International Publishing,
2015.
[5] Wikipedia. Weierstrass function.