Q is a program that takes one input P.
But then you said "QQ is a program which executes Q with itself as input".
So in the program QQ, the first Q uses the second Q as input, but what does the second Q use as input?
But Q is the source code of a program that needs an input.
How would you determine if Q halts or not, if you don't give it an input?
Q is a program that takes one input P.
But then you said "QQ is a program which executes Q with itself as input".
So in the program QQ, the first Q uses the second Q as input, but what does the second Q use as input?