content/history/set-theory/set-theory.tex
1% Part: history2% Chapter: set-theory34\documentclass[../../../include/open-logic-chapter]{subfiles}56\begin{document}7 8\olchapter{his}{set}{History and Mythology of Set Theory}910\begin{editorial}11This chapter includes the historical prelude from Tim Button's Open12Set Theory text.13\end{editorial}1415\olimport{infinitesimals}16\olimport{limits}17\olimport{pathologies}18\olimport{mythology}19\olimport{cantor-plane}20\olimport{hilbert-curve}2122\end{document}
content/history/set-theory/infinitesimals.tex
1\documentclass[../../../include/open-logic-section]{subfiles}23\begin{document}45\olfileid{his}{set}{infinitesimals}6\olsection{Infinitesimals and Differentiation}78Newton and Leibniz discovered the calculus (independently) at the end9of the 17th century. A particularly important application of the10calculus was \emph{differentiation}. Roughly speaking, differentiation11aims to give a notion of the ``rate of change'', or gradient, of a12function at a point. 1314Here is a vivid way to illustrate the idea. Consider the function15$f(x) = \nicefrac{x^2}{4} + \nicefrac{1}{2}$, depicted in black below:16\begin{center}17 \begin{tikzpicture}[scale=1]18 \draw[->, gray] (-1,0) -- (4.25,0) node[right] {$x$};19 \draw[->, gray] (0,-0.25) -- (0,5.25) node[above] {$f(x)$};20 21 \foreach \x/\xtext in {1/1, 2/2, 3/3, 4/4}22 \draw[shift={(\x,0)}, gray] (0pt,2pt) -- (0pt,-2pt) node[below] {$\xtext$};23 24 \foreach \y/\ytext in {1/1, 2/2, 3/3, 4/4, 5/5}25 \draw[shift={(0,\y)}, gray] (2pt,0pt) -- (-2pt,0pt) node[left] {$\ytext$};26 27 \draw[oldiagcolorC] (0.5, 9/16) -- (3.5, 57/16) -- (3.5, 9/16)--cycle;28 \draw[oldiagcolorD] (.5, 9/16) -- (2.5, 33/16) -- (2.5, 9/16) -- cycle;29 \draw[oldiagcolorE] (.5, 9/16) -- (1.5, 17/16) -- (1.5, 9/16) -- cycle;30 \draw[thick] (-1,.75) parabola bend (0,0.5) (4,4.5);31 \end{tikzpicture}32\end{center}33Suppose we want to find the gradient of the function at $c =34\nicefrac{1}{2}$. We start by drawing a triangle whose hypotenuse35approximates the gradient at that point, perhaps the red triangle36above. When $\beta$ is the base length of our triangle, its height is37$f(\nicefrac{1}{2}+\beta) - f(\nicefrac{1}{2})$, so that the gradient38of the hypotenuse is:39\[40\frac{f(\nicefrac{1}{2}+\beta) - f(\nicefrac{1}{2})}{\beta}.41\]42So the gradient of our !!{colorC} triangle, with base length~$3$, is43exactly~$1$. The hypotenuse of a smaller triangle, the !!{colorD}44triangle with base length~$2$, gives a better approximation; its45gradient is $\nicefrac{3}{4}$. A yet smaller triangle, the !!{colorE}46triangle with base length~$1$, gives a yet better approximation; with47gradient $\nicefrac{1}{2}$. 4849Ever-smaller triangles give us ever-better approximations. So we might50say something like this: the hypotenuse of a triangle with an51\emph{infinitesimal} base length gives us the gradient at $c =52\nicefrac{1}{2}$ itself. In this way, we would obtain a formula for53the (first) derivative of the function $f$ at the point $c$:54\[55{f'}(c) = \frac{f(c+\beta) - f(c)}{\beta} \text{ where $\beta$ is infinitesimal.}56\]57And, roughly, this is what Newton and Leibniz said. 5859However, since they have said this, we must ask them: what is an60\emph{infinitesimal}? A serious dilemma arises. If $\beta = 0$, then61$f'$ is ill-defined, for it involves dividing by $0$. But if $\beta >620$, then we just get an \emph{approximation} to the gradient, and not63the gradient itself. 6465This is not an anachronistic concern. Here is Berkeley, criticizing66Newton's followers:67\begin{quote}68I admit that signs may be made to denote either any thing or nothing:69and consequently that in the original notation $c + \beta$, $\beta$70might have signified either an increment or nothing. But then which of71these soever you make it signify, you must argue consistently with72such its signification, and not proceed upon a double meaning: Which73to do were a manifest sophism. (\citealt[\S{}XIII]{Berkeley1734},74variables changed to match preceding text)75\end{quote}76To defend the infinitesimal calculus against Berkeley, one might reply77that the talk of ``infinitesimals'' is merely figurative. One might78say that, so long as we take a \emph{really small} triangle, we will79get a \emph{good enough} approximation to the tangent. Berkeley had a80reply to this too: whilst that might be good enough for engineering,81it undermines the \emph{status} of mathematics, for82\begin{quote}83we are told that \emph{in rebus mathematicis errores qu\`{a}m minimi84non sunt contemnendi}. [In the case of mathematics, the smallest85errors are not to be neglected.] \citep[\S{}IX]{Berkeley1734}86\end{quote}87The italicised passage is a near-verbatim quote from Newton's own88\emph{Quadrature of Curves} (1704). 8990Berkeley's philosophical objections are deeply incisive. Nevertheless,91the calculus was a massively successful enterprise, and mathematicians92continued to use it without falling into error.9394\end{document}
content/history/set-theory/limits.tex
1% Part: history2% Chapter: set-theory3% Section: limits45\documentclass[../../../include/open-logic-section]{subfiles}67\begin{document}8 9\olfileid{his}{set}{limits} 1011\olsection{Rigorous Definition of Limits}12 13These days, the standard solution to the foregoing problem is to get14rid of the infinitesimals. Here is how. 1516We saw that, as $\beta$ gets smaller, we get better approximations of17the gradient. Indeed, as $\beta$ gets arbitrarily close to $0$, the18value of $f'(c)$ ``tends without limit'' to the gradient we want. So,19instead of considering what happens \emph{at} $\beta = 0$, we need20only consider the \emph{trend} of $f'(c)$ as $\beta$ approaches $0$. 2122Put like this, the general challenge is to make sense of claims of23this shape:24\begin{center}25As $x$ approaches $c$, $g(x)$ tends without limit to $\ell$. 26\end{center}27which we can write more compactly as follows:28\[29\lim_{x \rightarrow c}g(x) = \ell.30\]31In the 19th century, building upon earlier work by Cauchy, Weierstrass32offered a perfectly rigorous definition of this expression. The idea33is indeed that we can make $g(x)$ as close as we like to~$\ell$, by34making $x$ suitably close to~$c$. More precisely, we stipulate that35$\lim_{x \rightarrow c} g(x) = \ell$ will mean:36\[37(\forall\epsilon > 0)(\exists \delta > 0)\forall x \left(|x - c| < \delta \lif |g(x) - \ell| < \epsilon \right).38\]39The vertical bars here indicate absolute magnitude. That is, $|x| = x$40when $x \geq 0$, and $|x| =-x$ when $x < 0$; you can depict41\emph{that} function as follows:42\begin{center}43 \begin{tikzpicture}[scale=1]44 \draw[->, gray] (-2.5,0) -- (2.5,0) node[right] {$x$};45 \draw[->, gray] (0,-.2) -- (0,2.5) node[above] {$|x|$};46 47 \foreach \x/\xtext in {-2/-2, -1,1, 1/1, 2/2}48 \draw[shift={(\x,0)}] (0pt,2pt) -- (0pt,-2pt) node[below] {{$\xtext$}};49 50 \foreach \y/\ytext in {1/1, 2/2}51 \draw[shift={(0,\y)}] (2pt,0pt) -- (-2pt,0pt) node[left] {{$\ytext$}};52 53 \draw[thick] (-2.5, 2.5)--(0,0)--(2.5, 2.5);54 \end{tikzpicture}55\end{center}56So the definition says roughly this: you can make your ``error'' less57than $\epsilon$ (i.e., $|g(x) - \ell| < \epsilon$) by choosing58arguments which are no more than $\delta$ away from~$c$ (i.e., $|x -59c| < \delta$). 6061Having defined the notion of a limit, we can use it to avoid62infinitesimals altogether, stipulating that the gradient of $f$ at $c$63is given by:64\[65 {f}'(c) = \lim_{x \rightarrow 0}\left(\frac{f(c +x) - f(c)}{x}\right) \text{ where a limit exists}.66\]67It is important, though, to realise why our definition needs the68caveat ``where a limit exists''. To take a simple example, consider69$f(x) = |x|$, whose graph we just saw. Evidently, $f'(0)$ is70ill-defined: if we approach $0$ ``from the right'', the gradient is71always $1$; if we approach $0$ ``from the left'', the gradient is72always $-1$; so the limit is undefined. As such, we might add that a73function~$f$ is \emph{differentiable} at~$x$ iff such a limit exists.7475We have seen how to handle differentiation using the notion of a76\emph{limit}. We can use the same notion to define the idea of a77\emph{continuous} function. (Bolzano had, in effect, realised this by781817.) The Cauchy--Weierstrass treatment of continuity is as follows.79Roughly: a function~$f$ is continuous (at a point) provided that, if80you demand a certain amount of precision concerning the output of the81function, you can guarantee this by insisting upon a certain amount of82precision concerning the input of the function. More precisely: $f$ is83continuous at $c$ provided that, as $x$ tends to zero, the difference84between $f(c + x)$ and $f(c)$ itself tends to $0$. Otherwise put: $f$85is \emph{continuous} at $c$ iff $f(c) = \lim_{x \rightarrow c} f(x)$. 8687To go any further would just lead us off into real analysis, when our88subject matter is set theory. So now we should pause, and state the89moral. During the 19th century, mathematicians learnt how to do90without infinitesimals, by invoking a rigorously defined notion of a91\emph{limit}.9293\end{document}
content/history/set-theory/pathologies.tex
1\documentclass[../../../include/open-logic-section]{subfiles}23\begin{document}45\olfileid{his}{set}{pathology}6\olsection{Pathologies}78However, the definition of a \emph{limit} turned out to allow for some rather ``pathological'' constructions. 910Around the 1830s, Bolzano discovered a function which was11\emph{continuous everywhere}, but \emph{differentiable nowhere}.12(Unfortunately, Bolzano never published this; the idea was first13encountered by mathematicians in 1872, thanks to Weierstrass's14independent discovery of the same idea.)\footnote{The history is15documented in extremely thorough footnotes to the Wikipedia article on16\href{http://en.wikipedia.org/wiki/Weierstrass_function}{the17Weierstrass function}.} This was, to say the least, rather surprising.18It is easy to find functions, such as $|x|$, which are continuous19everywhere but not differentiable at a particular point. But a20function which is continuous everywhere but differentiable21\emph{nowhere} is a very different beast. Consider, for a moment, how22you might try to draw such a function. To ensure it is continuous, you23must be able to draw it without ever removing your pen from the page;24but to ensure it is differentiable nowhere, you would have to abruptly25change the direction of your pen, constantly.2627Further ``pathologies'' followed. In January 5 1874, Cantor wrote a28letter to Dedekind, posing the problem:29\begin{quote}30Can a surface (say a square including its boundary) be one-to-one31correlated to a line (say a straight line including its endpoints) so32that to every point of the surface there corresponds a point of the33line, and conversely to every point of the line there corresponds a34point of the surface?3536It still seems to me at the moment that the answer to this question is37very difficult---although here too one is so impelled to say \emph{no}38that one would like to hold the proof to be almost superfluous.39[Quoted in \citealt{Gouvea2011}]40\end{quote}41But, in 1877, Cantor proved that he had been wrong. In fact, a line42and a square have exactly the same number of points. He wrote on 2943June 1877 to Dedekind ``\emph{je le vois, mais je ne le crois pas}'';44that is, ``I see it, but I don't believe it''. In the ``received45history'' of mathematics, this is often taken to indicate just how46\emph{literally incredible} these new results were to the47mathematicians of the time. (The correspondence is presented in48\citet{Gouvea2011}, and we return to it in49\olref[his][set][mythology]{sec}. Cantor's proof is outlined in50\olref[his][set][cantorplane]{sec}.) 5152Inspired by Cantor's result, Peano started to consider whether it53might be possible to map a line \emph{smoothly} onto a plane. This54would be a \emph{curve which fills space}. In \citeyear{Peano1890},55Peano constructed just such a curve. This is truly counter-intuitive:56Euclid had defined a line as ``breadthless length'' (Book I,57Definition 2), but Peano had shown that, by curling up a line58appropriately, its length can be turned into breadth. In59\citeyear{Hilbert1891}, Hilbert described a slightly more intuitive60space-filling curve, together with some pictures illustrating it. The61curve is constructed in sequence, and here are the first six stages of62the construction:63\begin{center}64\begin{tikzpicture}65\begin{scope}[xshift=20pt, yshift=20pt]66 \draw [oldiagcolorC, l-system={Hilbert curve, step=40pt, angle=90, axiom=L, order=1}] lindenmayer system;67\end{scope}68\begin{scope}[xshift=110pt, yshift=10pt]69 \draw [oldiagcolorC, l-system={Hilbert curve, step=20pt, angle=90, axiom=L, order=2}] lindenmayer system;70\end{scope}71\begin{scope}[xshift=205pt, yshift=5pt]72 \draw [oldiagcolorC, l-system={Hilbert curve, step=10pt, angle=90, axiom=L, order=3}] lindenmayer system;73\end{scope}74\begin{scope}[xshift=2.5pt, yshift=-97.5pt]75 \draw [oldiagcolorC, l-system={Hilbert curve, step=5pt, angle=90, axiom=L, order=4}] lindenmayer system;76\end{scope}77\begin{scope}[xshift=101.25pt, yshift=-98.75pt]78 \draw [oldiagcolorC, l-system={Hilbert curve, step=2.5pt, angle=90, axiom=L, order=5}] lindenmayer system;79\end{scope}80\begin{scope}[xshift=200.625pt, yshift=-99.375pt]81 \draw [oldiagcolorC, l-system={Hilbert curve, step=1.25pt, angle=90, axiom=L, order=6}] lindenmayer system;82\end{scope}83\draw[gray] (0pt,0pt) rectangle (80pt, 80pt);84\draw[gray] (100pt,0pt) rectangle (180pt, 80pt);85\draw[gray] (200pt,0pt) rectangle (280pt, 80pt);86\draw[gray] (0pt,-100pt) rectangle (80pt, -20pt);87\draw[gray] (100pt,-100pt) rectangle (180pt, -20pt);88\draw[gray] (200pt,-100pt) rectangle (280pt, -20pt);89\end{tikzpicture} 90\end{center}91In the limit---a notion which had, by now, received rigorous92definition---the entire square is filled in solid !!{colorC}. And, in93passing, Hilbert's curve is continuous everywhere but differentiable94nowhere; intuitively because, in the infinite limit, the function95abruptly changes direction at every moment. (We will outline Hilbert's96construction in more detail in \olref[his][set][hilbertcurve]{sec}.)9798For better or worse, these ``pathological'' geometric constructions99were treated as a reason to doubt appeals to geometric intuition. They100became something approaching \emph{propaganda} for a new way of doing101mathematics, which would culminate in set theory. In the later102myth-building of the subject, it was repeated, often, that these103results were both perfectly rigorous and perfectly shocking. They104therefore served a dual purpose: as a warning against relying upon105geometric intuition, and as a demonstration of the fertility of new106ways of thinking. 107108\end{document}
content/history/set-theory/mythology.tex
1\documentclass[../../../include/open-logic-section]{subfiles}23\begin{document}45\olfileid{his}{set}{mythology}67\olsection{More Myth than History?}89Looking back on these events with more than a century of hindsight, we10must be careful not to take these verdicts on trust. The results were11certainly novel, exciting, and surprising. But how truly shocking were12they? And did they really demonstrate that we should not rely on13geometric intuition?1415On the question of shock, \citet{Gouvea2011} points out that Cantor's16famous note to Dedekind, ``\emph{je le vois, mais je ne le crois17pas}'' is taken rather out of context. Here is more of that context18(quoted from \citeauthor{Gouvea2011}):19\begin{quote}20Please excuse my zeal for the subject if I make so many demands upon21your kindness and patience; the communications which I lately sent you22are even for me so unexpected, so new, that I can have no peace of23mind until I obtain from you, honoured friend, a decision about their24correctness. So long as you have not agreed with me, I can only say:25\emph{je le vois, mais je ne le crois pas.} 26\end{quote}27Cantor knew his result was ``so unexpected, so new''. But it is28doubtful that he ever found his result \emph{unbelievable}. As29\citeauthor{Gouvea2011} points out, he was simply asking Dedekind to30check the proof he had offered. 3132On the question of geometric intuition: Peano published his33space-filling curve without including any diagrams. But when Hilbert34published his curve, he explained his purpose: he would provide35readers with a clear way to understand Peano's result, if they ``help36themselves to the following geometric intuition''; whereupon he37included a series of \emph{diagrams} just like those provided in38\olref[his][set][pathology]{sec}. 3940More generally: whilst diagrams have fallen rather out of fashion in41published proofs, there is no getting round the fact that42mathematicians \emph{frequently} use diagrams when proving things.43(Roughly put: good mathematicians know when they can rely upon44geometric intuition.)4546In short: don't believe the hype; or at least, don't just take it on47trust. For more on this, you could read \citet{Giaquinto2007}.4849\end{document}
content/history/set-theory/cantor-plane.tex
1\documentclass[../../../include/open-logic-section]{subfiles}23\begin{document}45\olfileid{his}{set}{cantorplane}6\olsection{Cantor on the Line and the Plane}78Some of the circumstances surrounding the proof of9Schr\"oder-Bernstein tie in with the history we discussed in10\olref[his][set][pathology]{sec}. Recall that, in 1877,11Cantor proved that there are exactly as many points on a square as on12one of its sides. Here, we will present his (first attempted) proof.1314Let $\unitline$ be the unit line, i.e., the set of points $[0,1]$. Let15$\unitsquare$ be the unit square, i.e., the set of points $\unitline16\times \unitline$. In these terms, Cantor proved that17$\cardeq{\unitline}{\unitsquare}$. He wrote a note to Dedekind,18essentially containing the following argument.1920\begin{thm}\ollabel{thm:cantorplane}21$\cardeq{\unitline}{\unitsquare}$22\end{thm}2324\begin{proof}[Proof: first part.] 25Fix $a, b \in \unitline$. Write them in binary notation, so that we26have infinite sequences of $0$s and $1$s, $a_1$, $a_2$, \dots, and27$b_1$, $b_2$, \dots, such that:28\begin{align*}29a &= 0.a_1a_2a_3a_4\dots\\30b &= 0.b_1b_2b_3b_4\dots31\intertext{Now consider the function $f \colon \unitsquare \to \unitline$ given by} 32f(a, b) & = 0.a_1b_1a_2b_2a_3b_3a_4b_4\dots33\end{align*}34Now $f$ is !!a{injection}, since if $f(a, b) = f(c,d)$, then $a_n =35c_n$ and $b_n = d_n$ for all $n \in \Nat$, so that $a = c$ and $b =36d$.37\end{proof}3839Unfortunately, as Dedekind pointed out to Cantor, this does not answer40the original question. Consider $0.\dot{1}\dot{0} =410.1010101010\ldots$. We need that $f(a,b) = 0.\dot{1}\dot{0}$, where:42\begin{align*}43a&= 0.\dot{1}\dot{1} = 0.111111\ldots\\44b&= 045\end{align*}46But $a = 0.\dot{1}\dot{1} = 1$. So, when we say ``write $a$ and $b$ in47binary notation'', we have to choose \emph{which} notation to use;48and, since $f$ is to be a \emph{function}, we can use only \emph{one}49of the two possible notations. But if, for example, we use the simple50notation, and write $a$ as ``$1.000\ldots$'', then we have no pair51$\tuple{a, b}$ such that $f(a, b) = 0.\dot{1}\dot{0}$. 5253To summarise: Dedekind pointed out that, given the possibility of54certain recurring decimal expansions, Cantor's function $f$ is55!!a{injection} but \emph{not} !!a{surjection}. So Cantor has shown56only that $\cardle{\unitsquare}{\unitline}$ and \emph{not} that57$\cardeq{\unitsquare}{\unitline}$. 5859Cantor wrote back to Dedekind almost immediately, essentially60suggesting that the proof could be completed as follows:6162\begin{proof}[Proof: completed.] 63So, we have shown that $\cardle{\unitsquare}{\unitline}$. But there is64obviously !!a{injection} from $\unitline$ to $\unitsquare$: just lay65the line flat along one side of the square. So66$\cardle{\unitline}{\unitsquare}$ and67$\cardle{\unitsquare}{\unitline}$. By Schr\"{o}der--Bernstein68(\olref[sfr][siz][sb]{thm:schroder-bernstein}),69$\cardeq{\unitline}{\unitsquare}$.70\end{proof}7172But of course, Cantor could not complete the last line in these terms,73for the Schr\"{o}der-Bernstein Theorem was not yet proved. Indeed,74although Cantor would subsequently formulate this as a general75conjecture, it was not satisfactorily proved until 1897. (And so,76later in 1877, Cantor offered a different proof of77\olref{thm:cantorplane}, which did not go via78Schr\"{o}der--Bernstein.)7980\end{document}
content/history/set-theory/hilbert-curve.tex
1\documentclass[../../../include/open-logic-section]{subfiles}23\begin{document}45\olfileid{his}{set}{hilbertcurve}67\olsection{Appendix: Hilbert's Space-filling Curves}89In chapter \olref[pathology]{sec}, we mentioned that Cantor's proof that10a line and a square have exactly the same number of points11(\olref[his][set][cantorplane]{thm:cantorplane}) prompted Peano to12ask whether there might be a space-filling \emph{curve}. He obtained a13positive answer in 1890. In this section, we explain (in a14hand-wavy way) how to construct Hilbert's space-filling curve (with a15tiny tweak).\footnote{For a more rigorous explanation, see16\cite{Rose2010}. The tweak amounts to the inclusion of the red17parts of the curves below. This makes it slightly easier to check that18the curve is continuous.}1920We must define a function, $h$, as the limit of a sequence of functions $h_1$, $h_2$, $h_3$, \dots\@ We first describe the construction. Then we show it is space-filling. Then we show it is a curve. 2122We will take $h$'s range to be the unit square, $\unitsquare$. Here is our first approximation to $h$, i.e., $h_1$:23\begin{center}24 \begin{tikzpicture}25 \draw[gray] (0pt, 0pt) rectangle (80pt, 80pt);26 \draw[step = 40pt, gray, very thin] (0pt, 0pt) grid (80pt, 80pt);27 \draw[oldiagcolorC, thick] (20pt, 0)--(20pt, 20pt);28 \draw[oldiagcolorC, thick] (60pt, 0)--(60pt, 20pt); 29 \begin{scope}[xshift=20pt, yshift=20pt]30 \draw [black, thick, l-system={Hilbert curve, step=40pt, angle=90, axiom=L, order=1}] lindenmayer system;31 \end{scope}32 \end{tikzpicture}33\end{center}34To keep track of things, we have imposed a $2 \times 2$ grid on the square. We can think of the curve starting in the bottom left quarter, moving to the top left, then to the top right, then finally to the bottom right. Here is the second stage in the construction, i.e., $h_2$:35\begin{center}36 \begin{tikzpicture}37 \draw[gray] (0pt, 0pt) rectangle (80pt, 80pt);38 \draw[step = 20pt, gray, very thin] (0pt, 0pt) grid (80pt, 80pt);39 \draw[oldiagcolorC, thick] (0pt, 10pt)--(10pt, 10pt);40 \draw[oldiagcolorC, thick] (70pt, 10pt)--(80pt, 10pt);41 \draw[thick, oldiagcolorE] (10pt, 30pt)--(10pt, 50pt); 42 \draw[thick, oldiagcolorE] (30pt, 50pt)--(50pt, 50pt); 43 \draw[thick, oldiagcolorE] (70pt, 50pt)--(70pt, 30pt); \begin{scope}[xshift=10pt, yshift=30pt]44 \draw [thick, rotate=270,black, l-system={Hilbert curve, step=20pt, angle=90, axiom=L, order=1}] lindenmayer system;45 \end{scope}46 \begin{scope}[xshift=10pt, yshift=50pt]47 \draw [thick, black, l-system={Hilbert curve, step=20pt, angle=90, axiom=L, order=1}] lindenmayer system;48 \end{scope}49 \begin{scope}[xshift=50pt, yshift=50pt]50 \draw [thick, black, l-system={Hilbert curve, step=20pt, angle=90, axiom=L, order=1}] lindenmayer system;51 \end{scope}52 \begin{scope}[xshift=70pt, yshift=10pt]53 \draw [thick, rotate=90,black, l-system={Hilbert curve, step=20pt, angle=90, axiom=L, order=1}] lindenmayer system;54 \end{scope}55 \end{tikzpicture}56\end{center}57The different colours will help explain how $h_2$ was constructed. We first place scaled-down copies of the non-!!{colorC} bit of $h_1$ into the bottom left, top left, top right, and bottom right of our square (drawn in black). We then connect these four figures (with !!{colorE} lines). Finally, we connect our figure to the boundary of the square (with !!{colorC} lines).5859Now to $h_3$. Just as $h_2$ was made from four connected, scaled-down copies of the non-red bit of $h_1$, so $h_3$ is made up of four scaled-down copies of the non-red bit of $h_2$ (drawn in black), which are then joined together (with !!{colorE} lines) and finally connected to the boundary of the square (with !!{colorC} lines).60\begin{center}61 \begin{tikzpicture}62 \draw[gray] (0pt, 0pt) rectangle (80pt, 80pt);63 \draw[step = 10pt, gray, very thin] (0pt, 0pt) grid (80pt, 80pt);64 \draw[thick, oldiagcolorC](5pt, 0pt)--(5pt, 5pt); 65 \draw[thick, oldiagcolorC] (75pt, 0pt)--(75pt, 5pt); 66 \draw[thick, oldiagcolorE] (75pt, 45pt)--(75pt, 35pt);67 \draw[thick, oldiagcolorE] (5pt, 35pt)--(5pt, 45pt); 68 \draw[thick, oldiagcolorE] (35pt, 45pt)--(45pt, 45pt); 69 \draw[thick, oldiagcolorE] (75pt, 45pt)--(75pt, 35pt); \begin{scope}[xshift=5pt, yshift=35pt]70 \draw [rotate=270, thick, black, l-system={Hilbert curve, step=10pt, angle=90, axiom=L, order=2}] lindenmayer system;71 \end{scope}72 \begin{scope}[xshift=5pt, yshift=45pt]73 \draw [thick, black, l-system={Hilbert curve, step=10pt, angle=90, axiom=L, order=2}] lindenmayer system;74 \end{scope}75 \begin{scope}[xshift=45pt, yshift=45pt]76 \draw [thick, black, l-system={Hilbert curve, step=10pt, angle=90, axiom=L, order=2}] lindenmayer system;77 \end{scope}78 \begin{scope}[xshift=75pt, yshift=5pt]79 \draw [thick, rotate=90,black, l-system={Hilbert curve, step=10pt, angle=90, axiom=L, order=2}] lindenmayer system;80 \end{scope}81 \end{tikzpicture}82\end{center}83And now we see the general pattern for defining $h_{n+1}$ from $h_n$.84At last we define the curve $h$ \emph{itself} by considering the85point-by-point limit of these successive functions $h_1$, $h_2$,86\dots\@ That is, for each $x \in \unitsquare$:87\begin{align*}88 h(x) &= \lim_{n \rightarrow \infty} h_n(x)89\end{align*} 90We now show that this curve fills space. When we draw the curve $h_n$,91we impose a $2^n \times 2^n$ grid onto $\unitsquare$. By Pythagoras's92Theorem, the diagonal of each grid-location is of length:93\[94\sqrt{\left(\nicefrac{1}{2^{n}}\right)^2+\left(\nicefrac{1}{2^{n}}\right)^2} = 2^{(\frac{1}{2}-n)}95\]96and evidently $h_n$ passes through every grid-location. So each point97in $\unitsquare$ is \emph{at most} $2^{(\frac{1}{2}-n)}$ distance away98from some point on $h_n$. Now, $h$ is defined as the limit of the99functions $h_1$, $h_2$, $h_3$, \dots\@ So the maximum distance of any100point from $h$ is given by:101\[102\lim_{n \rightarrow \infty} 2^{(\frac{1}{2}-n)} = 0.103\]104That is: every point in $\unitsquare$ is $0$ distance from~$h$. In105other words, every point of $\unitsquare$ lies \emph{on} the curve. So $h$106fills space!{}107108It remains to show that $h$ is, indeed, a \emph{curve}. To show this,109we must define the notion. The modern definition builds on one given110by Jordan in 1887 (i.e., only a few years before the first111space-filling curve was provided): 112113\begin{defn}114A curve is a continuous map from $\unitline$ to $\Real^2$. 115\end{defn}116117This is fairly intuitive: a curve is, intuitively, a ``smooth'' map118which takes a canonical line onto the plane $\Real^2$. Our function,119$h$, is indeed a map from $\unitline$ to $\Real^2$. So, we just need120to show that $h$ is continuous. We defined continuity in121\olref[limits]{sec} using $\epsilon$/$\delta$ notation. In the122vernacular, we want to establish the following: \emph{If you specify a123point $p$ in $\unitsquare$, together with any desired level of124precision $\epsilon$, we can find an open section of $\unitline$ such125that, given any $x$ in that open section, $h(x)$ is within $\epsilon$126of $p$.}127128So: assume that you have specified $p$ and $\epsilon$. This is, in129effect, to draw a circle with centre $p$ and radius $\epsilon$ on130$\unitsquare$. (The circle might spill off the edge of $\unitsquare$,131but that doesn't matter.) Now, recall that, when describing the132function $h_n$, we drew a $2^n \times 2^n$ grid upon $\unitsquare$. It133is obvious that, no matter how small $\epsilon$ is, there is some $n$134such that some individual grid-location of the $2^n \times 2^n$ grid135on $\unitsquare$ lies wholly within the circle with centre $p$ and136radius $\epsilon$. 137138So, take that $n$, and let $I$ be the largest open part of $\unitline$139which $h_n$ maps wholly into the relevant grid location. (It is clear140that $(a,b)$ exists, since we already noted that $h_n$ passes through141every grid-location in the $2^n\times 2^n$ grid.) It now suffices to142show to show that, whenever $x \in I$ the point $h(x)$ lies in that143same grid-location. And to do \emph{this}, it suffices to show that144$h_m(x)$ lies in that same grid location, for any $m > n$. But this is145obvious. If we consider what happens with $h_m$ for $m > n$, we see146that exactly the ``same part'' of the unit interval is mapped147into the same grid-location; we just map it into that region in an148increasingly stretched-out, wiggly fashion. 149150\end{document}