# How Bell was wrong (if the article gave the right example)

Not so long ago, this week, I came across a post three years ago. There he is . If you read it carefully, you will come across something that will disturb you to the core. Unless, of course, you understand what probability theory is. This passage is about:
"55.55% is the probability that the drawers will light up in the same color when we select two doors at random, in accordance with the theory of hidden parameters."

All my acquaintance with theorver literally screamed about the error. But there is a nuance ... I, too, may be mistaken. So let's check!

As the author argues: we take one, any combination, and look at the probability of coincidence.

As I reason: I simply add up the probabilities of getting a match of zeros (R) and 1 (G). And I get just 50%.

I will not give long arguments, I will give a short one: If you threw a coin, then your first throw, as well as the second and any other, can not affect the next. Any subsequent roll result has a 50/50 chance of falling. And, as a result, the result of the match will be 50 to 50.

I am neither a professional mathematician, nor, moreover, a professional physicist. I am just a programmer. Therefore, I could be wrong. And so I decided to check the result of my reasoning.

``````#define TESTMAX 1000000
struct ThreeWindowBox {
bool m_Window;
};
float percent(int in) {
return 100.0f *(((float)in) / (float)(TESTMAX));
}
int main(int argc, char** argv)
{
//для тестирования Rand.
int alls;
alls = 0;
alls = 0;
int compare = 0;
ThreeWindowBox* allBoxes = new ThreeWindowBox[TESTMAX];
//заполняем позиции.
for (int i = 0; i < TESTMAX; i++) {
for (int window = 0; window < 3; window++) {
int tmp = rand() % 2;
alls[tmp]++;
allBoxes[i].m_Window[window] = tmp;
}
}
//А теперь ловим совпадения
for (int i = 0; i < TESTMAX; i++) {
int wind1 = rand() % 3;
int wind2 = rand() % 3;
//окна не должны совпадать!
while(wind1 == wind2)
wind2 = rand() % 3;
if (allBoxes[i].m_Window[wind1] == allBoxes[i].m_Window[wind2])
compare++;
}
float perCompare = percent(compare);
float perZero = percent(alls) / 3;
float perOne = percent(alls) / 3;
std::cout << perCompare << " " << perZero << " " << perOne;
}
``````

For every fireman, I decided to check the rand function to ensure that there is no global superiority of any value over another. And the result is exactly the one that was to be expected: 50.0251 49.9968 50.0032

What does this mean? This means that either the author of the article chose the wrong analogy, Bell made a mistake, or the presence of a hidden parameter cannot be detected by measurements.

P.S. If I did make a mistake, I will be happy to hear what exactly my mistake is.
P.P.S. Found Bell's original article.
If I understood correctly, he does not consider coincident axes, but simply the probabilities of coincidence in different axes. And yes, there is the same mistake.
But ... I really lack the knowledge inherent in the article itself. Therefore, if anyone can read it and UNDERSTAND it, I ask you to explain it in an accessible language.

P3.c
Ass crept from where I was not expecting her. In principle, this was quite expected :-)
According to this article , the probabilities are not evenly distributed. Those. I was right for the case at 90 (270) degrees. And there are more and more angles! And here he is, a catch: at an angle = 0 R will always fall, and at 180 - always G.
And, as the author claims, Bell said that, attention, the catch:
there are angles at which the condition
N [A +, B +] ≤ N [B–, C–] + N [A +, C +] is
not satisfied.

where N [A +, B +] - the probability of R in the windows A, B
N [A +, C +] - the probability of R in the windows A, C
N [B-, C-] - the probability of G to B boxes, C

Thus , the angles for A, B, C are their own.

And here is how to refute / prove it from the point of view of hidden parameters, I do not know yet, but the weekend is ahead!
Who wants to - join :-)