It is an axiom that the probabilities of disjoint events can be summed: if ##A_1, \ldots A_N## are disjoint and ##\bigcup_{n=1}^{N}A_n = A##, then ##P(A) = \sum_{n=1}^{N} P(A_n)##.
If ##B \subset A##, then we may write ##B## as the disjoint union ##B = \bigcup_{n=1}^{N} (B \cap A_n)##, so the axiom gives us ##P(B) = \sum_{n=1}^{N}P(B \cap A_n)##.
Finally, if ##P(A_n) > 0## we define ##P(B | A_n) = P(B \cap A_n) / P(A_n)##, so ##P(B \cap A_n) = P(B|A_n) P(A_n)##. Substituting into the result in the previous paragraph, we obtain
$$P(B) = \sum_{n=1}^{N} P(B|A_n) P(A_n)$$
So, it's a theorem, but quite a simple one: we simply substitute a definition into an axiom.