-
Notifications
You must be signed in to change notification settings - Fork 3
/
algar-lecture-notes.tex
1794 lines (1548 loc) · 83.3 KB
/
algar-lecture-notes.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
\documentclass[10pt,reqno,a4paper,openany]{amsbook}
\usepackage{etex}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{etoolbox,chngcntr}
\usepackage{amsmath,amsthm,amssymb,array,stmaryrd,color,graphicx,mathtools,multirow,setspace}
\usepackage{soul}\setul{0.3ex}{}
\usepackage{bussproofs}
\usepackage{manfnt}
\usepackage{xspace}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage[protrusion=true,expansion=true]{microtype}
\usepackage[bookmarksdepth=2,pdfencoding=auto]{hyperref}
\graphicspath{{images/}}
\usepackage{libertine}
% Hack to load extpfeil from https://tex.stackexchange.com/a/297109/32372
\expandafter\def\csname [email protected]\endcsname
{only,shortleftarrow,shortrightarrow}
\usepackage{extpfeil}
\newextarrow{\xbigtoto}{{20}{20}{20}{20}}
{\bigRelbar\bigRelbar{\bigtwoarrowsleft\rightarrow\rightarrow}}
\usepackage[all]{xy}
\usepackage{tikz}
\usetikzlibrary{calc,shapes.callouts,shapes.arrows,matrix,patterns}
\newcommand{\hcancel}[5]{%
\tikz[baseline=(tocancel.base)]{
\node[inner sep=0pt,outer sep=0pt] (tocancel) {#1};
\draw[red, line width=0.3mm] ($(tocancel.south west)+(#2,#3)$) -- ($(tocancel.north east)+(#4,#5)$);
}%
}
\usepackage{pifont}
\newcommand{\cmark}{\ding{51}}
\newcommand{\xmark}{\ding{55}}
\usepackage[natbib=true,style=numeric,maxnames=10]{biblatex}
\usepackage[babel]{csquotes}
\bibliography{algar-lecture-notes}
\theoremstyle{definition}
\newtheorem{defn}{Definition}[chapter]
\newtheorem{ex}[defn]{Example}
\theoremstyle{plain}
\newtheorem{prop}[defn]{Proposition}
\newtheorem{cor}[defn]{Corollary}
\newtheorem{lemma}[defn]{Lemma}
\newtheorem{thm}[defn]{Theorem}
\newtheorem{scholium}[defn]{Scholium}
\theoremstyle{remark}
\newtheorem{rem}[defn]{Remark}
\newtheorem{question}[defn]{Question}
\newtheorem{speculation}[defn]{Speculation}
\newtheorem{caveat}[defn]{Caveat}
\newtheorem{conjecture}[defn]{Conjecture}
\newcommand{\ZZ}{\mathbb{Z}}
\newcommand{\FF}{\mathbb{F}}
\renewcommand{\AA}{\mathbb{A}}
\newcommand{\A}{\mathcal{A}}
\newcommand{\B}{\mathcal{B}}
\newcommand{\CCC}{\mathcal{C}}
\newcommand{\D}{\mathcal{D}}
\newcommand{\EEE}{\mathcal{E}}
\newcommand{\F}{\mathcal{F}}
\newcommand{\G}{\mathcal{G}}
\let\acuteH\H
\newcommand{\konig}{K\acuteH onig}
\renewcommand{\H}{\mathcal{H}}
\newcommand{\OOO}{\mathcal{O}}
\newcommand{\K}{\mathcal{K}}
\newcommand{\N}{\mathcal{N}}
\newcommand{\M}{\mathcal{M}}
\renewcommand{\L}{\mathcal{L}}
\renewcommand{\P}{\mathcal{P}}
\newcommand{\R}{\mathcal{R}}
\newcommand{\T}{\mathcal{T}}
\newcommand{\I}{\mathcal{I}}
\newcommand{\J}{\mathcal{J}}
\renewcommand{\S}{\mathcal{S}}
\newcommand{\U}{\mathcal{U}}
\newcommand{\V}{\mathcal{V}}
\newcommand{\NN}{\mathbb{N}}
\newcommand{\PP}{\mathbb{P}}
\newcommand{\RR}{\mathbb{R}}
\newcommand{\CC}{\mathbb{C}}
\newcommand{\QQ}{\mathbb{Q}}
\newcommand{\GG}{\mathbb{G}}
\newcommand{\TT}{\mathbb{T}}
\newcommand{\aaa}{\mathfrak{a}}
\newcommand{\bbb}{\mathfrak{b}}
\newcommand{\ccc}{\mathfrak{c}}
\newcommand{\ppp}{\mathfrak{p}}
\newcommand{\qqq}{\mathfrak{q}}
\newcommand{\mmm}{\mathfrak{m}}
\newcommand{\nnn}{\mathfrak{n}}
\newcommand{\?}{\,{:}\,}
\renewcommand{\_}{\mathpunct{.}\,}
\newenvironment{indentblock}{%
\list{}{\leftmargin\leftmargin}%
\item\relax
}{%
\endlist
}
\newcommand{\defeq}{\vcentcolon=}
\newcommand{\defequiv}{\vcentcolon\equiv}
\newcommand{\seq}[1]{\mathrel{\vdash\!\!\!_{#1}}}
\definecolor{gray}{rgb}{0.7,0.7,0.7}
\title{The curious world of constructive mathematics}
\author{Ingo Blechschmidt \vspace*{-2em}}
%\email{[email protected]}
\makeatletter
\counterwithout{section}{chapter}
\counterwithout{footnote}{chapter}
\counterwithout{table}{chapter}
\counterwithout{figure}{chapter}
\patchcmd{\@thm}{\let\thm@indent\indent}{\let\thm@indent\noindent}{}{}
\patchcmd{\@thm}{\thm@headfont{\scshape}}{\thm@headfont{\bfseries}}{}{}
\patchcmd{\@makechapterhead}{\chaptername}{Lecture}{}{}
\patchcmd{\@chapter}{\chaptername}{Part}{}{}
\patchcmd{\@schapter}{\chaptername}{Part}{}{}
\addto\captionsenglish{\renewcommand\chaptername{Lecture}}
\def\l@section{\@tocline{1}{0pt}{1pc}{}{}} % \bfseries}}
\def\l@chapter{\@tocline{-1}{12pt}{0pt}{}{\bfseries}}
\renewcommand\thechapter{\Roman{chapter}}
\newcommand{\nocontentsline}[3]{}
\newcommand{\tocless}[1]{\let\addcontentsline=\nocontentsline}
\normalparindent=12pt
\parindent=\normalparindent
\renewenvironment{proof}[1][\proofname]{\par
\pushQED{\qed}%
\normalfont \topsep6\p@\@plus6\p@\relax
\trivlist
\item[\hskip\labelsep
\itshape
#1\@addpunct{.}]\ignorespaces
}{%
\popQED\endtrivlist\@endpefalse
}
\let\@afterindenttrue\@afterindentfalse
\def\subsection{\@startsection{subsection}{2}%
{0pt}{.5\linespacing\@plus.7\linespacing}{-.5em}%
{\normalfont\bfseries}}
\makeatother
\newenvironment{intro}{\begin{quote}}{\end{quote}\bigskip\noindent}
\newtheorem{exercise}{Exercise}[chapter]
\renewcommand{\theenumi}{\alph{enumi}}
\urlstyle{sf}
\newcommand{\cl}{\mathrm{cl}}
\newcommand{\notnot}{\emph{not~not}\xspace}
\newcommand{\Sh}{\mathrm{Sh}}
\newcommand{\Set}{\mathrm{Set}}
\begin{document}
\begin{abstract}
Constructive mathematics is a flavor of mathematics in which we use the
axiom of choice and the technique of proof by contradiction only in
certain special cases. The square root of two is constructively still
irrational, but there might be vector spaces without a basis.
As a result, proofs are more informative (for instance regarding
bounds), finer distinctions can be made (for instance between positive
existence and mere impossibility of non-existence) and results apply
more generally: Every constructive result also has a geometric
interpretation, where it applies to continuous families, and an
algorithmic interpretation, yielding computational witnesses such as
procedures for computing the objects whose existence has been shown.
Relinquishing the axiom of choice and the principle of excluded middle also
allows us to explore axioms and notions which are incompatible with
these classical laws, such as mathematical settings in which all
functions are continuous or in which the intuitive idea of a ``generic
ring'' can be put on a firm basis.
\end{abstract}
{
\renewcommand{\newpage}{\ }
\renewcommand{\vfill}{\ }
\renewcommand{\vfil}{\ }
\enlargethispage{7em}
{\vspace*{-6em}\centering\includegraphics[width=0.3\textwidth]{phantoms}\par}
\maketitle
}
\setcounter{tocdepth}{1}
{
\renewcommand{\newpage}{\ }
\tableofcontents
}
\thispagestyle{empty}
\chapter{A first glimpse of constructive mathematics}
\begin{intro}
\it
This lecture provides a first glimpse of constructive mathematics with a
focus on applications of constructive mathematics and on providing
intuition for quickly discerning which techniques and results hold
constructively.
This account is an update and translation of~\cite[Section~1]{blechschmidt:pizzaseminar}
and references
include~\cite{bauer:five-stages-video,bauer:five-stages-article,avigad:constructive,sep:intuitionistic-logic,dummett:basis,melikhov:intuitionistic-logic,streicher:constructive}
or more
specifically~\cite{mines-richman-ruitenburg:constructive-algebra,lombardi-quitte:constructive-algebra}
for constructive algebra and~\cite{bishop-bridges:bible} for constructive
analysis.
\end{intro}
\begin{prop}There are irrational numbers~$x$ and~$y$ such that~$x^y$ is
rational.
\end{prop}
\begin{proof}[First proof] The number~$\sqrt{2}^{\sqrt{2}}$ is rational or
irrational. In the first case, set~$x \defeq \sqrt{2}$, $y \defeq \sqrt{2}$.
In the second case, set~$x \defeq \sqrt{2}^{\sqrt{2}}$, $y \defeq \sqrt{2}$.
\end{proof}
\begin{proof}[Second proof] Set~$x \defeq \sqrt{2}$ and~$y \defeq \log_{\sqrt{2}} 3$.
Then~$x^y = 3$ is rational. The verification that~$y$ is irrational is even
easier than that of~$\sqrt{2}$.\footnote{Let~$y = a/b$ with~$a, b \in \ZZ$
and~$b \neq 0$. Since~$y > 0$, we may assume~$a, b \in \NN$. Then~$3 =
(\sqrt{2})^{a/b}$, hence~$3^{2b} = 2^a$. This is in contradiction to the
uniqueness of the prime factor decomposition, since the factor~$3$ occurs on
the left but not on the right.}
\end{proof}
The first proof is \emph{unconstructive}: It does not actually give us an
example for a pair~$(x,y)$ as desired. In contrast, the second proof is
constructive -- the existential claim is verified by an explicit construction
of a suitable example.
Of the many axioms and inference rules of classical logic, exactly one is
responsible for enabling unconstructive arguments, namely the \emph{principle
of excluded middle}:
\[ \varphi \ \vee\ \neg\varphi. \]
The first proof above used this principle in its very first step. In
constructive mathematics, we abstain from this principle; we build
constructive mathematics on \emph{intuitionistic logic}, which contains neither
this principle nor the (equivalent) \emph{principle of double negation
elimination} stating~$\neg\neg\varphi \Rightarrow \varphi$, and insofar as we
layer a set theory on top of our logical foundation, we abstain from the axiom
of choice (which in presence of other common set-theoretical axioms implies the
principle of excluded middle, see Exercise~\ref{ex:diaconescu}) and from Zorn's lemma. As a
consequence, we cannot generally reason by contradiction in constructive
mathematics, and to demonstrate the existence of an object
it is not enough that its nonexistence would entail a contradiction.
Importantly, in constructive mathematicics we do \emph{not} claim that the principle of
excluded middle is false. \marginpar{\dbend}
Indeed, intuitionistic logic is downwardly compatible
with classical logic (every intuitionistic proof is a fortiori also a classical
proof), and some special instances of the principle of excluded middle and with
it some special instances of proof by contradiction are
intuitionistically verifiable (an example is given in
Proposition~\ref{prop:discreteness}). Instead, in constructive mathematics we
merely do not use the principle of excluded middle.
Also, deducing from a statement of the form~``$\exists x \in X\_ \varphi(x)$''
that there actually is an element~$x \in X$ such that~$\varphi(x)$, and then
using this particular element in the rest of an argument, is intuitionistically a
valid logical inference, just as it is in classical logic. The axiom of choice
is unrelated to this kind of proof step, even though they are sometimes
mistaken.
\section{Proof by contradiction vs. proof of a negation}
A rumor about constructive mathematics states that constructively, the term
``contradiction'' would be generally forbidden. This rumor is false. In fact, we need
to distinguish between two distinct figures of proof which are often conflated
in classical informal mathematics:
\begin{enumerate}
\item[1.] ``Assume~$\neg\varphi$. Then $\ldots$, a contradiction.
Hence~$\neg\varphi$ was false and thus~$\varphi$ holds.''
\item[2.] ``Assume~$\psi$. Then $\ldots$, a contradiction. Hence~$\neg\psi$.''
\end{enumerate}
Arguments of the first form are proper proofs by contradiction and hence not
generally accepted in constructive mathematics. What they establish is
only~$\neg(\neg\varphi)$, the impossibility of~$\neg\varphi$; constructively,
this is weaker than a positive affirmation of~$\varphi$. Though there are
situations in which~$\neg\neg\varphi$ implies~$\varphi$, generally it does not
and hence intuitionistically arguments of the first form fail to
estabilish~$\varphi$.
In contrast, arguments of the second kind are fine from an intuitionistic point
of view: They do not constitute proper proofs by contradiction, but instead are proofs of negated
statements. That such proofs are valid follows directly from the definition of
negation as a certain
implication (which, incidentally, texts on classical logic often also adopt):
\[ \neg\psi \defequiv (\psi \Rightarrow \bot), \]
where~``$\bot$'', pronounced ``bottom'', is \emph{absurdity}, a canonical false
statement. (Informally, absurdity is also written as~``$\lightning$'' or~``$1 = 0$''.)
Hence, to establish~$\neg\psi$, we may give a proof of~$\bot$ under
the assumption~$\psi$, just as we may give a proof of~$\beta$ under the
assumption~$\alpha$ if we want to prove~$\alpha \Rightarrow \beta$.
The two proofs below of the following fact from number theory demonstrate the
difference:
\begin{prop}\label{prop:sqrt2}The number~$\sqrt{2}$ is not rational.\end{prop}
\begin{proof}[Proof (only valid classically)]
Assume that the claim is false, that is, that the number~$\sqrt{2}$ is
\emph{not not} rational. Then~$\sqrt{2}$ is rational. Hence there are
integers~$a$ and~$b$ with~$\sqrt{2} = a / b$. Thus~$2b^2 = a^2$. This identity
contradicts the uniqueness of the prime factor decomposition, since the
factor~$2$ occurs an odd number of times on the left but an even number of
times on the right.
\end{proof}
\begin{proof}[Proof (also valid intuitionistically)]
Assume that the number~$\sqrt{2}$ is rational. Then there are integers~$a$
and~$b$, \ldots, a contradiction.
[The requisite theorem on the uniqueness of the prime factor decomposition admits an
intuitionistic proof.]
\end{proof}
Constructively stronger than the statement that~$\sqrt{2}$ is merely
\emph{not rational} is the statement that for every rational number~$x$
the distance~$|\sqrt{2} - x|$ is positive. This stronger claim admits an
intuitionistic proof as well (Exercise~\ref{ex:sqrt2}).
\section{Constructive meaning of mathematical statements}
By our training in classical mathematics, abstaining from the principle of
excluded middle can feel peculiar, perhaps even outrageous: Isn't it obvious
that every mathematical statement is true or false?
This sense of bewilderment is resolved by observing that \emph{even though
constructive mathematicians use the same logical symbols, they have a slightly
different meaning in mind.} When a constructive mathematician argues for some
statement~$\varphi$, they mean that they have an \emph{explicit witness}
for~$\varphi$. This shift in meaning from the classical interpretation is
elaborated by the \emph{Brouwer--Heyting--Kolmogorov interpretation} sketched
below. It is informal and philosophical in nature and not without
issues~\cite{artemov:bhk,sanz-piecha:critical-bhk,dalen:bhk}, but still a useful guide to
the constructive meaning of mathematical statements.
\subsection{The Brouwer--Heyting--Kolmogorov interpretation}
The notion of witnesses is compositional in nature and starts out with the notion of witnesses for \emph{atomic
statements}, those not built from substatements using the logical
connectives~$\wedge,\vee,\Rightarrow$ or the quantifiers~$\forall,\exists$. For
instance, in formal number theory, the atomic statements are of the form
``$s = t$'',
where~$s$ and~$t$ are terms for natural numbers; statements of this form are so
simple that we can check them directly so that witnesses don't need to supply
particular additional information. We hence decree that true atomic statements
have trivial witnesses and that false atomic statements have no witnesses at
all.
Table~\ref{table:bhk} explains how compound statements should be witnessed. For
instance, a witness of a statement of the form
\[ \forall n \? \NN\_ \bigl(\varphi(n) \Rightarrow \psi(n)\bigr) \]
is a rule explaining how, for every natural number~$n : \NN$, witnesses
for~$\varphi(n)$ give rise to witnesses for~$\psi(n)$.
\begin{table}
\centering
\small
\renewcommand{\arraystretch}{1.3}
\begin{tabular}{@{}rp{4.3cm}p{5.3cm}@{}}
\toprule
& {classical logic} & {intuitionistic logic}
\\\midrule
statement $\varphi$ & The statement $\varphi$ holds. & We have a witness for $\varphi$. \\
$\bot$ & A contradiction holds. & We have a witness for a contradiction. \\
$\varphi \wedge \psi$ & $\varphi$ and $\psi$ hold. & We have a witness for~$\varphi$ and for~$\psi$. \\
$\varphi \vee \psi$ & $\varphi$ or $\psi$ hold. & We have a witness for~$\varphi$ or for~$\psi$. \\
$\varphi \Rightarrow \psi$ & If~$\varphi$ holds, then so does~$\psi$. &
We can (uniformly) construct witnesses for~$\psi$ from witnesses
for~$\varphi$. \\
$\neg\varphi$ &
$\varphi$ does not hold. &
There is no witness for~$\varphi$. \\
$\forall x\?X\_ \varphi(x)$ & For all $x \? X$ it holds that~$\varphi(x).$ &
We can (uniformly) construct, for all~$x \? X$, witnesses for~$\varphi(x)$. \\
$\exists x\?X\_ \varphi(x)$ & \raggedright There is at least one~$x \? X$
such that~$\varphi(x)$ holds. & {\raggedright
We have a~$x \? X$ together with a witness for~$\varphi(x)$.} \\
\bottomrule
\end{tabular}
\caption{\label{table:bhk}Informal recursive definition of the notion of witnesses.}
\end{table}
\begin{ex}
According to the Brouwer--Heyting--Kolmogorov interpretation, the principle of
excluded middle states that we can construct, for every~$\varphi$,
either a witness for~$\varphi$ or a witness for~$\neg\varphi$. This claim is
obviously false.
\end{ex}
\begin{ex}
The BHK interpretation of a doubly negated statement~$\neg\neg\varphi$ is that
there is no witness for~$\neg\varphi$. This state of affairs does not entail
that we actually have a witness for~$\varphi$; in a sense, the
statement~$\varphi$ is only ``potentially true''.
\end{ex}
\begin{ex}\label{ex:key}
Assuming that we cannot find our apartment key, but know that it has to be
somewhere (because we used it last night to unlock the door), constructively we
can only defend the doubly negated statement
\[ \neg\neg (\exists x\_ \text{the key is at position~$x$}). \]
\end{ex}
\begin{ex}
We are running errands and are remembering that we need to fetch certain
ingredients. Unfortunately we don't recall any of them right now. Then we can
constructively defend the statement that the set of ingredients to fetch is not
empty, not however the stronger statement that this set is inhabited.
\end{ex}
\begin{ex}[\cite{sigfpe:katemoss,bbc:katemoss}]
A video surfaced depicting Kate Moss taking drugs, more precisely either drugs
of some type~A or drugs of some type~B. However from the video it wasn't clear
which type of drug it actually was. Hence there was no evidence for either type
of consumption; Kate Moss wasn't prosecuted.
\end{ex}
\begin{rem}The reference of an unspecified ``we'' in table~\ref{table:bhk}
renders our account of the BHK interpretation not only informal, but is also
somewhat misleading. As in classical mathematics, judgments of intuitionistic
logic do not actually depend on you, me or other mathematicians. It's perfectly
possible that statements which haven't yet been constructively verified admit
(as yet unknown) witnesses. More details can be found
in~\cite[pp.~42]{kohlenbach:applprooftheory} and
in~\cite{artemov:bhk,sanz-piecha:critical-bhk,dalen:bhk}. The
Brouwer--Heyting--Kolmogorov interpretation is made more formal and precise by
\emph{realizability theory}~\cite{bauer:realizability,oosten:realizability}.
\end{rem}
\subsection{The computability interpretation}
A second interpretation of mathematical statements suited for constructive
mathematics is given by the following motto: In a certain sense, \emph{we
accept a mathematical statement in constructive mathematics if and only if
there is a computer program witnessing it in finite time.} For instance, that
the statement
\[ \forall n \? \NN\_ \exists p \? \NN\_ p \geq n \wedge \text{$p$ is prime} \]
is valid in constructive mathematics corresponds to the fact that there is a
computer program which reads a number~$n$ as input and then, after some
computation, produces a prime number~$p \geq n$ as output (together with a
witness that~$p$ is in fact greater or equal than~$n$ and that~$p$ is prime).
For the motto to be correct, the notion of ``witnessed by a computer program''
has to be interpreted in sufficiently generous manner, not least because
uncountable and uncomputable structures have their place in constructive
mathematics just as in classical mathematics. A more formal rendition is
provided by the celebrated \emph{Curry--Howard correspondence} and
\emph{propositions as (some) types}.
\begin{rem}Constructive mathematics is emphatically not the same as computable
mathematics; in particular, there are statements which do admit a witness by a
computer program but which are rejected in (most schools of) constructive
mathematics (see Exercise~\ref{ex:markov}). The apparent tension with the motto
presented above is resolved in its more formal treatment. In any case, the two
subjects are closely related and their connection provides useful
intuition.\end{rem}
\subsection{The geometric interpretation}
A third interpretation of mathematical statements suited for constructive
mathematics, and of a substantially different kind than the BHK and the
computability interpretation, is provided by geometry. In a certain sense,
\emph{we accept a mathematical statement in constructive mathematics if and
only if it holds locally in continuous families}.
For instance, while it is a fact of classical mathematics that every complex
number has a square root, a fundamental observation in complex analysis is that
such roots cannot be picked in a locally continuous manner. Hence the standard
formulation of the fundamental theorem of algebra fails in constructive
mathematics.\footnote{More precisely, the fundamental theorem of algebra fails
for the complex numbers built from pairs of Dedekind reals. Constructively, the
reals built using Dedekind cuts are not the same as the reals built using
Cauchy sequences; in fact, the latter are a subset of the former and serve a
different purpose. Such a bifurcation of classically equivalent notions is
typical of constructive mathematics. The fundamental theorem of algebra is
correct for the flavor of complex numbers built from Cauchy
reals~\cite{ruitenburg:roots}, and also for the algebraic
numbers~\cite[Section~VII.4]{mines-richman-ruitenburg:constructive-algebra}
[XXX insert better references] and for complex polynomials (of either flavor)
which are separable. Furthermore, the fundamental theorem of algebra holds in
an approximate sense and in a multiset sense~\cite{richman:fta}, and the
standard version only requires mild choice
principles~\cite{bridges-richman-schuster:wcc}.} This example will be discussed
in more detail in Section~\ref{sect:fta}.
The geometric interpretation not only gives transparent explanations to the
logical subtleties of constructive mathematics, but is in a more precise form
also the workhorse of many modern applications of constructive mathematics to
mathematics in general. We will hence dedicate ample of space to the geometric
interpretation by devoting Lecture~\ref{lect:toposes} to it, and will discuss
some of its more advanced applications in Lecture~\ref{lect:generic}.
\section{Finer distinctions supported by constructive mathematics}
By relinquishing the blanket principle of excluded middle, constructive
mathematics allows us to make finer distinctions -- distinctions which are
hidden in classical mathematics, but carry algorithmic and geometric
significance. We have already seen one instance of this increased
expressiveness in Example~\ref{ex:key}: In classical mathematics, we are
trained to cancel double negations as soon as they arise, but constructively
there is a substantial difference between actually having a mathematical object
and merely knowing that its nonexistence is impossible.
\subsection{Decidability of equality}
A further examples pertains to the basic notion of equality. In classical
mathematics, any given elements~$a,b$ of a set~$X$ are either equal or not --
trivially so, by the principle of excluded middle. Constructively, the
situation is more nuanced.
Firstly, in a positive direction, we do have the following result.
\begin{prop}\label{prop:discreteness}
For every pair of natural numbers~$a$ and~$b$, either~$a = b$ or~$a \neq b$.\end{prop}
\begin{proof}[Proof (constructive)]
We spell out only the case~$b = 0$, that is, we only spell out a proof that
every natural number~$a$ is either zero or not. To this end, we do a induction
on~$a$.
The base step~$a = 0$ is trivial, since if~$a = 0$ then also~$a = 0 \vee a \neq
0$ (we can always weaken statements by adding additional disjuncts).
In the inductive step~$a \to a + 1$, we have~$a + 1 \neq 0$ by one of the basic
axioms of arithmetic (for a complete list, see
Exercise~\ref{ex:stability-axioms}) and hence in particular~$a+1 = 0 \vee
a+1\neq0$ by weakening. (This proof is one of the rare instances of a correct
induction proof where the inductive step does not refer to the induction
hypothesis.)
\end{proof}
As from any constructive proof, a computer program witnessing the asserted fact
can be extracted. It will (roughly) have type $\mathsf{Nat} \times \mathsf{Nat}
\to \mathsf{Bool}$, computing~$\mathsf{true}$ or~$\mathsf{false}$ depending on
whether its two inputs agree or are distinct. Because the presented proof proceeded
by induction, the resulting program will proceed by recursion.
Sets like the set of natural numbers for which equality is decidable have a
special name in constructive mathematics, hinting at a connection with topology:
\begin{defn}A set~$X$ is \emph{discrete} if and only if for every
elements~$a,b \in X$, either~$a = b$ or~$a \neq b$.\end{defn}
In classical mathematics, all sets are discrete. Constructively, discreteness
is a nontrivial property, and although~$\NN$ is discrete and with it also~$\ZZ$
and~$\QQ$, there are many important sets which constructively cannot be shown
to be discrete:
\begin{prop}Already in the case~$X = \{\star\}$ it holds that if the
powerset~$P(X)$ is discrete, then the principle of excluded middle
holds.\end{prop}
\begin{proof}Let~$\varphi$ be a statement and consider the element~$K_\varphi
\defeq \{ x \in X \,|\, \varphi \} \in P(X)$. If~$K_\varphi = X$,
then~$\varphi$; and if~$K_\varphi \neq X$, then~$\neg\varphi$.\end{proof}
\begin{prop}If the set of (any of the usual flavors of the) reals is discrete,
then the principle of omniscience holds (XXX this has not been
introduced).\end{prop}
The failure of the discreteness of the set of real numbers can be explained in
computational terms as follows. In computable mathematics, a real numbers is
represented by a program computing better and better rational approximations.
Given two such programs, we can simulate or execute them to obtain
approximations to a desired precision, hoping to distinguish the two
represented real numbers. However, in case that the two numbers actually agree,
in finite time we will never verify this fact: Computably, we cannot rule out
the possibility that a difference between the two numbers will only be detected
in the as yet unexplored range of rational approximations.\footnote{This
argument can be formalized using Turing machines and realizability theory;
see~\cite[Section~4.2.1]{blechschmidt:filmat} for a review. The analysis
dramatically changes (see~\cite[Section~4.2.2]{blechschmidt:filmat}) if we
instead refer to the infinite-time Turing machines of Hamkins and
Lewis~\cite{hamkins-lewis:ittm} which can carry out an infinite amount of
computation before halting. A philosophically intriguing (and, by necessity,
informal) account referring to machines in the real world as opposed to
idealized Turing machines has been put forward by Andrej
Bauer~\cite{bauer:int-mathematics}.}
Lest an impression that only topologically simple domains can be shown to be
discrete in constructive mathematics emerges, here is a more sophisticated
example of a discrete set.
\begin{prop}The set~$\overline{\QQ}$ of algebraic numbers is
discrete.\end{prop}
\begin{proof}See~\cite[Section~XXX]{mines-richman-ruitenburg:constructive-algebra}.\end{proof}
\subsection{Minima of sets of natural numbers}
As an approximate rule of thumb, in the author's personal experience, every
result of classical mathematics which has received constructive scrutiny turned
out to either
\begin{enumerate}
\item be manifestly and unsurprisingly unconstructive, or
\item admit a constructive reformulation.
\end{enumerate}
Of course, the jury is still out on the many results not yet studied from a
constructive point of view.
The results ``every vector space has a basis'' and ``there exist
nonmeasurable subsets of the reals'' are of the first kind. Such results often
provide great abstract insight to the mathematical landscape -- it is
comforting to know that there cannot be vector spaces so bizarre that they
don't have a basis or that the notion of measurable subsets is not trivial.
On the other hand,
such results also tend to not influence concrete situations too much: How could
an infinite basis for which there is no hope that we ever learn any actual
description of inform our computations? (Better uncover topological structure
and look for a Schauder basis!)
Indeed, there are even metatheorems, reported on in
Lecture~\ref{lect:constructive-content}, to the effect that in sufficiently
concrete and logically simple situations, the axiom of choice and the principle
of excluded middle do not allow to prove results which couldn't be proven
without them. And as further evidence, there is Friedman's \emph{grand
conjecture}~\cite{XXX} -- informal but not yet challenged -- that every result
published in the Annals by a mathematician not self-identifying as a set
theorist or logician can be (reformulated to be) provable even in~\textsc{efa},
a foundational system much weaker than~\textsc{zfc},~\textsc{zf} or even Peano
arithmetic.
An example of a result of type~(b) uses the basic observation that every
inhabited set of natural numbers contains a minimal element. This result is not
available in constructive mathematics as stated, but there are two constructive
substitutes.
\begin{defn}A set~$X$ is \emph{inhabited} if and only if there exists an
element of~$X$.\end{defn}
Constructively, the condition that a set~$X$ is inhabited is stronger than~$X$
merely not being empty. The latter is equivalent to the statement that it is
\notnot the case that~$X$ is inhabited.
\begin{prop}If every inhabited set of natural numbers contains a minimal
element, then the principle of excluded middle holds.\end{prop}
To salvage the classical result, we can strengthen its assumption or weaken its
conclusion.
\begin{defn}A subset~$U \subseteq X$ is \emph{detachable} if and only if for
every element~$x \in X$, either~$x \in U$ or~$x \not\in U$.\end{defn}
For instance, the subset of~$\NN$ consisting of the prime numbers is detachable,
while the subset of those numbers~$n$ such that the~$n$-th Turing machine
terminates cannot constructively be shown to be detachable.\footnote{A
computable witness to detachability of this subset would be a \emph{halting
oracle}, but a basic fact of computability theory is that there no such
oracles.}
\begin{prop}\label{prop:minima}\begin{enumerate}
\item Every detachable inhabited subset of~$\NN$ contains a minimum.
\item Every inhabited subst of~$\NN$ does~\notnot contain a minimum.
\end{enumerate}
\end{prop}
\section{Exercises}
\begin{exercise}[Constructive status of classical tautologies]\label{ex:tautologies}
Which of the following classical tautologies can reasonably be expected to
admit constructive proofs?
\begin{enumerate}
\item $\neg(\alpha \vee \beta) \ \Longrightarrow\ \neg\alpha \wedge \neg\beta$
\item $\neg(\alpha \wedge \beta) \ \Longrightarrow\ \neg\alpha \vee \neg\beta$
\item $(\alpha \Rightarrow \beta) \ \Longrightarrow\ (\neg\alpha \vee \beta)$
\item $(\alpha \vee \beta) \wedge \neg\alpha \ \Longrightarrow\ \beta$
\item $\forall M\?P(X)\_ (\exists x\?X\_ x \in M) \vee M = \emptyset$
(already interesting for~$X = \{\star\}$)
\item $\forall n\?\NN\_ (n = 0 \vee n \neq 0)$
\item $\forall x\?\RR\_ (x = 0 \vee x \neq 0)$
\item $\forall x\?\RR\_ (\neg(\exists y\?\RR\_ xy=1) \Rightarrow x = 0)$
\item $\forall z\?\overline{\QQ}\_ (z = 0 \vee z \neq 0)$
\item $\forall f \? \NN \to \{0,1\}\_ (\neg\neg\exists n \? \NN\_ f(n) = 0)
\Rightarrow (\exists n \? \NN\_ f(n) = 0)$ (Markov's principle)
\item $\forall f \? \NN \to \{0,1\}\_ \exists n \? \NN\_ (f(n) = 1
\Rightarrow (\forall m \? \NN\_ f(m) = 1))$ (Drinker's paradox)
\item $\forall f \? \NN \to \{0,1\}\_ (\exists n \? \NN\_ f(n) = 0) \vee
(\forall n \? \NN\_ f(n) = 1)$
\item $\forall f \? \NN_\infty \to \{0,1\}\_ (\exists n \? \NN_\infty\_ f(n) = 0) \vee
(\forall n \? \NN_\infty\_ f(n) = 1)$
{\noindent\scriptsize\emph{Remark.} The set~$\NN_\infty$ is the \emph{one-point
compactification} of~$\NN$. A sensible definition of it in constructive mathematics
is as the set of decreasing binary sequences~$(x_0,x_1,x_2,\ldots)$. The
naturals embed into~$\NN_\infty$ by mapping~$n$ to the sequence~$1^n 0^\omega =
(1,\ldots,1,0,\ldots,0)$, and an element not in the image of this embedding
is~$\infty \defeq 1^\omega = (1,1,\ldots)$. Assuming the principle of excluded
middle (or already weaker principles), every element of~$\NN_\infty$ is of one
of these two forms. Martín Escardó has worked extensively on unexpected
instances of the principle of omniscience for searchable sets
like~$\NN_\infty$~\cite{escardo:omniscience1,escardo:omniscience2,escardo:omniscience}.\par}
\end{enumerate}
\end{exercise}
\begin{exercise}[Basics on negation]
Recalling that negation is defined as implying absurdity,~$\neg\varphi
\defequiv (\varphi \Rightarrow \bot)$, verify intuitionistically without
recourse to truth tables:
\begin{enumerate}
\item $\varphi \Rightarrow \neg\neg\varphi$
\item $\neg\neg\neg\varphi \Leftrightarrow \neg\varphi$
\item $\neg\neg(\varphi \vee \neg\varphi)$
\item $\neg\neg(\alpha \wedge \beta) \Leftrightarrow (\neg\neg\alpha \wedge
\neg\neg\beta)$
\item $\neg(\alpha \vee \beta) \Longleftrightarrow (\neg\alpha \wedge \neg\beta)$
\item $(\neg\neg\alpha \wedge (\alpha \Rightarrow \neg\neg\beta)) \Longrightarrow
\neg\neg\beta$
\item $(\forall\psi\_ (\psi \vee \neg\psi))
\Longleftrightarrow (\forall\psi\_ ((\neg\neg\psi) \Rightarrow
\psi))$
{\noindent\scriptsize\emph{Hint.}
Don't try to verify that double negation elimination for a specific
statement~$\psi$ implies the principle of excluded middle for that same
statement~$\psi$ -- this cannot be shown. There are subtleties regarding the
quantification over $\psi$ (this is not expressible in pure first-order logic),
however the exercise is still instructive if we gloss over this issue.\par}
\end{enumerate}
\end{exercise}
\begin{exercise}[An epistemic riddle on transcendental numbers]
Verify, using a proof by contradiction, that at least one of the numbers~$e +
\pi$ and~$e - \pi$ is transcendental; and that at least one of the
numbers~$e + \pi$ and~$e \cdot \pi$ is transcendental.
{\noindent\scriptsize\emph{Note.} At time of writing, for none of these numbers
a (constructive or classical) proof of their transcendence is known.\par}
\end{exercise}
\begin{exercise}[A stronger form of the irrationality of~$\sqrt{2}$]
\label{ex:sqrt2}
Mine the proof of Proposition~\ref{prop:sqrt2} to give an intuitionistic proof
that for every rational number~$x$, the distance~$|\sqrt{2}-x|$ is positive.
{\noindent\scriptsize\emph{Note.} Strictly speaking, this exercise presupposes
familiarity with an intuitionistic account of the basics of undergraduate real
analysis. Without it, one cannot really be expected to precisely think about
these matters. One such account (though assuming the axiom of dependent choice)
is~\cite{bishop-bridges:bible}. However, this exercise is insightful even when carried out
slightly informally. Keep in mind that, to show that a real number is positive,
constructively it is not enough to merely verify that it cannot be zero or
negative. A safe way to verify that a real number~$a$ is positive is to exhibit
a rational number~$b$ such that~$a \geq b > 0$.\par}
\end{exercise}
\begin{exercise}[Brouwerian counterexamples]
Show that each of the following statements implies the principle of excluded middle,
hence is not available in constructive mathematics.
\begin{enumerate}
\item Every ideal of~$\ZZ$ is finitely generated.
{\noindent\scriptsize\emph{Hint.} Use that finitely generated ideals of~$\ZZ$
are principal ideals and consider the ideal~$\aaa \defeq \{ x \in \ZZ
\,|\, x = 0 \vee \varphi \}$.\par}
{\noindent\scriptsize\emph{Remark.} The failure of every ideal of~$\ZZ$ to be
finitely generated should not be misconstrued to exclaim that in constructive
mathematics, there suddenly would be ideals of~$\ZZ$ of infinite rank. The
failure is simply because, given an abstract ideal, we cannot pinpoint a finite
system of generators.\par}
\item Over every field, the polynomial~$X^2 + 1$ is either reducible or
irreducible.
{\noindent\scriptsize\emph{Hint.} Consider the field~$K \defeq \{ z \in \QQ(i)
\,|\, z \in \QQ \vee \varphi \}$.\par}
\item Subsets of Kuratowski-finite sets are Kuratowski-finite.
{\noindent\scriptsize\emph{Note.} A set~$X$ is \emph{Kuratowski-finite} if and
only if, for some number~$n \in \NN$, there is a surjective map~$[n] \to X$,
where~$[n] = \{ 0,1,\ldots,n-1 \}$. More briefly, a set~$X$ is
Kuratowski-finite iff its elements can be enumerated: $X = \{x_1,\ldots,x_n \}$.\par}
\item Every subset of the (Cauchy or Dedekind) reals which is inhabited and
bounded from above has a supremum.
{\noindent\scriptsize\emph{Note.} A \emph{supremum} of a set~$M$ of reals is a
number~$s$ such that~$M \leq s$ (that is~$x \leq s$ for all~$x \in M$) and such
that for every number~$s'$ with~$M \leq s'$, $s \leq s'$. In constructive
mathematics, we can make finer distinctions between the classically equivalent
constructions of the real numbers: The reals constructed using Cauchy
sequences inject into the reals constructed using Dedekind cuts which in turn
inject into the MacNeille reals, and each serve a different purpose. The Cauchy
and Dedekind reals cannot constructively be shown to be complete in the sense
of this exercise, while the MacNeille reals can. Conversely, the rationals can
be shown to be dense in the first two kinds of reals but not in the MacNeille
reals~\cite[Section~D4.7]{johnstone:elephant}.\par}
\end{enumerate}
Show that the following statement implies Markov's principle (from
Exercise~\ref{ex:tautologies}):
\begin{enumerate}
\addtocounter{enumi}{4}
\item Every real number which is not zero is invertible.
\end{enumerate}
\noindent
Brouwerian counterexamples abound in constructive mathematics; when developing
a constructive account of a theory, they help to clearly demarcate its limits.
As such additional Brouwerian counterexamples can be found in most texts on
constructive mathematics, such
as~\cite{mines-richman-ruitenburg:constructive-algebra}; a compilation mainly
from constructive analysis can be found
in~\cite{mandelkern:brouwerian-counterexamples}.
\end{exercise}
\begin{exercise}[Markov's principle]\label{ex:markov}
Markov's principle is the statement that
\[ \forall f \? \NN \to \{0,1\}\_ (\neg\neg\exists n \? \NN\_ f(n) = 0)
\Rightarrow (\exists n \? \NN\_ f(n) = 0). \]
It is a simple instance of the classical principle of double-negation
elimination, but not available in (most schools of) constructive mathematics.
\begin{enumerate}
\item Why does Markov's principle imply that programs which do not run forever
actually halt?
\item Explain why Markov's principle is witnessed by a computer program (even
though it does not admit a constructive proof). Which assumption on your
metatheory does your argument require?
\end{enumerate}
\end{exercise}
\begin{exercise}[Minima of sets of natural numbers, part one]\label{ex:minima1}
\begin{enumerate}
\item Give a constructive proof of Proposition~\ref{prop:minima}(b).
\item What does the computational witness extracted from the proof of
Proposition~\ref{prop:minima}(a) look like? Can you devise a different proof
corresponding to a different algorithm?
\end{enumerate}
\end{exercise}
\begin{exercise}[Diaconescu's theorem]
\label{ex:diaconescu}
The axiom of choice can be put as: ``Every surjective map has a
section.'' (A \emph{section}~$s$ to a surjective map~$f$ is a map in the other direction such that~$f \circ s =
\mathrm{id}$.) A theorem of Diaconescu states that
the axiom of choice implies the principle of excluded middle. To this end, let~$\varphi$ be a
statement and consider the subsets
\begin{align*}
U &= \{ x \in X \,|\, (x = 0) \vee \varphi \} \\
V &= \{ x \in X \,|\, (x = 1) \vee \varphi \}
\end{align*}
of the discrete set~$X \defeq \{ 0,1 \}$.
\begin{enumerate}
\item Verify that~$U = V$ if and only if~$\varphi$.
\item Using that~$x = y \vee x \neq y$ for all elements~$x,y \in X$, show that
the existence of a section of the surjective map
\[ \begin{array}{@{}rcl@{}}
X &\longrightarrow& \{U,V\} \\
0 &\longmapsto& U \\
1 &\longmapsto& V
\end{array} \]
implies~$\varphi \vee \neg\varphi$.
\end{enumerate}
\end{exercise}
% - What constructive mathematics is about: finer distinctions, algorithmic
% interpretation, geometric interpretation (including teaser on why we
% might care)
% - Proof by and proof of a contradiction: powers of irrational numbers,
% discreteness of N, Q, Qbar, failure of discreteness of R
% - Positive information from negative? de Morgan, minimums of sets of
% natural numbers
% - Relation to classical mathematics
% - Finite sets and the axiom of choice
% - Axiomatic freedom: all functions continuous, all functions
% computable, generic prime ideal
\chapter{On the constructive content of classical proofs}
\label{lect:constructive-content}
\begin{intro}
Decades of experience in constructive mathematics show: \emph{Most results
in classical mathematics, even those whose proof rests on
non-constructive principles like the axiom of choice or the principle of
excluded middle, have a hidden constructive core.} With a mix of
experience, seasoned tools and general metatheorems, this constructive
content can be extracted from classical proofs. In this way we obtain
constructive reformulations of classical results, especially
if they are of a sufficiently concrete nature.
For instance, while the existence of maximal ideals in arbitrary rings
is equivalent to the axiom of choice, every first-order consequence of
their existence for linear algebra over rings also holds constructively.
This lecture illustrates the latent constructive nature of classical
proofs with examples and presents two general metatheorems which
elucidate proof mining for constructive content. The author learned this
material mostly from diverse texts and slides of Thierry Coquand; the
reference~\cite{coquand:classical} is a good start.
\end{intro}
\begin{thm}[Dickson's lemma]\label{thm:dickson}
Let~$k \in \NN$. Let~$f : \NN \to \NN^k$ be an arbitrary map. Then there are
indices~$i < j$ such that~$f(i) \leq f(j)$ (componentwise).
\end{thm}
\begin{proof}[Proof (classical)]The case~$k = 0$ is trivial and we omit demonstrations of the cases~$k
\geq 2$, hence let~$k = 1$. In this case, the map~$f$ attains some minimal
value. Set~$i$ to be (one of the) positions where this minimal value is
attained. Set~$j \defeq i+1$. Then, trivially, $f(i) \leq f(j)$.
\end{proof}
\begin{thm}\label{thm:surjective-matrix}
Let~$M$ be a surjective matrix with more rows than columns over a commutative
ring~$A$ with unit. Then~$1 = 0$ in~$A$.
\end{thm}
\begin{proof}[Proof (classical)]Assume not. Then there is a maximal
ideal~$\mmm \subseteq A$. The matrix~$M$ remains surjective when considered over
the quotient ring~$A/\mmm$, and by maximality this quotient ring is a field.
Hence we have a contradiction to basic linear algebra, namely to the basic fact
that matrices over fields are not surjective if they have more rows than
columns.\end{proof}
What is the meaning of these non-effective proofs? Theorem~\ref{thm:dickson}
claims the existence of a finite object with a decidable property (a
pair~$(i,j)$ such that~$f(i) \leq f(j)$), but the given proof employs
transfinite methods and gives no indication how we could compute or otherwise
find this object. Instead, the classical proof asks us to grasp the infinitude
of all values of~$f$ and determine their minimum. The issue is even more
pronounced with Theorem~\ref{thm:surjective-matrix}, since the existence of
maximal ideals in nontrivial rings requires the axiom of
choice~\cite{scott:prime-ideals,hodges:krull,banaschewski:krull,erne:krull,howard-rubin:ac}.
To add one more conundrum: Assume that we have a classical proof, using the principle
of excluded middle and the axiom of choice, that some given Turing machine
terminates. Can we then constructively accept that the machine will halt? Do we
have an upper bound for the number of computational steps the machine carries
out before halting?
Astoundingly, it is almost always the case that from classical proofs useful
constructive content can be extracted. In fact, due to general metatheorems,
in many cases there are even explicit mechanical procedures for extracting this
hidden content, while other cases require more creativity for determining
suitable constructive reformulations. For instance:
\begin{enumerate}
\item \emph{Eliminating the axiom of choice by the~$L$-translation.} Can the
axiom of choice ever help in proving arithmetical statements, those first-order
statements in which all quantifiers range over the natural numbers? Well, it surely
might. But a result of Gödel states that~\textsc{zfc} (Zermelo--Fraenkel set
theory with the axiom of choice) is conservative over~\textsc{zf} (ZF set
theory without it) for such statements -- hence all appeals to this axiom can
be mechanically eliminated from a given proof. This is true even if the proof
transcends the arithmetical realm and includes statements which are not
arithmetical; only the asserted claim is required to be arithmetical. Hence we
are free to use the axiom of choice, tranquil in knowing that we could always
reformulate our proofs without it.\footnote{Zermelo--Fraenkel set theory with
the axiom of choice is the go-to foundation of mathematics often cited as
supporting ``almost all'' of current mathematics, one important exception being
some (definitions and) results in category theory dealing with large
structures~\cite{shulman:set-theory,feferman:set-foundations}. A fundamental
result due to Gödel is that the axiom of choice ``holds in~$L$'', the
\emph{constructible universe}, even if it might not hold in~$V$, the true
universe of all sets. More precisely, if~\textsc{zfc} shows some
statement~$\varphi$, then~\textsc{zf} shows its~$L$-relativized
version~$\varphi^L$, where all quantifiers have been restricted to range
over~$L$ instead of~$V$. The conservation result follows because the natural
numbers ``are absolute between~$V$
and~$L$''~\cite{goedel:ac-gch,schoenfield:predicativity}.}
\item \emph{Eliminating the principle of excluded middle by the double-negation
translation and its variants.} At the price of
slightly modifying the asserted claim, the principle of excluded middle
can always be mechanically eliminated from a given proof. This
elimination procedure is facilitated by the \emph{double-negation translation}
reviewed below. In some cases, a refined translation even allows us to preserve the asserted
claim exactly; this technique is variously known as \emph{Friedman's trick},
\emph{nontrivial exit continuation} or (the baby version of) \emph{Barr's
theorem}. To cite a specific instance of this phenomenon, classical~\textsc{zf}
set theory is conservative over its intuitionistic cousin~\textsc{izf}
for~$\Pi^0_2$-statements (statements of the form~$\forall\ldots\forall\_
\exists\ldots\exists\_ \%$, where all quantifiers in the final~``$\%$''
are bounded).
\item \emph{Embracing generic models.} A useful companion to both of the
aforementioned techniques is to switch from referencing all models of a certain
kind to referencing only the \emph{generic model}. For instance, Krull's lemma