The problem of finding bounds for P(A1 ∪ ⋯ ∪ An) based on P(Ak1 ∩ ⋯ ∩ Aki) (1 ≤ k1 < ⋯ < ki ≤ n, i = 1,…,d) goes back to Boole (1854), (1868) and Bonferroni (1937). In this paper upper bounds are presented using methods in graph theory. The main theorem is a common generalization of the earlier results of Hunter, Worsley and recent results of Prékopa and the author. Algorithms are given to compute bounds. Examples for bounding values of multivariate normal distribution functions are presented.