\documentclass[12pt,titlepage]{article} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mathtools} \usepackage{graphicx} \usepackage{color} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{xparse} \usepackage{hyperref} %----Macros---------- % % Unresolved issues: % % \righttoleftarrow % \lefttorightarrow % % \color{} with HTML colorspec % \bgcolor % \array with options (without options, it's equivalent to the matrix environment) % Of the standard HTML named colors, white, black, red, green, blue and yellow % are predefined in the color package. Here are the rest. \definecolor{aqua}{rgb}{0, 1.0, 1.0} \definecolor{fuschia}{rgb}{1.0, 0, 1.0} \definecolor{gray}{rgb}{0.502, 0.502, 0.502} \definecolor{lime}{rgb}{0, 1.0, 0} \definecolor{maroon}{rgb}{0.502, 0, 0} \definecolor{navy}{rgb}{0, 0, 0.502} \definecolor{olive}{rgb}{0.502, 0.502, 0} \definecolor{purple}{rgb}{0.502, 0, 0.502} \definecolor{silver}{rgb}{0.753, 0.753, 0.753} \definecolor{teal}{rgb}{0, 0.502, 0.502} % Because of conflicts, \space and \mathop are converted to % \itexspace and \operatorname during preprocessing. % itex: \space{ht}{dp}{wd} % % Height and baseline depth measurements are in units of tenths of an ex while % the width is measured in tenths of an em. \makeatletter \newdimen\itex@wd% \newdimen\itex@dp% \newdimen\itex@thd% \def\itexspace#1#2#3{\itex@wd=#3em% \itex@wd=0.1\itex@wd% \itex@dp=#2ex% \itex@dp=0.1\itex@dp% \itex@thd=#1ex% \itex@thd=0.1\itex@thd% \advance\itex@thd\the\itex@dp% \makebox[\the\itex@wd]{\rule[-\the\itex@dp]{0cm}{\the\itex@thd}}} \makeatother % \tensor and \multiscript \makeatletter \newif\if@sup \newtoks\@sups \def\append@sup#1{\edef\act{\noexpand\@sups={\the\@sups #1}}\act}% \def\reset@sup{\@supfalse\@sups={}}% \def\mk@scripts#1#2{\if #2/ \if@sup ^{\the\@sups}\fi \else% \ifx #1_ \if@sup ^{\the\@sups}\reset@sup \fi {}_{#2}% \else \append@sup#2 \@suptrue \fi% \expandafter\mk@scripts\fi} \def\tensor#1#2{\reset@sup#1\mk@scripts#2_/} \def\multiscripts#1#2#3{\reset@sup{}\mk@scripts#1_/#2% \reset@sup\mk@scripts#3_/} \makeatother % \slash \makeatletter \newbox\slashbox \setbox\slashbox=\hbox{$/$} \def\itex@pslash#1{\setbox\@tempboxa=\hbox{$#1$} \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa \copy\slashbox \kern-\@tempdima \box\@tempboxa} \def\slash{\protect\itex@pslash} \makeatother % math-mode versions of \rlap, etc % from Alexander Perlis, "A complement to \smash, \llap, and lap" % http://math.arizona.edu/~aprl/publications/mathclap/ \def\clap#1{\hbox to 0pt{\hss#1\hss}} \def\mathllap{\mathpalette\mathllapinternal} \def\mathrlap{\mathpalette\mathrlapinternal} \def\mathclap{\mathpalette\mathclapinternal} \def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}} \def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}} \def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}} % Renames \sqrt as \oldsqrt and redefine root to result in \sqrt[#1]{#2} \let\oldroot\root \def\root#1#2{\oldroot #1 \of{#2}} \renewcommand{\sqrt}[2][]{\oldroot #1 \of{#2}} % Manually declare the txfonts symbolsC font \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} \DeclareFontSubstitution{U}{txsyc}{m}{n} % Manually declare the stmaryrd font \DeclareSymbolFont{stmry}{U}{stmry}{m}{n} \SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n} % Manually declare the MnSymbolE font \DeclareFontFamily{OMX}{MnSymbolE}{} \DeclareSymbolFont{mnomx}{OMX}{MnSymbolE}{m}{n} \SetSymbolFont{mnomx}{bold}{OMX}{MnSymbolE}{b}{n} \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{ <-6> MnSymbolE5 <6-7> MnSymbolE6 <7-8> MnSymbolE7 <8-9> MnSymbolE8 <9-10> MnSymbolE9 <10-12> MnSymbolE10 <12-> MnSymbolE12}{} % Declare specific arrows from txfonts without loading the full package \makeatletter \def\re@DeclareMathSymbol#1#2#3#4{% \let#1=\undefined \DeclareMathSymbol{#1}{#2}{#3}{#4}} \re@DeclareMathSymbol{\neArrow}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\neArr}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\seArrow}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\seArr}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\nwArrow}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\nwArr}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\swArrow}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\swArr}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\nequiv}{\mathrel}{symbolsC}{46} \re@DeclareMathSymbol{\Perp}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\Vbar}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\sslash}{\mathrel}{stmry}{12} \re@DeclareMathSymbol{\bigsqcap}{\mathop}{stmry}{"64} \re@DeclareMathSymbol{\biginterleave}{\mathop}{stmry}{"6} \re@DeclareMathSymbol{\invamp}{\mathrel}{symbolsC}{77} \re@DeclareMathSymbol{\parr}{\mathrel}{symbolsC}{77} \makeatother % \llangle, \rrangle, \lmoustache and \rmoustache from MnSymbolE \makeatletter \def\Decl@Mn@Delim#1#2#3#4{% \if\relax\noexpand#1% \let#1\undefined \fi \DeclareMathDelimiter{#1}{#2}{#3}{#4}{#3}{#4}} \def\Decl@Mn@Open#1#2#3{\Decl@Mn@Delim{#1}{\mathopen}{#2}{#3}} \def\Decl@Mn@Close#1#2#3{\Decl@Mn@Delim{#1}{\mathclose}{#2}{#3}} \Decl@Mn@Open{\llangle}{mnomx}{'164} \Decl@Mn@Close{\rrangle}{mnomx}{'171} \Decl@Mn@Open{\lmoustache}{mnomx}{'245} \Decl@Mn@Close{\rmoustache}{mnomx}{'244} \makeatother % Widecheck \makeatletter \DeclareRobustCommand\widecheck[1]{{\mathpalette\@widecheck{#1}}} \def\@widecheck#1#2{% \setbox\z@\hbox{\m@th$#1#2$}% \setbox\tw@\hbox{\m@th$#1% \widehat{% \vrule\@width\z@\@height\ht\z@ \vrule\@height\z@\@width\wd\z@}$}% \dp\tw@-\ht\z@ \@tempdima\ht\z@ \advance\@tempdima2\ht\tw@ \divide\@tempdima\thr@@ \setbox\tw@\hbox{% \raise\@tempdima\hbox{\scalebox{1}[-1]{\lower\@tempdima\box \tw@}}}% {\ooalign{\box\tw@ \cr \box\z@}}} \makeatother % \mathraisebox{voffset}[height][depth]{something} \makeatletter \NewDocumentCommand\mathraisebox{moom}{% \IfNoValueTF{#2}{\def\@temp##1##2{\raisebox{#1}{$\m@th##1##2$}}}{% \IfNoValueTF{#3}{\def\@temp##1##2{\raisebox{#1}[#2]{$\m@th##1##2$}}% }{\def\@temp##1##2{\raisebox{#1}[#2][#3]{$\m@th##1##2$}}}}% \mathpalette\@temp{#4}} \makeatletter % udots (taken from yhmath) \makeatletter \def\udots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} \makeatother %% Fix array \newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}} %% \itexnum is a noop \newcommand{\itexnum}[1]{#1} %% Renaming existing commands \newcommand{\underoverset}[3]{\underset{#1}{\overset{#2}{#3}}} \newcommand{\widevec}{\overrightarrow} \newcommand{\darr}{\downarrow} \newcommand{\nearr}{\nearrow} \newcommand{\nwarr}{\nwarrow} \newcommand{\searr}{\searrow} \newcommand{\swarr}{\swarrow} \newcommand{\curvearrowbotright}{\curvearrowright} \newcommand{\uparr}{\uparrow} \newcommand{\downuparrow}{\updownarrow} \newcommand{\duparr}{\updownarrow} \newcommand{\updarr}{\updownarrow} \newcommand{\gt}{>} \newcommand{\lt}{<} \newcommand{\map}{\mapsto} \newcommand{\embedsin}{\hookrightarrow} \newcommand{\Alpha}{A} \newcommand{\Beta}{B} \newcommand{\Zeta}{Z} \newcommand{\Eta}{H} \newcommand{\Iota}{I} \newcommand{\Kappa}{K} \newcommand{\Mu}{M} \newcommand{\Nu}{N} \newcommand{\Rho}{P} \newcommand{\Tau}{T} \newcommand{\Upsi}{\Upsilon} \newcommand{\omicron}{o} \newcommand{\lang}{\langle} \newcommand{\rang}{\rangle} \newcommand{\Union}{\bigcup} \newcommand{\Intersection}{\bigcap} \newcommand{\Oplus}{\bigoplus} \newcommand{\Otimes}{\bigotimes} \newcommand{\Wedge}{\bigwedge} \newcommand{\Vee}{\bigvee} \newcommand{\coproduct}{\coprod} \newcommand{\product}{\prod} \newcommand{\closure}{\overline} \newcommand{\integral}{\int} \newcommand{\doubleintegral}{\iint} \newcommand{\tripleintegral}{\iiint} \newcommand{\quadrupleintegral}{\iiiint} \newcommand{\conint}{\oint} \newcommand{\contourintegral}{\oint} \newcommand{\infinity}{\infty} \newcommand{\bottom}{\bot} \newcommand{\minusb}{\boxminus} \newcommand{\plusb}{\boxplus} \newcommand{\timesb}{\boxtimes} \newcommand{\intersection}{\cap} \newcommand{\union}{\cup} \newcommand{\Del}{\nabla} \newcommand{\odash}{\circleddash} \newcommand{\negspace}{\!} \newcommand{\widebar}{\overline} \newcommand{\textsize}{\normalsize} \renewcommand{\scriptsize}{\scriptstyle} \newcommand{\scriptscriptsize}{\scriptscriptstyle} \newcommand{\mathfr}{\mathfrak} \newcommand{\statusline}[2]{#2} \newcommand{\tooltip}[2]{#2} \newcommand{\toggle}[2]{#2} % Theorem Environments \theoremstyle{plain} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} \newtheorem{prop}{Proposition} \newtheorem{cor}{Corollary} \newtheorem*{utheorem}{Theorem} \newtheorem*{ulemma}{Lemma} \newtheorem*{uprop}{Proposition} \newtheorem*{ucor}{Corollary} \theoremstyle{definition} \newtheorem{defn}{Definition} \newtheorem{example}{Example} \newtheorem*{udefn}{Definition} \newtheorem*{uexample}{Example} \theoremstyle{remark} \newtheorem{remark}{Remark} \newtheorem{note}{Note} \newtheorem*{uremark}{Remark} \newtheorem*{unote}{Note} %------------------------------------------------------------------- \begin{document} %------------------------------------------------------------------- \section*{constructive mathematics} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{foundations}{}\paragraph*{{Foundations}}\label{foundations} [[!include foundations - contents]] \hypertarget{mathematics}{}\paragraph*{{Mathematics}}\label{mathematics} [[!include mathematicscontents]] \hypertarget{constructivism_realizability_computability}{}\paragraph*{{Constructivism, Realizability, Computability}}\label{constructivism_realizability_computability} [[!include constructivism - contents]] \hypertarget{constructive_mathematics}{}\section*{{Constructive mathematics}}\label{constructive_mathematics} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{OriginsAndSchools}{Origins and schools}\dotfill \pageref*{OriginsAndSchools} \linebreak \noindent\hyperlink{topos_theory}{Topos theory}\dotfill \pageref*{topos_theory} \linebreak \noindent\hyperlink{some_features_of_constructive_mathematics}{Some features of constructive mathematics}\dotfill \pageref*{some_features_of_constructive_mathematics} \linebreak \noindent\hyperlink{rephrasing_of_classical_ideas}{Rephrasing of classical ideas}\dotfill \pageref*{rephrasing_of_classical_ideas} \linebreak \noindent\hyperlink{bifurcation_of_notions}{Bifurcation of notions}\dotfill \pageref*{bifurcation_of_notions} \linebreak \noindent\hyperlink{negative_translation}{Negative translation}\dotfill \pageref*{negative_translation} \linebreak \noindent\hyperlink{truevassert}{Truth versus assertability}\dotfill \pageref*{truevassert} \linebreak \noindent\hyperlink{prehistory}{Prehistory}\dotfill \pageref*{prehistory} \linebreak \noindent\hyperlink{related_entries}{Related entries}\dotfill \pageref*{related_entries} \linebreak \noindent\hyperlink{References}{References}\dotfill \pageref*{References} \linebreak \noindent\hyperlink{general}{General}\dotfill \pageref*{general} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} Broadly speaking, \textbf{constructive mathematics} is [[mathematics]] done without the [[principle of excluded middle]], or other principles, such as the full [[axiom of choice]], that imply it, hence without ``non-constructive'' methods of [[formal proof]], such as [[proof by contradiction]]. This is in contrast to \emph{[[classical mathematics]]}, where such principles are taken to hold. There are variations of what exactly is regarded as constructive mathematics, for instance [[intuitionistic mathematics|intuitionism]] or [[predicative mathematics|predicativism]], see the list of schools \hyperlink{OriginsAndSchools}{below}. But beware the ambiguity in terminology: In [[Brouwer]]-style [[intuitionistic mathematics]] one includes [[axioms]] that \emph{[[contradiction|contradict]]} [[classical logic]], while other authors use ``intuitionistic'' to mean what elsewhere is called ``constructive'', and referring only to rejection of [[excluded middle]] and [[axiom of choice|choice]]. Some authors (particularly [[material set theory|material set theorists]]) use ``constructive'' to mean \emph{[[predicative]]} constructive and ``intuitionistic'' to mean impredicative constructive. Other authors emphasize the necessity that constructive theories be [[proof relevance|proof relevant]], with denial of the excluded middle's universality subordinate to this requirement; see (\hyperlink{Harper13}{Harper 2013}). \textbf{Constructivism} is the philosophy that such mathematics is useful, or (more strongly) that non-constructive mathematics is wrong. Historically, constructive mathematics was first pursued explicitly by mathematicians who believed the latter. However, many modern mathematicians who do constructive mathematics do it not because of any philosophical belief about the wrongness of non-constructive mathematics, but because constructive mathematics is interesting in its own right. In the `\href{http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.93.9892}{pluralist}' approach to the [[foundations]] of mathematics, a constructive proof (when it exists) is better because it is valid in more versions of mathematics, but a classical proof remains valid for [[classical mathematics]]. Another motivation for modern mathematicians ---especially category theorists like those on the nLab--- is that the study of constructive mathematics has potential applications to non-constructive mathematics. For example, even if one believes the principle of excluded middle to be true, the ``[[internal logic|internal]]'' version of excluded middle in many interesting [[category|categories]] is still false; thus constructive mathematics can be useful in the study of such categories, even if mathematics is ``globally'' non-constructive. This is the neutral motivation for constructive mathematics from the \href{/nlab/show/nPOV#Logic}{nPOV}. Here we write mostly about the mathematics, trying to be mostly neutral philosophically. \hypertarget{OriginsAndSchools}{}\subsection*{{Origins and schools}}\label{OriginsAndSchools} During the ``[[foundations|foundational]] crisis'' in mathematics around the beginning of the 20th century, a number of mathematicians espoused philosophies that are generally grouped together and labeled \textbf{constructivist}. The common feature of these philosophies was a rejection of axioms and principles of logic that lead to nonconstructive proofs. There was much talk at the time about potential vs absolute infinity, but from an axiomatic perspective, it turns out that (if one stops short of finitism) the two main culprits are \begin{itemize}% \item the [[axiom of choice]] and \item the principle of [[excluded middle]]. \end{itemize} Thus, constructivists (including many still active today) reject proofs that make use of either of these. (In fact, it was realized in 1975 by Diaconescu that the axiom of choice implies the principle of excluded middle. Excluded middle is precisely the ``finitely indexed'' axiom of choice; see [[excluded middle]] for a proof.) There are, however, differences among constructivists as well, even discounting the pluralists. \begin{itemize}% \item Some, like [[Errett Bishop]], simply remove choice and excluded middle from [[classical mathematics]] with nothing to replace them. (Although this is not quite a correct and complete description of [[Bishop's constructive mathematics]]; see there.) However, this makes it difficult to define a satisfactory notion of [[continuous function]], even from the [[real line]] to itself, without using [[locales]]; see (Waaldijk 2003). \item Others add ``non-classical'' axioms which contradict choice or excluded middle, but which are consistent in their absence, such as ``all total functions $[0,1] \to \mathbb{R}$ are continuous'' (the [[continuity axiom]] of the ``[[intuitionism|intuitionistic]]'' school of [[L. E. J. Brouwer]]) or ``all partial functions $\mathbb{N} \to \mathbb{N}$ are computable'' (the [[computability axiom]] of the ``[[Russian constructivism|Russian]]'' school of [[Andrey Markov Jr|A. A. Markov]], which is also called ``constructive recursive analysis''). \item Most accept weaker versions of choice, such as [[countable choice]] or even [[dependent choice]]. [[Toby Bartels]] argues that the intuition behind accepting these justifies the (yet stronger) [[presentation axiom]] (that [[the category of sets]] has [[enough projectives]]). On the other hand, [[Fred Richman]] rejects even these limited forms of choice; see (Richman 2000). \item Still others, following [[Hermann Weyl]], go even further and refuse to allow ``impredicative'' constructions; see [[predicative mathematics]]. Most of the work done by the schools of Brouwer, Bishop, and Markov (but not Richman) is also predicative, even though those founders were not adamant about it; as a result, predicativism often appears in the [[foundations]] of constructive mathematics (in particular, in those of [[Peter Aczel|Aczel]] and [[Per Martin-Löf|Martin-Löf]], but not those of [[Harvey Friedman|Friedman]] or [[Thierry Coquand|Coquand]]). \item Very extreme constructivists, like [[Doron Zeilberger]], reject the existence of infinite sets; see [[finitism]]. (Kronecker, the `father of constructivism', is often considered a finitist, but as he came before the foundational crisis, it is difficult to classify him accurately.) Ironically, this means that excluded middle and choice, in their na\"i{}ve forms, may become acceptable, or even true. (Even constructivists believe that they are true [[internal logic|in]] the category [[FinSet]] of [[finite sets]].) \item The most extreme position of all is to deny even the existence of very large finite sets. This is called [[ultrafinitism]]. This has been studied largely by [[Alexander Yesenin-Volpin]] and (more recently) [[Edward Nelson]]; foundational systems such as [[soft linear logic]] can also be argued to have an ultrafinitist flavor. Zeilberger also claims sympathy with ultrafinitist philosophy, although his actual work fits well into a (merely) finitist framework. \end{itemize} Many constructivists (like many classical mathematicians) believe in an absolute mathematical sense of ``truth,'' and that in this sense choice and excluded middle are simply \emph{wrong}. (Some constructivists, using classically false axioms, can even refute them; others merely claim that no possible correct reasoning could ever prove them. See \hyperlink{truevassert}{Truth versus assertability} below.) To most mathematicians, this makes them seem quite strange. Other constructivists adopt a wait-and-see attitude, or even a relative notion of truth (which can seem strange in another way). The following is a partial list of schools and subtheories of constructive mathematics: \begin{itemize}% \item Brouwer's [[intuitionistic mathematics]] \item [[Russian constructivism]] \item [[Bishop's constructive mathematics]] \item [[constructive reverse mathematics]] \item (at least related) [[explicit mathematics]] \end{itemize} \hypertarget{topos_theory}{}\subsection*{{Topos theory}}\label{topos_theory} With the invention of [[topos|topos theory]] in the second half of the 20th century, a new sort of constructivism arose. It was observed (by [[Bill Lawvere|Lawvere]] and others) that any topos with a [[natural numbers object]] has an [[internal logic]] which is powerful enough to interpret most of mathematics, but that this logic in general fails to satisfy choice and excluded middle. This meant that even for a mathematican who likes to use choice and excluded middle (and \emph{a fortiori} for one who believes them to be ``true''), there is a reason to care about what can be proven without them, because only if a proof is constructive can it be interpreted in an arbitrary topos with NNO. Even starting from a ``completely classical'' world of mathematics, many interesting toposes arise naturally (such as the category of [[sheaf|sheaves]] on any [[topological space]], or more generally any [[site]]) whose internal logic is not [[classical logic]]. Then by internal reasoning in such a topos (which is constructive reasoning), one can prove various useful facts, which can then be reinterpreted as external statements about the behavior of the topos itself. For example, the constructive theorem that every [[one-sided real number]] that is both a lower real and an upper real must be located (which, classically, is an utter triviality) becomes the theorem that any [[semicontinuous function]] (from any [[topological space]] to the [[real line]]) that is both upper and lower semicontinuous must be [[continuous map|continuous]] (which is at least somewhat nontrivial). By now it is known that many of the non-classical axioms used by the early constructivists have natural models in particular toposes. For instance, in the topos of sheaves on the real numbers $R$, the [[continuity axiom]] that ``all total functions $R \to R$ are continuous'' holds. And in the [[effective topos]], the [[computability axiom]] that ``all partial functions $N\to N$ are computable'' holds. However, there are no non-classical (or classical) axioms beyond ``pure constructivism'' that are true in \emph{all} toposes with NNO. In particular, there is a [[free topos]] with NNO such that a statement is true in the free topos precisely when it is provable in pure (Richman-school) constructive mathematics. This means that for an argument to apply in all toposes, even mild assumptions such as countable or dependent choice are unacceptable (but impredicativity is fine). However, topos theory has also provided ideas that solve many of the problems with pure constructivism. For example, a well-behaved notion of ``continuous function'' can be recovered by using [[locale|locales]] instead of topological spaces, which was first discovered in the context of toposes and is closely related to them in any case. \hypertarget{some_features_of_constructive_mathematics}{}\subsection*{{Some features of constructive mathematics}}\label{some_features_of_constructive_mathematics} \hypertarget{rephrasing_of_classical_ideas}{}\subsubsection*{{Rephrasing of classical ideas}}\label{rephrasing_of_classical_ideas} Sometimes, all that is necessary to make a piece of mathematics constructive is careful use of language. It is common in [[classical mathematics]] to define things with an unnecessary amount of [[negation]]. This doesn't work so well constructively, since a statement can be not false without being true, but we can sometimes do perfectly well by just removing unnecessary [[double negations]]. For example, classically one often speaks about ``nonempty'' sets, meaning a set which ``does \emph{not} have \emph{no} elements.'' Constructively it is much better to say that a set ``\emph{does} have at least one element''; constructivists often call such a set \emph{[[inhabited set|inhabited]]} to remind themselves that it is a ``positive'' notion to replace the negative one of ``nonempty''. Others continue to use the word ``non-empty'' but understand it as a term of art that really means ``inhabited''. \hypertarget{bifurcation_of_notions}{}\subsubsection*{{Bifurcation of notions}}\label{bifurcation_of_notions} On the other hand, differences in axiomatization or definition that make no difference classically can result in actual differences in behavior constructively. Therefore, classically equivalent notions often ``bifurcate'' (or ``trifurcate'' or worse) into multiple inequivalent constructive ones. This tends to happen whenever a concept involves \emph{[[negation]]} and, to a lesser degree, \emph{[[disjunction]]} and \emph{[[existential quantification]]}. In some cases there is a ``correct'' constructive version of the definition, although it may take some thought to uncover it, but in many cases more than one of the resulting concepts is important and useful. For example: \begin{itemize}% \item There are multiple inequivalent constructive definitions of a [[field]], because of the axioms ``every \emph{nonzero} element has an inverse'' and $0 \neq 1$. \item In pure constructive logic, the Dedekind [[real number]]s and the Cauchy real numbers need no longer coincide. The Cauchy reals sit inside the Dedekind reals, but in general not every Dedekind real need be approximable by a \emph{[[sequence]]} of rationals. From a topos-theoretic viewpoint, the Dedekind reals are usually the ``correct'' notion to study (if not the [[locale of real numbers]] as a whole). However, either excluded middle or countable choice suffices to ensure (via [[weak countable choice]]) that every Dedekind real is a Cauchy real, and hence that the two notions coincide; see (Bridges et al, 1998). \item There are at least three different constructive notions of [[ordinal number]]; see (Taylor 1996) and (Joyal--Moerdijk 1995). \item Without the axiom of choice, [[functor|functors]] and [[anafunctor|anafunctors]] become distinct, and often the latter is more appropriate; see (Makkai, 1996). \item Perhaps most disturbingly of all to the classical mathematician, one must distinguish between \emph{finite sets}, \emph{subfinite sets}, \emph{finitely-indexed sets}, and even \emph{subfinitely indexed sets}; see [[finite set]] for definitions. However, in practice it is usually either finite or finitely-indexed sets that are important, and with practice a little bit of thought suffices to show which is the relevant concept. \end{itemize} \hypertarget{negative_translation}{}\subsubsection*{{Negative translation}}\label{negative_translation} This allows one to translate classically valid theorems into intuitionistically valid theorems. See [[double negation translation]]. \hypertarget{truevassert}{}\subsubsection*{{Truth versus assertability}}\label{truevassert} Already in [[classical mathematics]], there is a difference between saying that something is true and saying that something is [[proof|provable]]. If you adopt [[ZFC]] because you believe it correct, then presumably you believe that ZFC is consistent even though (assuming that you're aware of certain theorems) you also know that you cannot prove it so. In that case, you also believe that the [[continuum hypothesis]] (for example) is either true or false; you may or may not have an opinion on which it is, but in any case again you know that you cannot prove it either way. A constructive mathematician can be even subtler. If you belong to the Bishop school, then you accept no classically false axioms, and anything that you can prove is valid also in classical mathematics. Even so, you can believe that the principle of excluded middle is false (even though, of course, you know that you cannot prove it false). So you can really confuse the classical mathematicians by saying, on the one hand, that they can safely accept all of your theorems as valid, and then saying, on the other hand, that you know excluded middle to be false. The resolution, of course, is that you never claimed that this was a \emph{theorem}. This way of talking has even been formalised in (Bishop, 1967) with a convention adopted by many (but not all) of his followers. In this convention, the word `not', used normally in a vernacular sentence whose mathematical content would otherwise be the proposition $p$, changes to the content to $\neg p$, or $p \to \bot$, as usual. (This follows all of the rules of [[intuitionistic logic]]; in particular, any statement that is `not' true is false (just as in [[classical logic]]).) However, the word `', in italics as shown here, changes the content to $p \to x$, where $x$ is some statement that is known (although not proved!), according to Bishop, to be false. Now a statement that is `' true may be false, but this may be unknown, and it is even possible that it is also `' false (so $\neg p \to x$, possibly for a different $x$). Bishop gives in his introduction several statements, suitable for use as $x$ above, including: \begin{itemize}% \item excluded middle itself, which Bishop call the `principle of omniscience'; \item the `[[limited principle of omniscience]]': any infinite sequence in $\{0,1\}^N$ is either all $0$ or has at least one $1$; \item the `[[lesser limited principle of omniscience]]': for any two infinite sequence in $\{0,1\}^N$ that do not both have at least one $1$, at least one of these sequences does not have at least one $1$; \item others. \end{itemize} At one point in his book, while discussing the possibility of a pointwise-continuous function $[0,1] \to R$ that is not uniformly continuous (a [[Specker function]], whose existence Markov's school claims as a theorem), Bishop seems to assert that this theorem is both true and false; he does not put it this way, so this may not be exactly what he meant, but there is no contradiction if it is. (But it \emph{is} a contradiction, even in intuitionistic logic, if a statment is both not true and not false; indeed, a definition of `false' may be taken to be `not true'.) This practice can be understood through a careful distinction between [[object language]] and [[metalanguage]]. A mathematical statement $p$ (such as the continuum hypothesis, or that a Specker function exists) belongs to the object language, as does $\neg p$ or $p \to x$ for any specific mathematical statement $x$. But the statement that $p$ is provable in some formal system belongs to the metalanguage (although it can also phrased internal to any object language suitable for mathematics), and as such may be written $\vdash p$. The metalanguage has its own logic (the metalogic, which for the sake of argument we may even assume to be classical), but notice that $\neg \vdash p$ and $\vdash \neg p$ are different; the first claims that $p$ cannot be proved, while the second claims that $p$ can be refuted, which (in any [[consistent logic|consistent]] formal system, even a classical one) is strictly stronger. Although Bishop did not commit to any formal system, if we assume for the sake of argument that he settled on one, then we may write $\vdash \neg p$ as our interpretation of his meaning when he asserts `not $p$' but $\neg \vdash p$ as his meaning when he asserts ` $p$'. Even without the notational convention of the Bishop school, it is important when reading constructive mathematics to remember the difference between what can be refuted (proved false) and what merely cannot be proved true. Although Brouwer's and Markov's schools will sometimes claim to prove statements that are (classically) outright false (such as that every function $[0,1] \to R$ is pointwise-continuous), it is more common (and can happen in any school) that a constructive mathematician makes a claim that merely \emph{sounds} false, when what they really mean is only that they don't accept what you say as true. Often modal phrases like `not necessarily' will be used where Bishop would use `', as a clue that we're shifting to a metalanguage, or at least merely remaining agnostic rather than outright disagreeing. The distinction between object language and metalanguage exists even in [[classical mathematics]], but it seems that most classical mathematicians are not used to remembering it, although it is not entirely clear why this should be so. One possibly relevant observation is that even if $P$ is a statement which is neither provable nor disprovable (like the continuum hypothesis), in classical mathematics it is still provable that ``$P$ is either true or false.'' Moreover, classical [[model theory]] often restricts itself to [[two-valued model]]s in which the only truth values are ``true'' and ``false,'' although classical logic still holds in [[Boolean algebra|Boolean-valued]] models, and in such a case the truth value of $P$ may be neither ``true'' nor ``false,'' although the truth value of ``$P$ or not $P$'' is still ``true.'' Certainly when talking about classical truths which fail constructively, such as excluded middle, it is important to remember that ``fails to be provable'' is different from ``is provably false.'' \hypertarget{prehistory}{}\subsection*{{Prehistory}}\label{prehistory} In \begin{itemize}% \item [[Georg Hegel]], \emph{[[Phenomenology of Spirit]]} (1807) \end{itemize} the following comment about mathematical proof (in section \emph{\href{https://www.marxists.org/reference/archive/hegel/works/ph/phprefac.htm#12}{12 Historical and mathematical proof}} of the Preface) might be read as being a complaint about the traditional non-constructive concept of proof and about the traditional lack of [[proof relevance]]: \begin{quote}% All the same, while proof is essential in the case of mathematical knowledge, it still does not have the significance and nature of being a moment in the result itself; the proof is over when we get the result, and has disappeared. The process of mathematical proof does not belong to the object; it is a function that takes place outside the matter in hand. \href{https://www.marxists.org/reference/archive/hegel/help/finpref.htm#m042}{footnote 42}: Mathematical truths are not thought to be known unless proved true. Their demonstrations are not, however, kept as parts of what they prove, but are only our subjective means towards knowing the latter. In philosophy, however, consequences always form part of the essence made manifest in them, which returns to itself in such expressions. \end{quote} See also earlier conceptions of proofs expressing the `cause' of a theorem, where \emph{reductio} proofs in particular were taken generally to fail. Such an idea goes back to Aristotle for whom a proper answer to the question ``Why is the angle in a semicircle a right-angle?'' gives its cause. \begin{itemize}% \item Paolo Mancosu, \emph{Philosophy of Mathematics and Mathematical Practice in the Seventeenth Century}, OUP, 1996. \end{itemize} \hypertarget{related_entries}{}\subsection*{{Related entries}}\label{related_entries} See also \emph{[[intuitionistic mathematics]]} and \emph{[[realizability]]} and \emph{[[computability]]}. \begin{itemize}% \item [[constructive analysis]] \end{itemize} Concepts that usually arise in constructive mathematics, often because they are classically trivial: \begin{itemize}% \item [[proof relevance]] \item [[anafunctor]] (classically equivalent to a [[functor]]) \item [[apartness relation]] (classically complementary to an [[equivalence relation]]) \item [[comparison]] (classically complementary to a [[transitive relation]]) \item [[decidable equality]] (classically trivial) \item [[decidable subset]] (classically trivial) \item [[inhabited set]] (classically equivalent to a non-[[empty set]]) \item [[linear order]] (classically complementary to a [[total order]]) \item [[locale]] (classically similar to but not equivalent to a [[topological space]]) \item [[quasiorder]] (classically complementary to a [[partial order]]) \item [[subsingleton]] (classically equivalent to the empty set or a [[singleton]]) \end{itemize} Some of these are also useful internally or even classically. Topics relevant to the foundations of constructive mathematics: \begin{itemize}% \item [[axiom of choice]] \item [[Bishop set]] \item [[centipede mathematics]] \item [[choice object]] \item [[COSHEP]] \item [[excluded middle]] \item [[finite mathematics]] \item [[internalization]] \item [[internal logic]] \item [[intuitionistic logic]] \item [[Markov's principle]] \item [[power set]] \item [[predicative mathematics]] \item [[pretopos]] \item [[set theory]] \item [[topos]] \item [[truth value]] \item [[type theory]]\begin{itemize}% \item [[intuitionistic type theory]] \item [[homotopy type theory]] \end{itemize} \end{itemize} Other articles with content relating to constructive mathematics (rather incomplete): \begin{itemize}% \item [[axiom of foundation]] \item [[biproduct]] \item [[Cantor's theorem]] \item [[cardinal number]] \item [[complement]] \item [[complete lattice]] \item [[countable set]] \item [[cyclic order]] \item [[direct sum]] \item [[extended natural number system]] \item [[field]] \item [[filter]] \item [[finite set]] \item [[Grothendieck topos]] \item [[Hausdorff space]] \item [[hereditarily finite set]] \item [[infinite set]] \item [[injection]] \item [[local ring]] \item [[metric space]] \item [[partial function]] \item [[pure set]] \item [[real number]] \item [[sequence]] \item [[Set]] \item [[Sierpinski space]] \item [[simple object]] \item [[sober space]] \item [[topological space]] \item [[Tychonoff theorem]] \item [[uniform space]] \item [[well-founded relation]] \item [[well-order]] \item [[well-ordering theorem]] \item [[well-pointed topos]] \item [[Zorn's lemma]] \end{itemize} In principle, every article could explain how it applies to constructive mathematics, but that will probably never happen. There is also \begin{itemize}% \item [[constructivism and idealism]] \end{itemize} \hypertarget{References}{}\subsection*{{References}}\label{References} \hypertarget{general}{}\subsubsection*{{General}}\label{general} Gentle introductions include \begin{itemize}% \item [[Douglas Bridges]], \emph{Introducing constructive mathematics}, Lecture Notes, Nis 2013 (\href{http://www.masfak.ni.ac.rs/cmfp2013/Nis%20lecture%20170113.pdf}{pdf}) \item [[Andrej Bauer]], \emph{Five Stages of Accepting Constructive Mathematics}, talk at IAS March 18, 2013 (\href{http://video.ias.edu/members/1213/0318-AndrejBauer}{video}), Bull. Amer. Math. Soc., 2016 (\href{http://www.ams.org/journals/bull/0000-000-00/S0273-0979-2016-01556-4/home.html}{publisher}) \item [[Fred Richman]], \emph{\href{http://math.fau.edu/richman/docs/intrview.html}{Interview with a constructive mathematician}}, Modern Logic 6 (1996), no. 3, 247--271 (\href{http://www.ams.org/mathscinet-getitem?mr=1400617}{MathSciNet}) \item [[Ingo Blechschmidt]], \emph{Double-negation translation and CPS transforms}, 2015 (\href{http://rawgit.com/iblech/talk-constructive-mathematics/master/negneg-translation-notes.pdf}{pdf}) \item Stanford Encyclopedia of Philosophy, \emph{\href{http://plato.stanford.edu/entries/mathematics-constructive/}{Constructive mathematics}} \end{itemize} An more technical introduction to constructive reasoning in mathematics is in the introduction of \begin{itemize}% \item [[Univalent Foundations Project]], \emph{[[Homotopy Type Theory -- Univalent Foundations of Mathematics]]} \end{itemize} Other references include the following. \begin{itemize}% \item [[Errett Bishop]] (1967). \emph{Foundations of Constructive Analysis}. Rewritten with Douglas Bridges in 1985 as \emph{Constructive Analysis}. \item [[Douglas Bridges]] and [[Fred Richman]], \emph{Varieties of constructive mathematics} (1987) \item [[Douglas Bridges]], [[Fred Richman]], Peter Schuster (1998). A weak countable choice principle. Available from \href{http://math.fau.edu/richman/html/docs.htm}{Fred Richman's Documents}. \item [[Michael Makkai]] (1996). \href{http://www.math.mcgill.ca/makkai/anafun/}{Avoiding the axiom of choice in general category theory}. \item [[Fred Richman]] (2000). \href{http://math.fau.edu/richman/html/nsf.htm}{Constructive mathematics without choice}. \item [[Paul Taylor]] (1996). Intuitionistic Sets and Ordinals. Available (with several other references) at \href{http://www.PaulTaylor.EU/ordinals/index.php}{Induction, recursion, replacement and the ordinals}. \item [[André Joyal]] and [[Ieke Moerdijk]] (1995). \emph{Algebraic set theory}. \item [[Frank Waaldijk]] (2003). \href{http://www.fwaaldijk.nl/foundations%20of%20constructive%20mathematics.pdf}{On the foundations of constructive mathematics - especially in relation to the theory of continuous functions} (PDF). \end{itemize} General comments on intuitionistic mathematics/logic as the natural language for [[physics]] are in \begin{itemize}% \item [[Andrej Bauer]], \emph{\href{http://math.andrej.com/2008/08/13/intuitionistic-mathematics-for-physics/}{Intuitionistic mathematics for physics}}, August 2008 \end{itemize} For more on [[physics]] formalized in intuitionistic mathematics (notably in [[topos theory]]) see at \emph{[[geometry of physics]]}. For an emphasis on proof relevance, see: \begin{itemize}% \item [[Robert Harper]], \emph{\href{https://existentialtype.wordpress.com/2013/07/10/constructive-mathematics-is-not-meta-mathematics/}{Constructive Mathematics is not Metamathematics}} (2013) \end{itemize} Most books on [[topos theory]] include some discussion of toposes' [[internal logic|internal]] constructive logic. One good reference is: \begin{itemize}% \item [[Peter Johnstone]] (2003). \emph{[[Elephant|Sketches of an elephant]]}. Part D (in volume 2). \end{itemize} A historical account is in \begin{itemize}% \item [[Anne Sjerp Troelstra]], \emph{History of Constructivism in the Twentieth Century} (1991). (\href{https://www.illc.uva.nl/Research/Publications/Reports/ML-1991-05.text.pdf}{pdf}) \end{itemize} The relation to [[realizability]] and [[computability]] is discussed in \begin{itemize}% \item [[Andrej Bauer]], \emph{Realizability as connection between constructive and computable mathematics}, in T. Grubba, P. Hertling, H. Tsuiki, and [[Klaus Weihrauch]], (eds.) \emph{CCA 2005 - Second International Conference on Computability and Complexity in Analysis}, August 25-29,2005, Kyoto, Japan, ser. Informatik Berichte, vol. 326-7/2005. FernUniversit\"a{}t Hagen, Germany, 2005, pp. 378--379. (\href{http://math.andrej.com/data/c2c.pdf}{pdf}) \end{itemize} See also the references at \emph{[[intuitionistic mathematics]]} for more. [[!redirects constructive]] [[!redirects constructive mathematics]] [[!redirects constructivist mathematics]] [[!redirects constructivist]] [[!redirects constructivism]] [[!redirects construction]] [[!redirects constructions]] \end{document}