In decision theory, we often talk about programs that know their own source code. I'm very confused about how that theory applies to people, or even to computer programs that don't happen to know their own source code. I've managed to distill my confusion into three short questions:
1) Am I uncertain about my own source code?
2) If yes, what kind of uncertainty is that? Logical, indexical, or something else?
3) What is the mathematically correct way for me to handle such uncertainty?
Don't try to answer them all at once! I'll be glad to see even a 10% answer to one question.
No, I don't think so.
Are you making the Searle's Chinese Room argument?
In any case, even if we accept the purely functional approach, it doesn't seem obvious to me that you must be able to create a simulation which picks the "right" answer in the future. You don't get to run 2^n instances and say "Pick whichever one you satisfies your criteria".
Well, I did say "In the broadest sense", so yes, that does imply a purely functional approach.
The claim was that it is possible in principle. And yes, It is possible, in principle, to run 2^n instances and pick the one that satisfies the criteria.