[Math] constructive proof of Cantor–Bernstein–Schroeder theorem

lo.logicset-theory

An important feature of the Cantor-Schroeder-Bernstein theorem is that it does not rely on the axiom of choice. However, its various proofs are non-constructive, as they depend on the law of excluded middle.

There are several well-known proof strategies. For example, there is a simple proof which uses Tarski's fixed point theorem.

My question pertains to the well known proof attributed to Julius Konig, and given here: Proof by Konig.
What I have not been able to grasp is, how this is not a constructive proof? Given functions $f$ and $g$, isn't it possible to actually arrive at the bijection by forming biinfinite sequences as given in the proof?

Best Answer

There is no constructive proof.

To show this, let $A = \mathbb{N}$ and let $B = \{ n \in \mathbb{N}\; |\; \varphi_n(0) \uparrow \}$, where $\varphi_n(0) \uparrow$ means that the $n$th Turing machine is undefined on input 0. There are computable injections $f:A \rightarrow B$ and $g:B \rightarrow A$ (the identity), but no computable surjection from $A$ to $B$ because $B$ is not a c.e. set.

To see why Konig's proof is nonconstructive, let's say that we want to know what the image of $n \in A$ is under the bijection. In order to do this we need to know whether we apply $f$ or $g^{-1}$. But to know this we need to decide whether $n$ is an $A$-stopper, a $B$-stopper, or neither. However we can't do this constructively because it would require checking the entire possibly infinite sequence to see if it ever stops. In fact, in the example above, being able to decide whether or not $g^{-1}$ is defined is the same as deciding the halting problem, so at odd stages we don't even know whether or not the sequence extends any further back at all.