A computation is the mechanical execution of a set of basic operations.
Infinite memory
Finite set of states
Rules to change state
For instance, computers perform computations, as well as us when we sum integers.
A function is computable if the image of an element can be known by a computation.
A set of integers is computable if the belonging of an element to the set can be known by a computation.
\(f\) computable
\(A\) computable
\(n\)
\(f(n)\)
\(n\in A\)
Some sets are uncomputable:
There are countably many programs, but uncountably many sets.
Fix a reasonable enumeration \((\Phi_e)_{e\in\mathbb N}\).
The set \[\emptyset' = \{e: \Phi_e(e)\text{ halts}\}\] is not computable. This set is called the halting problem.
A computation relativized to \(C\) is the mechanical execution of a set of basic operations, with an oracle answering questions of the form "is \(n\in C\)?".
Infinite memory
Finite set of states
Rules to change state
Has access to \(C\) for free
If a set \(A\) is computable relative to a set \(B\), we write \[A\leq_TB\]
We have \[\emptyset' = \{e\in\mathbb N: \Phi_e(e)\text{ halts}\} \quad {\color{red}\leq_T} \quad\{e\in\mathbb N: \Phi_e\text{ is total}\}\]
Proof: Consider the following (relativized) algorithm:
Input: \(e\)
Find \(e'\) such that \(\Phi_{e'}(n) := \Phi_e(e)\) for every \(n\),
Answer if \(\Phi_e(e)\) halts according to whether \(\Phi_{e'}\) is total.
Fix a set \(A\). Some sets are uncomputable in \(A\):
There are countably many programs, but uncountably many sets.
Fix a reasonable enumeration \((\Phi_e^A)_{e\in\mathbb N}\).
The set \[A' = \{e: \Phi^A_e(e)\text{ halts}\}\] is not computable relative to \(A\). This set is called the jump of \(A\).
Fix a set \(A\). The jump of \(A\), written \(A'\), is the set of code of algorithm relativized to \(A\) which halts. In other words, \[A' = \{e: \Phi^A_e(e)\text{ halts}\}\]
Links with definability
We will mainly be in the language of arithmetics, that is \(\mathcal L = (0,1,+,\times, \lt)\). In this language, we say that:
A formula is \(\Delta_0^0=\Pi^0_0=\Sigma^0_0\) if it only has bounded quantifiers,
A formula is \(\Sigma^0_{n+1}\) if it is of the form \(\exists n, \phi(n)\) where \(\phi\) is \(\Pi^0_n\)
A formula is \(\Pi^0_{n+1}\) if it is of the form \(\forall n, \phi(n)\) where \(\phi\) is \(\Sigma^0_n\)
A formula is \(\Delta^0_n\) if it is equivalent to both a \(\Sigma^0_n\) and a \(\Pi^0_n\) formula
In Mathematical Logic, complexity of formulas translates to complexity of sets through definability by comprehension.
For every set \(A\subseteq\mathbb N\), we have :
\[A\text{ is computable}\Longleftrightarrow A\text{ is \(\Delta^0_1\)-definable.}\]
\[A\text{ is computable in }C\Longleftrightarrow A\text{ is \(\Delta^0_1(C)\)-definable.}\]
The set \(\emptyset'\) is \(\Sigma^0_1\), and for every set \(A\subseteq\mathbb N\), we have :
\[A\text{ is computable in }\emptyset'\Longleftrightarrow A\text{ is \(\Delta_2^0\)-definable.}\]
Indeed, "\(\Delta^0_1(\Sigma^0_1) = \Delta^0_2\)". Similarly,
\[A\text{ is computable in }C'\Longleftrightarrow A\text{ is \(\Delta_2^0(C)\)-definable.}\]
For every set \(A\subseteq\mathbb N\), we have :
\(A\) is \(\Delta^0_{n+1}\) definable
\(\Longleftrightarrow\)
\(A\) is computable with oracle \(\emptyset^{(n)}\)
These links allow to use computability theory in other domains of mathematical logic:
Proof Theory, studying provability from the mathematical point of view.
Descriptive set theory, studying the properties of the definable subsets of the reals.
Reverse Mathematics
Reverse Mathematics
The goal of reverse mathematics is to find the necessary axioms to prove theorems from ordinary mathematics.
Prove the axioms, supposing the theorem.
Two theorems \(T_0\) and \(T_1\) are said equivalent over \(B\) if:
Taking \(T_0\) and \(B\) as axioms, we can prove \(T_1\)
Taking \(T_1\) and \(B\) as axioms, we can prove \(T_0\)
First discovery: The vast majority of natural theorems are equivalent to one out of five axiomatic systems.
Second discovery: lots of theorems from Ramsey Theory avoid this structure.
Using computability in reverse mathematics
Why is computability theory useful in reverse mathematics?
Recursive Comprehension Axiom
Recall the links between definability and computability. For instance, \[B\leq_TA\Leftrightarrow B\text{ is }\Delta^0_1(A)\] Therefore:
\(\Delta^0_1\)-comprehension
\(\Longleftrightarrow\)
For every \(A\), if \(B\leq_T A\), then \(B\) exists.
The axiomatic system \(\mathrm{RCA}_0\) is equivalent to the axiomatic system containing Robinson arithmetic, \(\Sigma^0_1\) induction and the existence of all the (relatively) computable sets.
Arithmetical Comprehension Axiom
Similarly, \[B\leq_TA^{(n)}\Leftrightarrow B\text{ is }\Delta^0_{n+1}(A)\] Therefore:
Arithmetical comprehension
\(\Longleftrightarrow\)
For all \( A,n\), \(A^{(n)}\) exists.
\(\Longleftrightarrow\)
For all \(A\), \(A'\) exists.
The axiomatic system \(\mathrm{ACA}_0\) is equivalent over \(\mathrm{RCA}_0\) to the axiomatic system containing \(\mathrm{RCA}_0\) and the existence of the jump of any set.
The theorem of Bolzano-Weierstrass implies \(\mathrm{ACA}_0\) over \(\mathrm{RCA}_0\)
Proof: Let \(\emptyset'_s=\{e:\Phi_e(e)\) halts in time \(s\}\). Let \(x_s = \sum_{e\in\emptyset'_s}2^{-e}\).By Bolzano-Weierstrass, let \(x\) be a limit for \((x_s)_{s\in\mathbb N}\).Then, \(\emptyset'=\{e:x\) has a 1 at position \(e\}\) exists.
Weak König's Lemma
A PA degree is a Turing degree that computes, equivalently:
A completion of Peano Arithmetics
A path in every computable infinite binary tree
PA degrees are a well studied and understood complexity notion of computability.
The axiomatic system \(\mathrm{WKL}_0\) is equivalent over \(\mathrm{RCA}_0\) to the axiomatic system containing \(\mathrm{RCA}_0\) and the existence of a PA degree over any set.
Separating axioms of reverse mathematics
\(\emptyset'\) is uncomputable
\(\mathrm{RCA}_0\) does not imply \(\mathrm{ACA_0}\)
Proof: The set consisting of all the computable sets of integers is a model of \(\mathrm{RCA}_0\) but not of \(\mathrm{ACA}_0\).
There exists a PA degree \(A\) such that \(A'=\emptyset'\). Moreover a PA degree cannot be computable.
\(\mathrm{WKL}_0\) is strictly in between \(\mathrm{RCA_0}\) and \(\mathrm{ACA_0}\).
Conclusion on reverse mathematics
The natural axioms occuring in mathematics correspond to the existence of objects of a given computable complexity.
There are two understandings of the reverse mathematical study of a theorem:
What are the used axioms, are they really necessary?
What is the computable complexity of the objects in the proof, can we lower it?
In particular, for theorems of the form \(\forall X,\exists Y: \Psi(X,Y)\), we are interested in the following:
Lower bound: Does there exist a computable \(X_0\), such that any \(Y\) with \(\Psi(X_0,Y)\) is "complex"?
Upper bound: Does there exist a complexity, such that for any computable \(X\), there exists \(Y_0\) with \(\Psi(X,Y_0)\) with the given complexity?
Hindman's Theorem
Hindman's Theorem
Let \(A\subseteq\mathbb N\). Then, we define the set of sums of finitely many elements from \(A\).
\[\operatorname{FS}(A) = \left\{\sum_{i=0}^na_i\quad:\quad n\in\mathbb N,\ \ a_i\in A,\ \ \text{ the \(a_i\) are all different}\right\}\]
Note that \(FS(A)\) is not closed under finite sums. For instance, \[\operatorname{FS}(\{1\}\cup3\mathbb N)=3\mathbb N\cup3\mathbb N+1\]
For allcolorings of the integers in a finite number of colors \(\mathbb N=C_0\cup\cdots\cup C_n\), there exists a color \(i\) and an infinite set \(H\subseteq C_i\) and such that \[\operatorname{FS}(H)\subseteq C_i\]
The coloring of even and odd integers,
The \(\mathrm{mod}\ 3\) coloring,
The coloring given by the parity of the length of the binary expansion
01234567891011121314151617 ...
An IP set is a set \(A\subseteq\mathbb N\) such that there exists \(S\) such that \(\operatorname{FS}(S)\subseteq A\)
This notion is a notion of largeness.
For anyIP set \(A=A_0\cup\cdots\cup A_n\), for some \(i\) we have that \(A_i\) is an IP set.
State of the art of the Reverse Mathematics of Hindman's theorem.
Hindman's theorem is provable in \(\mathrm{ACA}_0^+\).
Every finite coloring \(c\) admits a homogeneous set \(H\) computable in the \((\omega+2)\)-th Turing jump of \(c\).
Hindman's theorem proves \(\mathrm{ACA}_0\).
There exists a computable finite coloring such that all homogeneous set \(H\) compute \(\emptyset'\).
Is Hindman's theorem equivalent to \(\mathrm{ACA}_0\)? To \(\mathrm{ACA}_0^+\)? Or strictly in between?
Given a computable finite coloring, does there always exist an arithmetical solution? Or does there exist a finite computable coloring such that all homogeneous set compute \(\emptyset^{(\omega)}\) ?
Idea of the proof
Define a largeness notion such that we can prove: $$\text{There exists a large color}\tag{1}$$ $$A\text{ is large }\Longrightarrow \exists n\in A, A\cap A+n\text{ is large. }\tag{2}$$
What are the possible candidate for this notion of largeness?
(2) does not hold for "large" being "infinite"
(1) is equivalent to Hindman's Theorem when "large" is "being an IP set"
An idempotent ultrafilter is an ultrafilter \(\mathcal U\) such that \(\mathcal U + \mathcal U\), where \[A\in\mathcal U + \mathcal U \Longleftrightarrow \{n:A-n\in\mathcal U\}\in\mathcal U\]
(1) and (2) hold for "large" being "member of a fixed idempotent ultrafilter" (Galvin and Glazer)
(1) and (2) hold when "\(A\) is large in \(I\)" means "no IP subset \(I'\) of \(I\) is such that\(I'\cap A=\emptyset\)" (Baumgartner).
Effectivizing the proof
$$A\text{ is large }\Longrightarrow \exists n\in A, A\cap A+n\text{ is large. }\tag{2}$$
The problem is that the \(n\) found in (2) is chosen in a very non uniform way. For instance, in the ultrafilter proof, it is an element of \(A\cap\{n:A-n\in\mathcal U\}\).
From Baumgartner's proof, the highly non-effective part is only the choice of which set is large out of finitely many.
We postpone this choice to the end of the construction.
$$A\text{ is large }\Longrightarrow \exists {\color{maroon}n_0,\cdots, n_N}\in A, \bigcup_{i\lt N}A\cap A+{\color{maroon}n_i}\text{ is large. }$$
A full-match for a coloring \(c\) is a couple \((F,S)\) where \(F\) is a finite set, and for every \(x\in\operatorname{FS}(S)\), there exists \(a\in F\) such that \[c(a)=c(x)=c(a+x)\]
The complexity of a full-match is essential to understand the complexity of a solution to Hindman's theorem!
Complexity of full/right/left-matches
A full-match for a coloring \(c\) is a couple \((F,S)\) where \(F\) is a finite set, and for every \(x\in\operatorname{FS}(S)\), there exists \(a\in F\) such that \[c(a)=c(x)=c(a+x)\]
Does there always exists a computable full-match given a computable coloring?
An affirmative answer would prove Hindman's theorem equivalent to \(\mathrm{ACA}_0\)
A negative answer to the question was published, but there was an error in the proof.
The proof of the existence of a full-match is similar to Hindman's Theorem, given the existence of right-matches. The proof yields an arithmetical solution.
A right-match for a coloring \(c\) is a couple \((F,S)\) where \(F\) is a finite set, and for every \(x\in\operatorname{FS}(S)\), there exists \(a\in F\) such that \[c(x)=c(a+x)\]
Every computable coloring admits a computable right-match, uniformly in the double jump of the coloring.
A left-match for a coloring \(c\) is a couple \((F,S)\) where \(F\) is a finite set, and for every \(x\in\operatorname{FS}(S)\), there exists \(a\in F\) such that \[c(a)=c(a+x)\]
Every computable coloring in two colors admits a computable left-match.
However, the following hold:
The existence of computable full-match for 2 colors implies the existence of computable full-matches for \(n\) colors, but
The existence of computable left-match for 2 colors does not imply the existence of computable left-matches for \(n\) colors.
Does there always exist a computable full-match given a computable 2-coloring?
Does there always exist a computable left-match, given a computable 3-coloring, ?
Consider the following property:
$$\exists F\subseteq C_i, \forall x\in\operatorname{FS}(S),\ \exists a\in F,\ c(a+x) = j\tag{\(\mathrm{MM}_{i,j}\)}$$
Every coloring in two colors satisfying one of the following properties:
\(\lnot(\mathrm{MM}_{0,1})\) or \(\lnot(\mathrm{MM}_{1,0})\)
\((\mathrm{MM}_{0,0})\) and \((\mathrm{MM}_{1,1})\)
\(\lnot(\mathrm{MM}_{0,0})\) and \(\lnot(\mathrm{MM}_{1,1})\)