1 二つの集合の場合から一般の場合へ
包除原理の出発点は、二つの集合についての等式です。この等式は、和の法則だけから得られます。
補題 1.1 (二つの集合についての包除原理). 有限集合A,Bについて
∣A∪B∣=∣A∣+∣B∣−∣A∩B∣が成り立つ。
証明. 三つの集合A∖B、A∩B、B∖Aは互いに素であり、その合併はA∪Bです。またAは互いに素なA∖BとA∩Bの合併、Bは互いに素なB∖AとA∩Bの合併です。和の法則(§D2.2 定理 2.1)を三つの分解へ適用すると
∣A∪B∣=∣A∖B∣+∣A∩B∣+∣B∖A∣,∣A∣=∣A∖B∣+∣A∩B∣,∣B∣=∣B∖A∣+∣A∩B∣が得られます。後の二つの等式から∣A∖B∣=∣A∣−∣A∩B∣と∣B∖A∣=∣B∣−∣A∩B∣を求め、最初の等式へ代入すると
∣A∪B∣=(∣A∣−∣A∩B∣)+∣A∩B∣+(∣B∣−∣A∩B∣)=∣A∣+∣B∣−∣A∩B∣となります。▨
一般の個数の集合については、集合の個数についての帰納法によって次を示します。以下、[n]={1,2,…,n}と書きます。
定理 1.2 (包除原理).n≥1とし、A1,…,Anを有限集合とすると
i=1⋃nAi=∅=S⊆[n]∑(−1)∣S∣+1i∈S⋂Aiが成り立つ。右辺の和は、[n]の空でない部分集合すべてにわたる有限和である。
証明.nについての単純帰納法(§A3.10 定理 1.1)で示します。
n=1のとき、[1]の空でない部分集合は{1}だけであり、(−1)1+1=1なので、右辺は∣A1∣です。左辺も∣A1∣なので、等式が成り立ちます。
n個の有限集合について等式が成り立つと仮定し、有限集合A1,…,An+1をとります。U=⋃i=1nAiとおくと補題 1.1により
i=1⋃n+1Ai=∣U∣+∣An+1∣−∣U∩An+1∣です。分配律によりU∩An+1=⋃i=1n(Ai∩An+1)なので、n個の有限集合Bi=Ai∩An+1(i=1,…,n)へ帰納法の仮定を適用することができます。∅=S⊆[n]について⋂i∈SBi=⋂i∈S∪{n+1}Aiであることに注意すると、
∣U∣=∅=S⊆[n]∑(−1)∣S∣+1i∈S⋂Ai,∣U∩An+1∣=∅=S⊆[n]∑(−1)∣S∣+1i∈S∪{n+1}⋂Aiが得られます。ここでS⊆[n]に対しT=S∪{n+1}とおくと、n+1∈/Sより∣T∣=∣S∣+1であり、(−1)∣S∣+1=(−1)∣T∣=−(−1)∣T∣+1です。したがって
−∣U∩An+1∣=T⊆[n+1], n+1∈T∣T∣≥2∑(−1)∣T∣+1i∈T⋂Aiとなります。対応S↦S∪{n+1}は、[n]の空でない部分集合の全体から、n+1を含み要素の個数が2以上である[n+1]の部分集合の全体への全単射なので、右辺の和は過不足なく取られています。また∣An+1∣はT={n+1}に対応する項です。以上の三つを合わせると、n+1を含む[n+1]の部分集合すべてと、n+1を含まない空でない部分集合すべて、すなわち[n+1]の空でない部分集合すべてにわたる和が得られ、
i=1⋃n+1Ai=∅=T⊆[n+1]∑(−1)∣T∣+1i∈T⋂Aiとなります。▨
実際の数え上げでは、条件のどれも満たさない対象を数える形で使うことのほうが多くあります。
系 1.3 (どの条件も満たさない要素の個数).Xを有限集合、A1,…,AnをXの部分集合とすると
X∖i=1⋃nAi=S⊆[n]∑(−1)∣S∣i∈S⋂Aiが成り立つ。ここでS=∅の項は∣X∣と読む。
証明.⋃i=1nAi⊆Xなので、和の法則(§D2.2 定理 2.1)により
X∖i=1⋃nAi=∣X∣−i=1⋃nAiです。定理 1.2を代入すると
∣X∣−∅=S⊆[n]∑(−1)∣S∣+1i∈S⋂Ai=∣X∣+∅=S⊆[n]∑(−1)∣S∣i∈S⋂Aiとなり、∣X∣をS=∅の項として和へ入れれば主張の形になります。▨
2 全射の個数
n元集合からk元集合への写像は全部でkn個あります。このうち全射であるものを直接数えることは難しいので、全射でないものを取り除く形で数えます。全射でないとは、値としてとられない要素が少なくとも一つあることなので、「値iをとらない」という条件をi=1,…,kについて並べれば、系 1.3を適用することができます。
命題 2.1 (全射の個数).n≥0、k≥1とする。[n]から[k]への全射の個数をSur(n,k)と書くと
Sur(n,k)=j=0∑k(−1)j(jk)(k−j)nが成り立つ。ここで00=1と読む。
証明.Xを[n]から[k]への写像の全体とすると、積の法則(§D2.2 定理 2.3)により∣X∣=knです。i∈[k]についてAi={σ∈X:i∈/σ([n])}、すなわち値iをとらない写像の全体とおきます。写像σが全射でないことと、あるiについてσ∈Aiであることは同値なので、全射の全体はX∖⋃i=1kAiです。
S⊆[k]について、⋂i∈SAiはSのどの要素も値にとらない写像の全体、すなわち[n]から[k]∖Sへの写像の全体です。∣[k]∖S∣=k−∣S∣なので、積の法則により⋂i∈SAi=(k−∣S∣)nです。この値は∣S∣だけで決まり、∣S∣=jであるS⊆[k]は(jk)個あります(§D2.2 命題 3.1)。したがって系 1.3により
Sur(n,k)=S⊆[k]∑(−1)∣S∣(k−∣S∣)n=j=0∑k(−1)j(jk)(k−j)nが得られます。▨
例 2.2 (全射の個数の検算).n=k=3のとき、公式の値は
(03)33−(13)23+(23)13−(33)03=27−24+3−0=6である。[3]から[3]への全射は全単射にほかならず、その個数は3!=6なので一致する。
n=4、k=3のとき、公式の値は
81−3⋅16+3⋅1−0=81−48+3=36である。別の数え方でも確かめる。[4]から[3]への全射では、ちょうど一つの値が二回とられ、残りの二つの値が一回ずつとられる。二回とられる値の選び方が3通り、その値をとる2元を[4]から選ぶ選び方が(24)=6通り、残る2元へ残る2値を割り当てる全単射が2!=2通りなので、積の法則により3⋅6⋅2=36となり、一致する。
n=2、k=3のとき、公式の値は
(03)32−(13)22+(23)12−(33)02=9−12+3−0=0である。要素の個数が2の集合から要素の個数が3の集合への全射は存在しないので、これも一致する。
3 与えられた数と互いに素である数の個数
次の応用では、条件を「素数pで割り切れる」という形にとります。共通部分の要素の個数が、素数の積によって決まることが要点です。
定義 3.1 (オイラーの関数). 正の整数nに対し、1以上n以下の整数mであってnと互いに素であるもの、すなわちmとnの最大公約数が1であるものの個数をφ(n)と書き、φをオイラーの関数という。
証明では、初等整数論の次の事実を認めて用います。相異なる素数p1,…,pjについて、整数mがp1,…,pjのすべてで割り切れることと、積p1⋯pjで割り切れることは同値です。この事実は「初等整数論」が扱います。また、dがnの約数であるとき、1以上n以下でdの倍数である整数はd,2d,…,(n/d)dのn/d個です。
証明.X={1,2,…,n}とし、i∈[r]についてAi={m∈X:pi∣m}とおきます。整数mがnと互いに素でないことは、mとnの共通の素因数が存在すること、すなわちnの素因数piのいずれかでmが割り切れることと同値です。よってnと互いに素なXの要素の全体はX∖⋃i=1rAiであり、φ(n)はその要素の個数です。
∅=S⊆[r]についてdS=∏i∈Spiとおきます。認めて用いる事実により、m∈⋂i∈SAiであることとdS∣mであることは同値です。p1,…,prはnの相異なる素因数なのでdSはnの約数であり、1以上n以下でdSの倍数であるものはn/dS個です。したがって⋂i∈SAi=n/dSです。系 1.3を適用すると、第一の等式
φ(n)=S⊆[r]∑(−1)∣S∣∏i∈Spinが得られます(S=∅の項は∣X∣=nです)。
第二の等式を示します。積n∏i=1r(1−1/pi)を分配律で展開すると、各因子から1または−1/piのどちらを選ぶかによって項が定まります。−1/piを選ぶ添字の全体をSとすると、その項はn⋅(−1)∣S∣/∏i∈Spiです。選び方Sは[r]の部分集合の全体を過不足なく動くので、展開した和は第一の等式の右辺に一致します。▨
例 3.3 (オイラーの関数の検算).n=12=22⋅3の相異なる素因数は2,3である。第一の等式は
φ(12)=12−212−312+612=12−6−4+2=4を与える。第二の等式は12⋅21⋅32=4を与える。実際、12以下で12と互いに素な整数は1,5,7,11の4個である。
n=60=22⋅3⋅5の相異なる素因数は2,3,5である。第一の等式は
φ(60)=60−(30+20+12)+(10+6+4)−2=60−62+20−2=16を与える。第二の等式は60⋅21⋅32⋅54=16を与えて一致する。60以下で60と互いに素な整数は1,7,11,13,17,19,23,29,31,37,41,43,47,49,53,59の16個であり、この数え上げとも一致する。
4 鳩の巣原理の一般形
鳩の巣原理は、対象の個数と分類の枠の個数を比べて、同じ枠に入る対象があることを結論します。この論法は、比較する量を個数から実数の平均へ置き換えることで一般化されます。
定理 4.1 (平均以上の値をとる対象の存在).n≥1とし、a1,…,anを実数、aˉ=n1∑i=1naiをその平均とする。このときai≥aˉを満たす添字iが存在し、aj≤aˉを満たす添字jも存在する。
証明. すべてのiについてai<aˉであると仮定します。n≥1なので、両辺をi=1からnまで加えると
i=1∑nai<naˉ=i=1∑naiとなり、同じ実数がそれ自身より真に小さいことになって矛盾します。したがってai≥aˉを満たすiが存在します。後半は、この結果を実数−a1,…,−anへ適用し、その平均が−aˉであることを用いれば得られます。▨
対象を箱へ入れる状況へ適用すると、次の形になります。ここでは、対象を入れる箱がすでに与えられている場合を扱います。
系 4.2 (鳩の巣原理の箱による形).N個の対象をn個(n≥1)の箱へ入れる。どの対象もちょうど一つの箱へ入れるとすると、⌈N/n⌉個以上の対象が入っている箱が存在し、⌊N/n⌋個以下の対象しか入っていない箱も存在する。
証明.i番目の箱に入っている対象の個数をaiとします。どの対象もちょうど一つの箱へ入るので、対象の全体は各箱の中身へ互いに素に分割されており、和の法則(§D2.2 定理 2.1)により∑i=1nai=Nです。よって平均はaˉ=N/nです。定理 4.1によりai≥N/nを満たすiが存在します。aiは整数なので、N/n以上の整数のうち最小のもの、すなわち⌈N/n⌉以上です。後半も同様に、aj≤N/nを満たすjに対してaj≤⌊N/n⌋が従います。▨
証明.系 4.2をN=n+1に適用すると、⌈(n+1)/n⌉個以上の対象が入っている箱が存在します。n≥1より1<(n+1)/n≤2なので⌈(n+1)/n⌉=2です。▨
平均の形の利点は、箱の個数と対象の個数を比べる代わりに、対象ごとに定まる量の平均を評価することで存在を示すことができる点にあります。次はその例です。
例 4.4 (平均以上の次数をもつ頂点). 頂点の個数がn≥1、辺の個数がmである有限グラフGには、次数が2m/n以上の頂点と、次数が2m/n以下の頂点がそれぞれ存在する。
実際、握手補題(§D2.7 定理 1.2)により次数の総和は∑vdeg(v)=2mなので、次数の平均は2m/nである。定理 4.1をn個の実数deg(v)へ適用すれば主張が得られる。
具体例として、頂点の個数が5、辺の個数が7のグラフを考える。次数の平均は14/5=2.8なので、次数が3以上の頂点が存在する(次数は整数なので2.8以上は3以上に等しい)。この結論は、どの頂点の次数が3以上であるかを述べていない。