|
4 | 4 | \usepackage[T1]{fontenc} |
5 | 5 | \usepackage{lmodern} |
6 | 6 | \usepackage[margin=1in]{geometry} |
7 | | -\usepackage{amsmath,amssymb,amsthm} |
| 7 | +\usepackage{amsmath,amssymb,amsthm,mathtools} |
8 | 8 | \usepackage{hyperref} |
9 | 9 | \usepackage{xcolor} |
10 | 10 | \usepackage{enumitem} |
11 | 11 |
|
| 12 | +\usepackage[]{minted} |
| 13 | +\newcommand{\lean}[1]{\mintinline{lean}{#1}} |
| 14 | + |
| 15 | +\DeclarePairedDelimiter{\abs}{\lvert}{\rvert} |
| 16 | +\newcommand*{\ud}{\, \mathrm{d}} |
| 17 | +\newcommand*{\complex}{\mathbb{C}} % set of complex numbers |
| 18 | +\newcommand*{\real}{\mathbb{R}} % the set of real numbers |
| 19 | +\newcommand{\nnreal}{\real_{\ge0}} |
| 20 | +\newcommand{\ennreal}{\overline{\real_{\ge0}}} |
| 21 | + |
| 22 | +% These options can be changed later; these may be personal preferences. |
12 | 23 | \hypersetup{ |
| 24 | + bookmarks,bookmarksopen,bookmarksnumbered, |
13 | 25 | colorlinks = true, |
14 | 26 | linkcolor = blue, |
15 | | - citecolor = blue, |
16 | | - urlcolor = blue |
| 27 | + citecolor = red, |
| 28 | + urlcolor = grey, |
| 29 | + breaklinks |
17 | 30 | } |
18 | | - |
| 31 | +% maxbibnames: List all authors in the bibliography for up to 5 authors. Use up to 4 names for determining the label. Choose alphabetical style. |
| 32 | +\usepackage[backend=biber,maxbibnames=5,maxalphanames=4,style=alphabetic]{biblatex} |
| 33 | +\usepackage[autostyle]{csquotes} |
| 34 | +\addbibresource{references.bib} |
19 | 35 |
|
20 | 36 | \title{\textbf{Formalizing Carleson's Theorem in Lean}} |
21 | 37 | \author{Authors} |
@@ -103,13 +119,36 @@ \subsection{The blueprint writing process}\label{subsec:blueprint_writing} |
103 | 119 | \end{itemize} |
104 | 120 |
|
105 | 121 | \subsection{Changes and refinements}\label{subsec:blueprint_changes} |
106 | | -\begin{itemize} |
107 | | - \item $I \leq J$ vs.\ $I \subset J$. |
108 | | - \item Real interpolation theorem. |
109 | | - \item Hardy--Littlewood maximal function for finite vs.\ countable balls. |
110 | | - \item Just one top cube. |
111 | | - \item Constant tweaking. |
112 | | -\end{itemize} |
| 122 | + |
| 123 | +Throughout the formalisation process, most of the blueprint only needed minor changes, such as fixing typos of clarifications of minor details. Let us highlight four aspects where formalisation resulted in more substantial changes or refinements. |
| 124 | + |
| 125 | +\subsubsection{$I \leq J$ vs.\ $I \subset J$} |
| 126 | +To be written! |
| 127 | + |
| 128 | +\subsubsection{Just one top cube} To be written! |
| 129 | + |
| 130 | +\subsubsection{The Hardy--Littlewood maximal function} One main ingredient in the proof is a Vitali covering argument, using the Hardy--Littlewood maximal function. |
| 131 | +To recall: given $f\colon\real^d\to\complex$, the Hardy–Littlewood maximal function $M f$ of $f$ is usually defined as |
| 132 | +\begin{equation*} |
| 133 | +Mf\colon\real \to\ennreal, \quad x\mapsto \sup_{r>0}\frac{1}{|B(x,r)|}\int_{B(x,r)}|f(y)|\,dy. |
| 134 | +\end{equation*} |
| 135 | +If $f$ is integrable, then $M f$ is (weak) $L^1$, and hence finite almost everywhere. Initially, the blueprint only used a variant taking a supremum over finitely many balls: this ensured the resulting function was \emph{always} finite, hence real-valued. Applying it to a countable collection of balls required taking a limit and using the monotone convergence theorem. |
| 136 | +This is a somewhat inelegant solution: most results about the maximal function do hold for any suprema, hence should be proven in the appropriate generality. We also prefer to avoid a superfluous limiting argument. |
| 137 | + |
| 138 | +For the formal proof, we changed the definition to allow arbitrary suprema: this means the maximal function is $[0,\infty]$-valued. Being able to speak of $L^p$-functions valued in $[0,\infty]$ prompted the introduction of \emph{extended norms}, see Subsection~\ref{subsec:enorm}. |
| 139 | + |
| 140 | +\subsubsection{The real interpolation theorem} |
| 141 | +The Marcinkiewicz real interpolation theorem is a standard result in functional analysis. |
| 142 | +It is also a key prerequisite for the proof of Carleson's theorem: for example, it is applied to the Hardy–Littlewood maximal function to deduce it is of strong type $L^p$, for $p\in(0,\infty)$. |
| 143 | +Our formalised version aims to reduce superfluous assumptions commonly found in the mathematical literature. For instance, it applies to any sub-additive function (not merely sub-linear ones) --- that is, there is no need for a scalar multiplication on the target. Similarly, any positive exponent $p$ is allowed (as opposed to demanding $p\geq 1$). |
| 144 | + |
| 145 | +In light of generalising the Hardy--Littlewood maximal function, this proof had to be generalised again: |
| 146 | +applying it to the maximal functions requires a version which applies to functions with co-domain $[0, \infty]$ (or, more generally, any commutative monoid with a compatible enorm). |
| 147 | +In return for a significant amount of refactoring work\footnote{the initial formalisation was about 5000 lines long; the generalisation touched about 2000 of them}, |
| 148 | +we have formalised a more general argument that is also conceptually clearer: for instance, it demonstrates that the subtractive structure on the co-domain is not used in a meaningful way. |
| 149 | +For further detail, we refer the reader to a separate article \cite{PortegiesRothgangRealInterpolation}. |
| 150 | + |
| 151 | +\subsection{Constant tweaking} To be written! |
113 | 152 |
|
114 | 153 | \subsection{Dealing with mistakes}\label{subsec:blueprint_mistakes} |
115 | 154 | \begin{itemize} |
@@ -140,6 +179,25 @@ \subsection{Working with real numbers}\label{subsec:real} |
140 | 179 |
|
141 | 180 | \subsection{Use of \texttt{ENorm}}\label{subsec:enorm} |
142 | 181 |
|
| 182 | +This project motivated the creation of a new formalisation abstraction: \emph{extended norms} (\lean{enorm}s for short) generalise many results from normed spaces to $\ennreal$. |
| 183 | +Their introduction was motivated by defining the Hardy--Littlewood maximal with co-domain $\ennreal=[0,\infty]$ (see Subsection~\ref{subsec:blueprint_changes}). |
| 184 | +Previously, a statement ``$f\in L^p$'' was only defined for functions $f\colon X\to E$ from a measure space $X$ to a normed space $E$. Speaking about the maximal function being in weak $L^p$ requires a notion of $L^p$ functions with target $\ennreal$. Fortunately, many basic facts about Lp functions do not require the target to be a normed space and have reasonable analogues for $\ennreal$: for instance, the $L^p$ norm of $f\colon X\to\ennreal$ for $p<\infty$ can be defined as $(\int_X \abs{f(x)}^p \ud x)^{1/p}$, where the integrand is the function $X\to[0,\infty], x\mapsto \abs{f(x)}^p$. |
| 185 | + |
| 186 | +Motivated by this observation, we introduced a new notation class \lean{ENorm}, describing a type endowed with a function \lean{enorm} $X\to\ennreal$. |
| 187 | +This captures both normed spaces and $\ennreal$. The enorm of a normed space is the ambient norm, considered as a function into $\ennreal$; the enorm on $\ennreal$ is the identity function. |
| 188 | +Some definitions only require the existence of an enorm; many results require suitable compatibility conditions. %(For instance, on an abelian monoid $\alpha$ endowed with an enorm, we may require the enorm to respect the triangle inequality with respect to addition and be positive definite, or ask for the enorm to be continuous.) |
| 189 | +Most lemmas necessary in this project only require an \lean{ENormedAddCommMonoid}, i.e.\ an abelian monoid endowed with a continuous enorm that is positive definite and satisfies the triangle inequality. Many lemmas, in fact, only require slightly weaker assumptions. |
| 190 | + |
| 191 | +Pursuing this approach required generalising all necessary definitions to \lean{enorm}s, as well as all basic results that are required in this project. This was a significant effort, but the verified nature of formalisation helped a lot by allowing to do so incrementally: in a first step, the new definition was added (together with the enorm instance on normed spaces). Then, all basic definitions were changed to allow an \lean{enorm} as codomain, whenever this did not require further changes. A third step modified many lemma statements to use \lean{enorm}s instead of norms. |
| 192 | +%; while massive, this actually led to simplifications. |
| 193 | +The final phase involved generalising lemmas: often, this required small changes (such as, constants changing from a real to an extended real number, or adding a hypothesis about some quantity in $\ennreal$ being finite). At each point, verification ensured correctness: if all proofs still compiled, no more changes needed to be made. |
| 194 | + |
| 195 | +To illustrate the magnitude of this refactoring, let us give some statistics: phase two (changing the basic definitions) changed about 300 lines of code; phase three (changing lemma statements to enorms) about 1000, and the lemma generalisations so far touched about 2500 lines of code. |
| 196 | + |
| 197 | +The last phase (generalising mathlib lemmas) is not exhaustive: while substantial parts of mathlib have been generalised, some areas would require further refactor (and will follow as needed). To give an example, the total variation of a path in $\ennreal$ is a sensible quantity, even though $\ennreal$ is not a metric space. Introducing a weaker notion of extended metric spaces will enable new applications, and also provide the proper abstraction to state many scalar multiplication lemmas nicely. This is an ongoing effort by Felix Pernegger. |
| 198 | + |
| 199 | +The process of generalisation revealed that this abstraction is also useful on its own: previously, many proofs in mathlib involved converting between norms taking values in $\real$ or $\nnreal$; using enorms provides a useful common denominator. At the same time, it illustrates how the right abstractions can avoid duplicating work, while providing a useful clarification to mathematics. |
| 200 | + |
143 | 201 | \subsection{Working with $L^p$ functions}\label{subsec:Lp} |
144 | 202 | \begin{itemize} |
145 | 203 | \item Working with \texttt{MemLp}, not functions on \texttt{Lp}. |
@@ -169,7 +227,8 @@ \section{Conclusion}\label{sec:conclusion} |
169 | 227 | \end{itemize} |
170 | 228 | \end{itemize} |
171 | 229 |
|
172 | | -\bibliographystyle{plain} |
173 | | -\bibliography{references} |
| 230 | +%\bibliographystyle{plain} |
| 231 | +%\bibliography{references} |
| 232 | +\printbibliography |
174 | 233 |
|
175 | 234 | \end{document} |
0 commit comments