Below, you can find another hint for the Generalized Challenge.
You should only get here after reading, digesting, and applying the .
All that remains to be done is putting together the fragments collected in the preceding two hints to construct a program that outputs its own shadow. Here is a skeleton:
To obtain the desired program, we process the skeleton as before, by supplying it as input to
where the definitions of encode(), transcribe() and copy() are included as well. By the way, we now used the defitions of transcribe() and copy() that return a string. The resulting program then generates the desired program. . It outputs:
This output is a program that outputs its own shadow, as you can :
Do you now see a general structure for a program that applies a given function f to itself? Can you use this to implement the desired algorithm G?
It is your turn ...
If you have no idea how to get started, or if you tried some programs and do not see how to proceed, then you are ready for the .