> ... we can define an uncomputable problem like the one in Turing’s proof: “Given an input string representing the code of an algorithm, output 1 if that algorithm outputs 0 when its own code is the input; otherwise, output 0.” Every algorithm that tries to solve this problem will produce the wrong output on at least one input — namely, the input corresponding to its own code.
Why is this impossible?
As I see it, there are two algorithms intermixed in that statement:
1. Code that emits a 0 if the input is it's own code
2. Code that emits a 1 if it receives as input code that behaves according to Algo 1.
Feel like I'm missing something basic or obvious!