Suppose the amount in the envelope you choose is $100. If your amount is the smaller one, the other one has $200. If your amount is the larger one, the other one has $50. So the expectation supporting the switching argument is computed over two different scenarios, where the amounts in the envelopes are {50, 100} and {100, 200} respectively.
This calculation seems to violate a hidden logical constraint: the set of amounts in the two envelopes must be the same no matter what conditional branches we consider for the expectation.
Another related issue - if you switch, the argument for switching back assumes the amount in your original envelope is 4x what you originally said it was.
To expand on this, the switching argument is actually correct if you happen to know that the envelopes contain either {x, 2x} or {2x, 4x} dollars (where x = 50 or whatever), and you observe that A=100. These are effectively hidden assumptions of the argument.
If you wanted to, you could explicitly model all possible values of the envelopes, and all possible observations of A – and you'd get the right answer again, including in the case above. You just can't define A in a path-dependent way, and then treat it as having the same value in all paths.
Suppose the amount in the envelope you choose is $100. If your amount is the smaller one, the other one has $200. If your amount is the larger one, the other one has $50. So the expectation supporting the switching argument is computed over two different scenarios, where the amounts in the envelopes are {50, 100} and {100, 200} respectively.
This calculation seems to violate a hidden logical constraint: the set of amounts in the two envelopes must be the same no matter what conditional branches we consider for the expectation.
Another related issue - if you switch, the argument for switching back assumes the amount in your original envelope is 4x what you originally said it was.