Ok, I see the problem and confusion.

So, usually, when looking at independence and dependence most texts (from what I know) only rely on checking if P(A \cap B) is equal to P(A)*P(B) or not.

That’s the only thing needed to be checked.

DQ considering all three sort of extends on that but it can be confusing because of how they phrased things.

P(A \cap B) = P(A)*P(B)

If the above is **true** then the following **has to be true** as well.

P(A) = P(A|B)

P(B) = P(B|A)

The above comes from the multiplication rule. In the previous Mission Step to the one you linked - Learn data science with Python and R projects, they show

So, we could either say that either

P(A) = P(A|B)

P(B) = P(B|A)

is True or we could say that

P(A \cap B) = P(A)*P(B)

is True or we could say all three are True for them to be independent.

Now, let’s consider the case where one of them is **not True**. Let’s say

P(A) \neq P(A|B)

Looking back at the image I shared above, that would mean -

P(A \cap B) = P(B)*P(A|B) = P(A)*P(B|A)

Or

P(B)*P(A|B) = P(A)*P(B|A)

If P(A) \neq P(A|B), then from the above we will **also** have P(B) \neq P(B|A). It’s a simple enough proof by looking at the above so I’m sure you can figure out why this is the case.

We **can not** have one True while the other is False. Either both are True or both are False.

So, when looking at independence we can say that either one of the statements is True or all of the statements are True because those statements imply the same thing. And for dependency, we can say that either one of the statements is False or all of the statements are False because those statements imply the same thing.

That’s why it’s often fine to only look at P(A \cap B) = P(A)*P(B) and see if that’s True or not.

Hopefully, this clears your confusion.