What is the “you” that is supposed to verify that? It’s certainly possible if “you” already have your source code via the quine trick, so that you just compare it with the one given to you. On the other hand, if “you” are a trivial program that is not able to do that and answers “yes, it’s my source code all right” unconditionally, there is nothing to be done about that. You have to assume something about the agent.
“What is the you” is part of the question. Consider it in terms of counterfactuals. Agent A is told via quining that it has source code S. We’re interested in how to implement A so that it outputs “yes” if S is really its source code, but would output “no” if S were changed to S’ while leaving the rest of the agent unchanged.
In this formulation the problem seems to be impossible to solve, unless the agent has access to an external “reader oracle” that can just read its source code back to it. Guess that answers my original question, then.
What is the “you” that is supposed to verify that? It’s certainly possible if “you” already have your source code via the quine trick, so that you just compare it with the one given to you. On the other hand, if “you” are a trivial program that is not able to do that and answers “yes, it’s my source code all right” unconditionally, there is nothing to be done about that. You have to assume something about the agent.
“What is the you” is part of the question. Consider it in terms of counterfactuals. Agent A is told via quining that it has source code S. We’re interested in how to implement A so that it outputs “yes” if S is really its source code, but would output “no” if S were changed to S’ while leaving the rest of the agent unchanged.
In this formulation the problem seems to be impossible to solve, unless the agent has access to an external “reader oracle” that can just read its source code back to it. Guess that answers my original question, then.