P( at least one A ) = 1 - P (no A's) =
1 - (26C7) / (30C7) = 0.67688 = 0.68
P( at least 2 B) =
1 - P(0 B) - P(1 B) =
1 - (22 choose 7)/(30 choose 7) - (8 * 22 choose 6) / 30 choose 7
= 0.70299 = 0.62302
~ ~ ~ Agree with your numbers so far ~ ~ ~
P(A and B) is not simply P(A) * P(B)
because they are not independent.
Intuitively, consider this:
P(B occurs) is based on having 7 chances to draw 2 B's.
Suppose the first card drawn is an A (and therefore event A has occurred).
Now you only have 6 shots at drawing 2 B's, which makes it less likely to occur.
That's over simplified, but it gives you the general idea:
If A occurs, B is somewhat less likely to occur,
and if B occurs, A is somewhat less likely to occur.
P( A and B) = 1 - (don't get an A and 2 B's)
This is a rather complex calculation.
If can fail as follows:
A B C
0 * * = 26C7
1+ 0 * = 22C7 - 18C7 [ all A-C only - C only ]
1+ 1 * = 8 * (22C6 - 18C6) [ 1 B and ( 6 A-C - C only ) ]
Total draws = 30 choose 7 = 2035800
P(not ( A & B) ) = 0.6115
P (A and B) = 1 - 0.6115 = 0.3885
P( A or B) = P(A) + P(B) - P(A & B) = .68 + .62 - .39 = 0.91
~ ~ ~ end of disagreement section ~ ~ ~
And yes P(A or B) must be higher than either of them individually,
because A or B includes each of the other two as a subset.
Your formula P(A) + P(B) - P(A & B) is correct,
and produces the correct result once you have the right
value for P(A & B).
All the above calculations verified by doing a simulation of 10000 deals
and getting results that are very close to the numbers calculated.