Just developing my second idea at the end of my last post. It seems to me that in the Newcomb problem and in the counterfactual mugging, the completely trustworthy Omega lies to a greater or lesser extent.
This is immediately obvious in scenarios where Omega simulates you in order to predict your reaction. In the Newcomb problem, the simulated you is told "I have already made my decision...", which is not true at that point, and in the counterfactual mugging, whenever the coin comes up heads, the simulated you is told "the coin came up tails". And the arguments only go through because these lies are accepted by the simulated you as being true.
If Omega doesn't simulate you, but uses other methods to gauge your reactions, he isn't lying to you per se. But he is estimating your reaction in the hypothetical situation where you were fed untrue information that you believed to be true. And that you believed to be true, specifically because the source is Omega, and Omega is trustworthy.
Doesn't really change much to the arguments here, but it's a thought worth bearing in mind.
Nope!
For example, many programmers will be able to predict the output of this function without running it or walking through it mentally (which would require too much effort):
Ignoring the fact that this is a contrived edge case of disputable relevance to the Omega-predicting-human-decisions problem, there is still a model being run.
Why does it need to be a programmer? Why would non-programmers not be able to predict the output of this function with 100% accuracy?
What, then, is the difference in what a programmer does versus what a non-programmer does?
Clearly, the programmer has a more accurate mental model of what the function does and how it works and what its compiler (and the thing that runs the compiled code) or interprete... (read more)