def abo_event_probs(p1, p2):
    """Probabilities for two events that cannot occur simultaneously.

    Context:
      Two events (1 and 2), if executed independently, have probabilities
      p1 and p2 of success; if they are run simultaneously, however,
      no more than one of the events can succeed (i.e., the two events
      cannot occur at the same trial).

    The random process:
      First, a random choice defines if one of the events will
      occur; with probability (1-p1)*(1-p2), none of them succeed, and
      with complementary probability another random choice is made
      between the two events. The second random choice has renormalized
      probability: with chance p1/(p1+p2), the event 1 occur, and
      with chance p2/(p1+p2), event 2 suceeds.

    Parameters
    ----------
    p1 : float
        Individual probability of event 1.
    p2 : float
        Individual probability of event 2.

    Returns
    -------
    p(0), p(A), p(B)
        Probabilities that neither occur, event 1 occurs or event 2
        occurs, respectively.
    """
    p0 = (1. - p1) * (1. - p2)  # Probability that neither happens
    renorm = (1. - p0) / (p1 + p2)  # Renorm. for knowing that A or B happens
    return p0, renorm * p1, renorm * p2