定理已证明
一般容斥原理
命题陈述
对有限集合 A1,…,An:∣⋃i=1nAi∣=∑k=1n(−1)k+1∑1≤i1<⋯<ik≤n∣Ai1∩⋯∩Aik∣
为什么成立?
属于多个集合的每个元素,会因每个单独的集合被加一次、因每一对被减一次、因每一个三元组又被加回来,如此交替;这种交替模式正是把它的总计数恰好拉回到 1 所需要的。
证明思路
固定任意一个元素 x。若 x 不属于 A1,…,An 中的任何一个,它对两边的贡献都是 0,因此设 x 恰好属于 m≥1 个集合。
对每个 k,包含 x 的 k 重交集 Ai1∩⋯∩Aik 的个数等于从含 x 的 m 个集合中选出 k 个的方法数,即 (km)。因此 x 对右边的总贡献为 ∑k=1n(−1)k+1(km)=∑k=1m(−1)k+1(km)(k>m 的项因 (km)=0 而消失)。
由二项定理,∑k=0m(−1)k(km)=(1−1)m=0,于是 ∑k=1m(−1)k(km)=−1,乘以 −1 恰好得到 ∑k=1m(−1)k+1(km)=1。
因此至少属于一个集合的每个元素对右边的贡献恰为 1,与它对 ∣⋃i=1nAi∣ 的贡献 1 相符;不属于任何集合的元素对两边的贡献都是 0。由于每个元素对两边的贡献相同,两边相等。