コンテンツにスキップ

数え上げと母関数:exp 公式・Lagrange 反転・Cayley の木の公式・Fekete の補題、二項定理・鳩の巣原理・van der Waerden

対象読者: 学部 1 年の微積分(べき級数・微分)と、環・体の基礎(多項式環、整域)、級数の収束判定を学んだ人。形式的冪級数や母関数は未習でも読めます。

前提となる記事:環と体の基礎:加法と乗法が同居する構造を整域・体まで分類する、級数と収束判定:部分和の極限・4 つの判定法・絶対収束と条件収束

生 Markdown

この記事は、ものの個数を数える作業を、数列を一つの式にまとめて計算で扱う方法として整理します。たとえば、1 から nn までの番号をつけた nn 個の点を辺で結んで「輪のない一つながりの図形」をつくる方法は何通りか、という素朴な疑問に、nn 点なら nn−2n^{n-2} 通りという一行の答えが出せます。読み終えると、複雑な数え上げを式の計算に置き換える見通しと、数の増える速さを不等式で押さえる方法がわかります。

  • 形式的冪級数は、収束を一切考えずに係数の列を一つの対象として扱う道具です。可逆性・合成・微分・exp⁡\exp がすべて係数の有限和で定義でき、解析学の公式がそのまま代数的に成り立ちます。
  • exp 公式: 「集合を分割し、各ブロックに”連結な構造”を載せる」という数え上げの指数型母関数は exp⁡(連結構造の母関数)\exp(\text{連結構造の母関数}) です。逆に、全体の母関数の log⁡\log が連結構造の母関数になります。
  • Lagrange 反転公式: f=xϕ(f)f=x\phi(f) を満たす冪級数 ff の係数は [xn]fk=kn[tn−k]ϕ(t)n[x^n]f^k=\frac kn[t^{n-k}]\phi(t)^n で与えられます。証明は形式的留数の変数変換だけで済みます。
  • この二つから Cayley の公式(nn 点上のラベル付き木は nn−2n^{n-2} 個)が数行で出ます。
  • Fekete の補題(劣加法的な列では an/na_n/n の極限が存在して下限に等しい)から、格子動物の数 ana_n について an1/na_n^{1/n} が極限 λ\lambda に収束し、しかも an≤λna_n\le\lambda^n が全ての nn で成り立つことが従います。
  • 補遺(§7・§8)として、二項定理と鳩の巣原理を定理として証明し、実根だけをもつ多項式の係数が対数凹で単峰になること(Newton の不等式)を二項係数・Stirling 数に使います。最後に、有限彩色で単色の等差数列が必ず現れる van der Waerden の定理を、色焦点の議論で一般の k,rk,r について証明します。

「nn 個のものを数える」とき、答えが nn の閉じた式で書けることは稀です。しかし数列 (an)(a_n) を一つの冪級数 ∑anxn\sum a_nx^n にまとめると、場合分けや漸化式の構造が、級数の間の等式として見えるようになります。たとえばコイン投げの列を長さごとに数える作業は、11−2x\frac1{1-2x} という一つの式に畳み込まれます。

この記事は組合せ論のテーマ全体(数え上げと母関数、半順序集合と Möbius 反転、グラフと行列式)の最初の章です。テーマ全体の見通しは次のとおりです。

  • この章: 数列を冪級数に載せて操作する技術。特に「連結なものの母関数と全体の母関数は exp⁡\exp/log⁡\log で結ばれる」という事実が主役です。
  • 次の章(半順序集合と Möbius 反転): 包除原理を半順序集合の言葉で一般化し、分割束の上の Möbius 関数から、モーメントとキュムラントの関係式を導きます。
  • 三つ目の章(グラフと行列式): 行列木定理や Pfaffian など、数え上げを行列式に変換する技術です。

この三つは、統計力学のクラスター展開を支える組合せ論的な基礎になっています。分配関数 ZZ の log⁡\log が連結なクラスターの和になること、その各項が木の数え上げで評価できること、収束半径の下限が成長率で決まることは、それぞれこの章の exp 公式、Cayley の公式、Fekete の補題の応用場面です。

以下、KK は標数 00 の体(Q\mathbb{Q} や C\mathbb{C})とします。

定義 2.1(形式的冪級数環)↗

KK の元の列 (fn)n≥0(f_n)_{n\ge0} を f=∑n≥0fnxnf=\sum_{n\ge0}f_nx^n と書き、形式的冪級数と呼ぶ。fnf_n を ff の xnx^n の係数といい、[xn]f[x^n]f とも書く。和と積を

(f+g)n=fn+gn,(fg)n=∑i=0nfign−i(f+g)_n=f_n+g_n,\qquad (fg)_n=\sum_{i=0}^nf_ig_{n-i}

で定める。この演算で形式的冪級数全体は可換環をなす。これを K[[x]]K[[x]] と書く。f≠0f\neq0 に対し、fn≠0f_n\neq0 となる最小の nn を ff の位数 ord⁡f\operatorname{ord}f という。

多項式環 K[x]K[x] はこの環の部分環です。積の定義に現れる和は有限和なので、収束の問題は起こりません。結合法則・分配法則は多項式の場合と同じ計算で確かめられます。位数については ord⁡(fg)=ord⁡f+ord⁡g\operatorname{ord}(fg)=\operatorname{ord}f+\operatorname{ord}g が成り立ちます(最低次の係数どうしの積が fagb≠0f_{a}g_{b}\neq0 だからです)。とくに K[[x]]K[[x]] は整域です。

命題 2.2(逆元の存在)✓

f∈K[[x]]f\in K[[x]] が K[[x]]K[[x]] で可逆であるための必要十分条件は f0≠0f_0\neq0 である。

証明(命題 2.2)

可逆なら fg=1fg=1 の定数項から f0g0=1f_0g_0=1 なので f0≠0f_0\neq0 です。逆に f0≠0f_0\neq0 とします。gg を fg=1fg=1 となるよう係数を順に決めます。n=0n=0 では g0=1/f0g_0=1/f_0。n≥1n\ge1 では (fg)n=0(fg)_n=0 より

gn=−1f0∑i=1nfign−ig_n=-\frac1{f_0}\sum_{i=1}^nf_ig_{n-i}

で、右辺は g0,…,gn−1g_0,\dots,g_{n-1} だけで決まります。これで fg=1fg=1 を満たす gg が一意に定まります。

たとえば 11−x=∑n≥0xn\frac1{1-x}=\sum_{n\ge0}x^n です((1−x)∑xn=1(1-x)\sum x^n=1 が望遠鏡和で確かめられます)。

収束は次のように定義します。

定義 2.3(形式的な収束と合成)↗

(f(k))k≥0(f^{(k)})_{k\ge0} を K[[x]]K[[x]] の列とする。各 nn について [xn]f(k)[x^n]f^{(k)} が kk に関して十分大きいところで一定になるとき、その一定値を係数とする級数を (f(k))(f^{(k)}) の極限という。ord⁡f(k)→∞\operatorname{ord}f^{(k)}\to\infty なら ∑kf(k)\sum_kf^{(k)} は(各係数が有限和なので)この意味で収束する。

g∈K[[x]]g\in K[[x]] が g0=0g_0=0 を満たすとき、f=∑fnxnf=\sum f_nx^n との合成を

f∘g=f(g)=∑n≥0fngnf\circ g=f(g)=\sum_{n\ge0}f_ng^n

と定める。ord⁡(gn)≥n\operatorname{ord}(g^n)\ge n なので右辺は収束する。形式的微分を f′=∑n≥1nfnxn−1f'=\sum_{n\ge1}nf_nx^{n-1} で定める。

微分は積の規則 (fg)′=f′g+fg′(fg)'=f'g+fg' を満たします(xix^i と xjx^j の積について確かめれば、双線形性と極限の連続性で一般の級数に拡がります)。標数 00 なので、f′=0f'=0 なら ff は定数です。合成と微分の関係は次のとおりです。

命題 2.4(形式的な連鎖律)✓

g0=0g_0=0 のとき (f∘g)′=(f′∘g) g′(f\circ g)'=(f'\circ g)\,g' である。

証明(命題 2.4)

f=xkf=x^k のとき (gk)′=kgk−1g′(g^k)'=kg^{k-1}g' は積の規則から従います。一般の ff は f=∑fkxkf=\sum f_kx^k で、両辺は fkf_k について線形で、ord⁡\operatorname{ord} の評価から各係数は有限和にしか関わらないので、項別に微分してよいことがわかります。

指数関数と対数関数も係数だけで定義できます。

定義 2.5(形式的な exp と log)↗

f0=0f_0=0 のとき exp⁡(f)=∑k≥0fkk!\exp(f)=\sum_{k\ge0}\frac{f^k}{k!} とする(定義 2.3 の意味で収束する)。また log⁡(1+x)=∑n≥1(−1)n−1nxn\log(1+x)=\sum_{n\ge1}\frac{(-1)^{n-1}}{n}x^n と定める。

命題 2.6(exp の基本性質)✓

f0=g0=0f_0=g_0=0 とする。

  1. exp⁡(f)′=f′exp⁡(f)\exp(f)'=f'\exp(f)。
  2. exp⁡(f+g)=exp⁡(f)exp⁡(g)\exp(f+g)=\exp(f)\exp(g)。とくに exp⁡(f)exp⁡(−f)=1\exp(f)\exp(-f)=1 で、exp⁡(f)\exp(f) は可逆である。
  3. F∈K[[x]]F\in K[[x]] が F′=f′FF'=f'F かつ F0=1F_0=1 を満たすなら F=exp⁡(f)F=\exp(f) である。
  4. M0=0M_0=0 かつ exp⁡(M)=1+x\exp(M)=1+x なら M=log⁡(1+x)M=\log(1+x) である。
証明(命題 2.6)

1: exp⁡(x)=∑xk/k!\exp(x)=\sum x^k/k! について exp⁡(x)′=exp⁡(x)\exp(x)'=\exp(x) は項別の微分で明らかです。exp⁡(f)=exp⁡(x)∘f\exp(f)=\exp(x)\circ f なので、連鎖律(命題 2.4)から 1 が出ます。

2: 二項定理(K[[x]]K[[x]] は可換)から (f+g)kk!=∑i+j=kfii!gjj!\frac{(f+g)^k}{k!}=\sum_{i+j=k}\frac{f^i}{i!}\frac{g^j}{j!}。両辺を kk について足すと右辺は exp⁡(f)exp⁡(g)\exp(f)\exp(g) です(各係数は有限和)。

3: E=exp⁡(f)E=\exp(f) は可逆(定数項 11)で、(F/E)′=F′E−FE′E2=f′FE−Ff′EE2=0(F/E)'=\frac{F'E-FE'}{E^2}=\frac{f'FE-Ff'E}{E^2}=0 なので F/EF/E は定数、定数項を見て F/E=1F/E=1 です。

4: 1 より 1=(1+x)′=M′exp⁡(M)=M′(1+x)1=(1+x)'=M'\exp(M)=M'(1+x) なので M′=11+x=∑k≥0(−1)kxkM'=\frac1{1+x}=\sum_{k\ge0}(-1)^kx^k。両辺の係数を比べて nMn=(−1)n−1nM_n=(-1)^{n-1}、つまり Mn=(−1)n−1nM_n=\frac{(-1)^{n-1}}n です。

数列 (an)n≥0(a_n)_{n\ge0} に対し A(x)=∑anxnA(x)=\sum a_nx^n を**通常型母関数**といいます。漸化式や構造の分解を、冪級数の方程式に書き換えるのが基本の手順です。

例 3.1(合成の個数)

正の整数 nn を、順序を区別して正の整数の和に分ける方法(合成)の個数 cnc_n を数えます。「空でない合成」は 1 個以上の「部分」(正の整数)の並びで、一つの部分の母関数は x1−x=x+x2+⋯\frac x{1-x}=x+x^2+\cdots です。部分の並びの母関数は ∑m≥0(x1−x)m=11−x1−x=1−x1−2x\sum_{m\ge0}\left(\frac x{1-x}\right)^m=\frac1{1-\frac x{1-x}}=\frac{1-x}{1-2x}(m=0m=0 が n=0n=0 の空の合成)です。これを展開すると 1+∑n≥12n−1xn1+\sum_{n\ge1}2^{n-1}x^n なので cn=2n−1c_n=2^{n-1} です。「n−1n-1 個の隙間のそれぞれに仕切りを入れるか入れないか」という直接の数え方と一致します。

例 3.2(二分木と Catalan 数)

二分木を、空であるか、根に左の二分木と右の二分木をつけたものと再帰的に定めます。nn 頂点の二分木の個数を bnb_n とすると、根の左右に振り分ける頂点数で場合分けして

b0=1,bn=∑i=0n−1bibn−1−i(n≥1)b_0=1,\qquad b_{n}=\sum_{i=0}^{n-1}b_ib_{n-1-i}\quad(n\ge1)

です。B(x)=∑bnxnB(x)=\sum b_nx^n とおくと、この漸化式は B=1+xB2B=1+xB^2 と同値です。この方程式を Lagrange 反転(定理 5.2)で解くと、bn=1n+1(2nn)b_n=\frac1{n+1}\binom{2n}n(Catalan 数)が得られます(例 5.3)。

ラベル付きの対象(頂点に 1,…,n1,\dots,n の番号がついたもの)を数えるときは、積の規則がうまく働く指数型母関数 A(x)=∑n≥0anxnn!A(x)=\sum_{n\ge0}a_n\frac{x^n}{n!} を使います。

Πn\Pi_n で集合 [n]={1,…,n}[n]=\{1,\dots,n\} の集合分割(空でない互いに素な部分集合=ブロックへの分解。集合の分割)の全体を表します。Π0\Pi_0 は空の分割だけからなる(要素数 11)とします。

次の定理のねらいは、分割ごとに「各ブロックの重みの積」を足し上げた数 ana_n を、exp⁡\exp という一つの式にまとめることです。たとえば n=3n=3 では、分割は {1,2,3}\{1,2,3\} の 1 個、{1,2},{3}\{1,2\},\{3\} のような 2 ブロックのもの 3 個、{1},{2},{3}\{1\},\{2\},\{3\} の 1 個の計 5 個で、a3=c3+3c1c2+c13a_3=c_3+3c_1c_2+c_1^3 となります。この和が母関数の上では exp⁡\exp の展開に対応する、というのが主張です。

定理 4.1(exp 公式)✓

c1,c2,⋯∈Kc_1,c_2,\dots\in K を任意の数とし、a0=1a_0=1、n≥1n\ge1 に対し

an=∑π∈Πn∏B∈πc∣B∣a_n=\sum_{\pi\in\Pi_n}\prod_{B\in\pi}c_{|B|}

と定める。A(x)=∑n≥0anxnn!A(x)=\sum_{n\ge0}a_n\frac{x^n}{n!}、C(x)=∑n≥1cnxnn!C(x)=\sum_{n\ge1}c_n\frac{x^n}{n!} とすると

A(x)=exp⁡(C(x)).A(x)=\exp\bigl(C(x)\bigr).
証明(定理 4.1)

n+1n+1 を含むブロックの大きさを k+1k+1(0≤k≤n0\le k\le n)とします。そのブロックの残り kk 個の元を [n][n] から選ぶ方法が (nk)\binom nk 通り、このブロックの重みが ck+1c_{k+1}、残りの n−kn-k 個の元の分割の重みの総和が an−ka_{n-k} です(n−k=0n-k=0 のときは a0=1a_0=1)。よって

an+1=∑k=0n(nk)ck+1an−k.a_{n+1}=\sum_{k=0}^n\binom nkc_{k+1}a_{n-k}.

両辺を n!n! で割って xnx^n の係数と見ると、左辺は A′A' の係数、右辺は ∑kck+1k!⋅an−k(n−k)!\sum_k\frac{c_{k+1}}{k!}\cdot\frac{a_{n-k}}{(n-k)!} で C′AC'A の係数です。したがって A′=C′AA'=C'A かつ A0=1A_0=1 で、命題 2.6 の 3 から A=exp⁡(C)A=\exp(C) です。

「連結な構造」の個数を cnc_n、「連結とは限らない構造」の個数を ana_n とすれば、cnc_n を「ブロックの大きさだけに依る重み」とみなして、この定理を使えます。次の三つの例が典型です。

例 4.2(Bell 数・置換・乱列)

Bell 数 Bn=∣Πn∣B_n=|\Pi_n| は全ての ck=1c_k=1 の場合です。C(x)=ex−1C(x)=e^x-1 なので

∑n≥0Bnxnn!=exp⁡(ex−1).\sum_{n\ge0}B_n\frac{x^n}{n!}=\exp(e^x-1).

置換は、巡回置換(サイクル)の集合への分割と見なせます。kk 個の元の上の巡回置換は (k−1)!(k-1)! 個なので ck=(k−1)!c_k=(k-1)!、C(x)=∑k≥1xkk=−log⁡(1−x)C(x)=\sum_{k\ge1}\frac{x^k}k=-\log(1-x) です。ここでの −log⁡(1−x)-\log(1-x) は −log⁡(1+(−x))-\log(1+(-x)) の意味です。すると A(x)=exp⁡(−log⁡(1−x))=11−xA(x)=\exp(-\log(1-x))=\frac1{1-x} で、an=n!a_n=n! と置換の総数に一致します(確認になっています)。乱列(不動点をもたない置換)は長さ 11 のサイクルを禁止するので c1=0c_1=0、ck=(k−1)!c_k=(k-1)!(k≥2k\ge2)で、C(x)=−log⁡(1−x)−xC(x)=-\log(1-x)-x です。したがって

∑n≥0dnxnn!=e−x1−x,dn=n!∑k=0n(−1)kk!.\sum_{n\ge0}d_n\frac{x^n}{n!}=\frac{e^{-x}}{1-x},\qquad d_n=n!\sum_{k=0}^n\frac{(-1)^k}{k!}.

右の式は e−x=∑(−x)k/k!e^{-x}=\sum(-x)^k/k! と 11−x=∑xm\frac1{1-x}=\sum x^m の積の係数を取ったものです。

例 4.3(連結グラフと全グラフ)

[n][n] 上のラベル付きグラフ(辺の有無を自由に選んだもの)は gn=2(n2)g_n=2^{\binom n2} 個です。グラフは連結成分への分割と、各成分の連結グラフの選択で決まるので、連結グラフの個数を cnc_n とすると gn=∑π∏B∈πc∣B∣g_n=\sum_{\pi}\prod_{B\in\pi}c_{|B|} です。定理 4.1 より

∑n≥02(n2)xnn!=exp⁡(∑n≥1cnxnn!).\sum_{n\ge0}2^{\binom n2}\frac{x^n}{n!}=\exp\Bigl(\sum_{n\ge1}c_n\frac{x^n}{n!}\Bigr).

証明中の漸化式 gn+1=∑k(nk)ck+1gn−kg_{n+1}=\sum_k\binom nkc_{k+1}g_{n-k} から cnc_n を順に求めると、g=(1,1,2,8,64)g=(1,1,2,8,64) に対して c1=1c_1=1、c2=1c_2=1、g3=8=2+2+c3g_3=8=2+2+c_3 より c3=4c_3=4、g4=64=8+6+12+c4g_4=64=8+6+12+c_4 より c4=38c_4=38 です。n=3n=3 の連結グラフは、3 本の道(辺 2 本)と三角形の 4 個で、確かに 44 です。

全体の母関数の log⁡\log が連結なものの母関数になる、というのがクラスター展開(分配関数の log⁡\log を連結なクラスターの和に展開する手法)の組合せ論的な原型です。

暗黙に定義された冪級数 f=xϕ(f)f=x\phi(f) の係数を、ϕ\phi だけで書くのがこの節の目標です。準備として、Laurent 級数と形式的留数を導入します。

K((x))K((x)) を、有限個の負冪を許す級数 ∑n≥−Nfnxn\sum_{n\ge-N}f_nx^n の全体とします(K[[x]]K[[x]] の商体です)。f∈K((x))f\in K((x)) の留数を res⁡f=f−1\operatorname{res}f=f_{-1}(x−1x^{-1} の係数)と定め、微分は項別に定めます。

次の補題は、後の Lagrange 反転の証明で、xnx^n の係数を取り出す操作を変数の置き換えの下で扱えるようにするための道具です。性質 1 は「微分した形の級数には x−1x^{-1} の項が出ない」、性質 2 は「変数を xx から F(t)F(t) に置き換えても、F′(t)F'(t) を掛けておけば x−1x^{-1} の係数は変わらない」という内容です。

補題 5.1(形式的留数の二つの性質)✓

  1. 任意の h∈K((x))h\in K((x)) について res⁡(h′)=0\operatorname{res}(h')=0。
  2. F∈K[[t]]F\in K[[t]] が F0=0F_0=0、F1≠0F_1\neq0 を満たすとき、任意の G∈K((x))G\in K((x)) について
res⁡t(G(F(t)) F′(t))=res⁡xG(x).\operatorname{res}_t\bigl(G(F(t))\,F'(t)\bigr)=\operatorname{res}_xG(x).

ここで F(t)=tu(t)F(t)=tu(t)(uu は定数項が F1≠0F_1\ne0 の級数で可逆)なので F(t)−1=t−1u(t)−1∈K((t))F(t)^{-1}=t^{-1}u(t)^{-1}\in K((t)) であり、G(F(t))G(F(t)) は意味をもつ。

証明(補題 5.1)

1: h=∑hnxnh=\sum h_nx^n の導関数に x−1x^{-1} は現れません(x−1x^{-1} は x0x^0 の微分でしか出ませんが、x0x^0 の微分は 00 です)。

2: 両辺は GG について線形です。G=∑m≥−NgmxmG=\sum_{m\ge-N}g_mx^m のとき G(F)F′=∑gmFmF′G(F)F'=\sum g_mF^mF' で、ord⁡(FmF′)=m\operatorname{ord}(F^mF')=m が m→∞m\to\infty で大きくなるので、t−1t^{-1} の係数に効くのは有限個の項だけです。したがって G=xmG=x^m の場合に示せば十分です。m≠−1m\neq-1 のとき FmF′=1m+1(Fm+1)′F^mF'=\frac1{m+1}(F^{m+1})' で、1 により留数は 00 です。m=−1m=-1 のとき F′/F=(tu)′tu=1t+u′uF'/F=\frac{(tu)'}{tu}=\frac1t+\frac{u'}u で、u′/uu'/u は冪級数なので留数は 11 です。どちらも res⁡xxm=δm,−1\operatorname{res}_xx^m=\delta_{m,-1} と一致します。

定理 5.2(Lagrange 反転公式)✓

ϕ∈K[[t]]\phi\in K[[t]] で ϕ0≠0\phi_0\neq0 とする。

  1. f0=0f_0=0 かつ f=x ϕ(f)f=x\,\phi(f) を満たす f∈K[[x]]f\in K[[x]] がただ一つ存在する。
  2. 整数 n,k≥1n,k\ge1 について [xn]fk=kn[tn−k]ϕ(t)n[x^n]f^k=\dfrac kn[t^{n-k}]\phi(t)^n(n<kn\lt k のときは 00)。
  3. 任意の H∈K[[t]]H\in K[[t]] と n≥1n\ge1 について [xn]H(f)=1n[tn−1]H′(t)ϕ(t)n[x^n]H(f)=\dfrac1n[t^{n-1}]H'(t)\phi(t)^n。
証明(定理 5.2)

1: f0=0f_0=0 とすると ϕ(f)\phi(f) の xn−1x^{n-1} の係数は f1,…,fn−1f_1,\dots,f_{n-1} だけで決まります。そこで fn=[xn−1]ϕ(f)f_n=[x^{n-1}]\phi(f) と順に定めればよく(f1=ϕ0f_1=\phi_0)、別の解も同じ漸化式を満たすので一意です。とくに f1=ϕ0≠0f_1=\phi_0\neq0 です。

2: F(t)=t/ϕ(t)∈K[[t]]F(t)=t/\phi(t)\in K[[t]] とおくと F0=0F_0=0、F1=1/ϕ0≠0F_1=1/\phi_0\neq0 です。合成 g↦g∘fg\mapsto g\circ f は環準同型なので、f=xϕ(f)f=x\phi(f) より F(f(x))=f/ϕ(f)=xF(f(x))=f/\phi(f)=x です。逆向きの f(F(t))=tf(F(t))=t も成り立ちます。実際、係数を順に解けば f0=0,f1≠0f_0=0,f_1\neq0 の級数 ff には f∘h=xf\circ h=x となる hh が存在し([xn](f∘h)[x^n](f\circ h) は f1hnf_1h_n と h1,…,hn−1h_1,\dots,h_{n-1} だけの式の和で、hnh_n について解けるからです)、すると F=F∘(f∘h)=(F∘f)∘h=hF=F\circ(f\circ h)=(F\circ f)\circ h=h なので f∘F=f∘h=xf\circ F=f\circ h=x です。

さて n[xn]fk=nres⁡x(x−n−1f(x)k)n[x^n]f^k=n\operatorname{res}_x\bigl(x^{-n-1}f(x)^k\bigr) です。補題 5.1 の 2 を G(x)=x−n−1f(x)kG(x)=x^{-n-1}f(x)^k と FF に適用します。G(F(t))=F(t)−n−1tkG(F(t))=F(t)^{-n-1}t^k なので

n[xn]fk=nres⁡t(tkF−n−1F′)=−res⁡t(tk(F−n)′)n[x^n]f^k=n\operatorname{res}_t\bigl(t^kF^{-n-1}F'\bigr)=-\operatorname{res}_t\bigl(t^k(F^{-n})'\bigr)

です((F−n)′=−nF−n−1F′(F^{-n})'=-nF^{-n-1}F' を使いました)。(tkF−n)′=ktk−1F−n+tk(F−n)′(t^kF^{-n})'=kt^{k-1}F^{-n}+t^k(F^{-n})' の留数は 補題 5.1 の 1 により 00 なので

n[xn]fk=kres⁡t(tk−1F−n)=kres⁡t(tk−1−nϕ(t)n)=k[tn−k]ϕn.n[x^n]f^k=k\operatorname{res}_t\bigl(t^{k-1}F^{-n}\bigr)=k\operatorname{res}_t\bigl(t^{k-1-n}\phi(t)^n\bigr)=k[t^{n-k}]\phi^n.

3: H=∑hktkH=\sum h_kt^k について 2 を kk ごとに足し合わせます。h0h_0 の項は n≥1n\ge1 で寄与しません。[xn]H(f)=∑k≥1hkkn[tn−k]ϕn=1n[tn−1](∑kkhktk−1)ϕn[x^n]H(f)=\sum_{k\ge1}h_k\frac kn[t^{n-k}]\phi^n=\frac1n[t^{n-1}]\Bigl(\sum_kkh_kt^{k-1}\Bigr)\phi^n で、括弧の中は H′H' です。

例 5.3(Catalan 数)

例 3.2 の BB について g=B−1g=B-1 とおくと、B=1+xB2B=1+xB^2 は g=x(1+g)2g=x(1+g)^2 となります。ϕ(t)=(1+t)2\phi(t)=(1+t)^2 として 定理 5.2 の 2(k=1k=1)を使うと、n≥1n\ge1 で

bn=[xn]g=1n[tn−1](1+t)2n=1n(2nn−1)=1n+1(2nn)b_n=[x^n]g=\frac1n[t^{n-1}](1+t)^{2n}=\frac1n\binom{2n}{n-1}=\frac1{n+1}\binom{2n}n

です。最後の等号は 1n(2nn−1)=(2n)!n (n−1)! (n+1)!=(2n)!n! (n+1)!\frac1n\binom{2n}{n-1}=\frac{(2n)!}{n\,(n-1)!\,(n+1)!}=\frac{(2n)!}{n!\,(n+1)!} から従います。b1,b2,b3,b4=1,2,5,14b_1,b_2,b_3,b_4=1,2,5,14 です。

木は、閉路をもたない連結グラフです。頂点集合 [n][n] のラベル付き木の個数を求めます。

証明の方針は、木に根を一つ選んだ「根付き木」を数えることです。根付き木から根を取り除くと、残りは根付き森(根付き木の集まり)になります。この対応を exp 公式で母関数の式 T=xexp⁡(T)T=x\exp(T) にし、Lagrange 反転で係数を読み取ります。n+1n+1 点の根付き木が「根の選び方 n+1n+1 通り」と「残り nn 点の根付き森」の組で決まる、というのが鍵です。

定理 5.4(Cayley の公式)✓

n≥1n\ge1 のとき、頂点集合 [n][n] 上の木の個数は nn−2n^{n-2} である。

証明(定理 5.4)

tnt_n を [n][n] 上の根付き木(木と、その頂点の一つ=根の組)の個数とします。木には根の選び方が nn 通りあるので、木の個数は tn/nt_n/n です。

まず T(x)=∑n≥1tnxnn!T(x)=\sum_{n\ge1}t_n\frac{x^n}{n!} が T=xexp⁡(T)T=x\exp(T) を満たすことを示します。[n][n] 上の根付き森(各連結成分に根を一つ指定したもの)の個数を ana_n(a0=1a_0=1)とします。根付き森は、集合の分割と各ブロック上の根付き木の選択で決まるので、an=∑π∏Bt∣B∣a_n=\sum_\pi\prod_Bt_{|B|} です。定理 4.1 より A=∑anxnn!=exp⁡(T)A=\sum a_n\frac{x^n}{n!}=\exp(T) です。一方、[n+1][n+1] 上の根付き木は、根の選び方 n+1n+1 通りと、根を除いた残り nn 個の頂点上の根付き森(各成分の根は、元の根に隣接していた頂点)の組と一対一に対応するので、tn+1=(n+1)ant_{n+1}=(n+1)a_n です。したがって

T′=∑n≥0tn+1xnn!=∑n≥0(n+1)anxnn!=(xA)′.T'=\sum_{n\ge0}t_{n+1}\frac{x^n}{n!}=\sum_{n\ge0}(n+1)a_n\frac{x^n}{n!}=(xA)'.

T0=0=(xA)0T_0=0=(xA)_0 なので T=xA=xexp⁡(T)T=xA=x\exp(T) です。

これは ϕ=exp⁡\phi=\exp(ϕ0=1≠0\phi_0=1\neq0)に対する 定理 5.2 の 1 の方程式です。2 を k=1k=1 で使うと

tnn!=[xn]T=1n[sn−1]ens=1n⋅nn−1(n−1)!=nn−1n!.\frac{t_n}{n!}=[x^n]T=\frac1n[s^{n-1}]e^{ns}=\frac1n\cdot\frac{n^{n-1}}{(n-1)!}=\frac{n^{n-1}}{n!}.

したがって tn=nn−1t_n=n^{n-1} で、木の個数は tn/n=nn−2t_n/n=n^{n-2} です。

n=3n=3 では 33 個(道が三つの中心の選び方)、n=4n=4 では 1616 個(道が 12 個、星が 4 個)です。同じ式から、根付き森の個数 an=(n+1)n−1a_n=(n+1)^{n-1} も得られます(演習 9.3)。クラスター展開では、このような木に関する数え上げが収束の評価に直接効いてきます。

6. Fekete の補題と格子動物の成長率

Section titled “6. Fekete の補題と格子動物の成長率”

数え上げでは、ana_n の閉じた式が得られなくても、指数的な成長率 lim⁡an1/n\lim a_n^{1/n} の存在だけは確実に言える場合があります。その標準的な道具が Fekete の補題です。

補題 6.1(Fekete の補題)✓

実数列 (αn)n≥1(\alpha_n)_{n\ge1} が劣加法的、すなわち全ての m,n≥1m,n\ge1 について αm+n≤αm+αn\alpha_{m+n}\le\alpha_m+\alpha_n を満たすとする。このとき lim⁡n→∞αnn\lim_{n\to\infty}\dfrac{\alpha_n}n が [−∞,∞)[-\infty,\infty) の中に存在し、inf⁡n≥1αnn\inf_{n\ge1}\dfrac{\alpha_n}n に等しい。

証明(補題 6.1)

m≥1m\ge1 を固定します。n≥mn\ge m を n=qm+rn=qm+r(q≥1q\ge1、0≤r<m0\le r\lt m)と書くと、劣加法性を繰り返して αn≤qαm+αr\alpha_n\le q\alpha_m+\alpha_r(r=0r=0 のときは αr\alpha_r を 00 とする)です。したがって

αnn≤qmn⋅αmm+αrn.\frac{\alpha_n}n\le\frac{qm}n\cdot\frac{\alpha_m}m+\frac{\alpha_r}n.

n→∞n\to\infty のとき qm/n→1qm/n\to1 で、αr\alpha_r は r<mr\lt m について高々 m−1m-1 個の値しかとらないので αr/n→0\alpha_r/n\to0 です。よって lim sup⁡nαn/n≤αm/m\limsup_n\alpha_n/n\le\alpha_m/m で、mm は任意なので lim sup⁡nαn/n≤inf⁡mαm/m≤lim inf⁡nαn/n\limsup_n\alpha_n/n\le\inf_m\alpha_m/m\le\liminf_n\alpha_n/n です。これは極限の存在と inf⁡\inf との一致を意味します。

格子動物を定義します。Zd\mathbb{Z}^d の有限部分集合 AA が連結であるとは、隣接(座標がちょうど一つだけ 11 違う)する点の列で AA の任意の 2 点が結ばれることをいいます。連結な nn 点集合を平行移動で同一視した類の個数を an=an(d)a_n=a_n^{(d)} とします。d=2d=2 ではこれは固定されたポリオミノ(回転・鏡映を区別する)の個数で、a1,…,a4=1,2,6,19a_1,\dots,a_4=1,2,6,19 です(a3=6a_3=6 は直線 2 通りと L 字 4 通り)。

補題 6.2(動物の数の優乗法性)✓

am+n≥am ana_{m+n}\ge a_m\,a_n である。

証明(補題 6.2)

Zd\mathbb{Z}^d に辞書式順序を入れます。x<yx\lt y とは、y−xy-x の最初の非零座標が正であることとします。これは全順序で、平行移動と両立し(x<y⇒x+z<y+zx\lt y\Rightarrow x+z\lt y+z)、e1=(1,0,…,0)>0e_1=(1,0,\dots,0)>0 です。

mm 点の動物 AA と nn 点の動物 BB に対し、AA の最大点 max⁡A\max A と BB の最小点 min⁡B\min B をとり、s=max⁡A+e1−min⁡Bs=\max A+e_1-\min B として A⊕B=A∪(B+s)A\oplus B=A\cup(B+s) を作ります。b∈Bb\in B なら b≥min⁡Bb\ge\min B より b+s≥max⁡A+e1>max⁡Ab+s\ge\max A+e_1>\max A なので、B+sB+s の全ての点は AA の全ての点より真に大きく、特に A∩(B+s)=∅A\cap(B+s)=\varnothing です。max⁡A\max A と min⁡B+s=max⁡A+e1\min B+s=\max A+e_1 は隣接するので A⊕BA\oplus B は連結な (m+n)(m+n) 点集合です。また AA や BB を平行移動しても A⊕BA\oplus B は平行移動されるだけなので、類の組から類への写像が定まります。

この写像は単射です。C=A⊕BC=A\oplus B から、AA は CC の辞書式順序で小さい方から mm 個の点、B+sB+s は残りの点として復元でき、AA と BB の類が決まるからです。よって aman≤am+na_ma_n\le a_{m+n} です。

max Amin BABe1
動物 A と B の連結 A ⊕ B(d = 2、横が第 1 座標)。A の最大点(右上の格子)の右隣に B の最小点を置く。

定理 6.3(格子動物の成長率)✓

極限 λd=lim⁡n→∞an1/n\lambda_d=\lim_{n\to\infty}a_n^{1/n} が存在し、λd=sup⁡nan1/n\lambda_d=\sup_na_n^{1/n} である。したがって全ての nn について an≤λd na_n\le\lambda_d^{\,n}。さらに an1/n≤λd≤(2d)2a_n^{1/n}\le\lambda_d\le(2d)^2。

証明(定理 6.3)

an≥1a_n\ge1(直線)なので αn=−log⁡an\alpha_n=-\log a_n が定義でき、補題 6.2 により劣加法的です。補題 6.1 より lim⁡αn/n=inf⁡αn/n\lim\alpha_n/n=\inf\alpha_n/n が存在します。符号を戻すと lim⁡1nlog⁡an=sup⁡n1nlog⁡an\lim\frac1n\log a_n=\sup_n\frac1n\log a_n です。これが有限であることを上から評価します。

動物 AA の類は原点を含む代表をもつので、ana_n は原点を含む nn 点の動物の個数以下です。そのような AA の生成木(AA の隣接関係がなすグラフの全域木)を深さ優先で辿ると、原点から出発し、各辺を往復する長さ 2(n−1)2(n-1) の歩行で AA の全ての点を訪れます。各ステップは 2d2d 方向のどれかなので、AA はこの歩行の方向の列から復元できます。よって an≤(2d)2(n−1)a_n\le(2d)^{2(n-1)} で、1nlog⁡an≤2log⁡(2d)\frac1n\log a_n\le2\log(2d)、すなわち λd≤(2d)2\lambda_d\le(2d)^2 です。

たとえば d=2d=2 では a3=6a_3=6 から λ2≥61/3>1.8\lambda_2\ge6^{1/3}>1.8 がすぐにわかります。an1/na_n^{1/n} が下からの厳密な評価を与える点が、優乗法性の利点です。(既知の数値では λ2\lambda_2 は 4 より少し大きな値です。)統計力学では、このような成長率の逆数が展開の収束半径の下限を与える、という形で現れます。

7. 二項定理・鳩の巣原理・単峰性

Section titled “7. 二項定理・鳩の巣原理・単峰性”

母関数の議論の土台になっている、最も基本的な数え上げの道具を、改めて定理として押さえます。

定義 7.1(二項係数)↗

n≥0n\ge0 と整数 kk に対し、[n]={1,…,n}[n]=\{1,\dots,n\} の kk 元部分集合の個数を (nk)\binom nk と書き、二項係数という。k<0k<0 または k>nk>n では (nk)=0\binom nk=0 である([0]=∅[0]=\varnothing とする)。

命題 7.2(Pascal の漸化式と閉じた式)✓

n≥1n\ge1 のとき (nk)=(n−1k−1)+(n−1k)\binom nk=\binom{n-1}{k-1}+\binom{n-1}k で、(n0)=1\binom n0=1 である。また 0≤k≤n0\le k\le n で (nk)=n!k! (n−k)!\binom nk=\dfrac{n!}{k!\,(n-k)!}、とくに (nk)=(nn−k)\binom nk=\binom n{n-k} である。

証明(命題 7.2)

[n][n] の kk 元部分集合を、元 nn を含むものと含まないものに分けます。含むものは nn を除くと [n−1][n-1] の (k−1)(k-1) 元部分集合に、含まないものは [n−1][n-1] の kk 元部分集合そのものに、一対一に対応します。(n0)\binom n0 は空集合の 1 個です。閉じた式は nn についての帰納法で、(n−1)!(k−1)!(n−k)!+(n−1)!k!(n−1−k)!=(n−1)! (k+(n−k))k!(n−k)!=n!k!(n−k)!\frac{(n-1)!}{(k-1)!(n-k)!}+\frac{(n-1)!}{k!(n-1-k)!}=\frac{(n-1)!\,(k+(n-k))}{k!(n-k)!}=\frac{n!}{k!(n-k)!} です(端の k=0,nk=0,n は直接)。(nk)=(nn−k)\binom nk=\binom n{n-k} は、部分集合をその補集合に移す全単射、または閉じた式の対称性から従います。

定理 7.3(二項定理)✓

x,yx,y を可換環の元とするとき、すべての n≥0n\ge0 について

(x+y)n=∑k=0n(nk) xkyn−k.(x+y)^n=\sum_{k=0}^n\binom nk\,x^ky^{n-k}.
証明(定理 7.3)

まず、可換環の元 xi,yix_i,y_i について

∏i=1n(xi+yi)=∑S⊆[n] ∏i∈Sxi∏i∉Syi\prod_{i=1}^n(x_i+y_i)=\sum_{S\subseteq[n]}\ \prod_{i\in S}x_i\prod_{i\notin S}y_i

を nn についての帰納法で示します。n=0n=0 は両辺 11 です。nn で成り立つとして (xn+1+yn+1)(x_{n+1}+y_{n+1}) をかけると、右辺は xn+1x_{n+1} をかけた分と yn+1y_{n+1} をかけた分の和で、前者は n+1∈Sn+1\in S の部分集合 S∪{n+1}S\cup\{n+1\} の項、後者は n+1∉Sn+1\notin S の項になり、[n+1][n+1] のすべての部分集合が 1 回ずつ現れます。ここで xi=xx_i=x、yi=yy_i=y とおくと、∣S∣=k|S|=k の項はすべて xkyn−kx^ky^{n-k} で、そのような SS は 定義 7.1 により (nk)\binom nk 個です。

系 7.4(二項係数の和)✓

∑k=0n(nk)=2n\sum_{k=0}^n\binom nk=2^n、n≥1n\ge1 なら ∑k=0n(−1)k(nk)=0\sum_{k=0}^n(-1)^k\binom nk=0 である。また ∑i(mi)(nk−i)=(m+nk)\sum_{i}\binom mi\binom n{k-i}=\binom{m+n}k(Vandermonde の恒等式)である。

証明(系 7.4)

定理 7.3 で (x,y)=(1,1)(x,y)=(1,1)、(−1,1)(-1,1) とします。Vandermonde:多項式の等式 (1+t)m+n=(1+t)m(1+t)n(1+t)^{m+n}=(1+t)^m(1+t)^n の両辺の tkt^k の係数を比べると、左辺は 定理 7.3 から (m+nk)\binom{m+n}k、右辺は ∑i(mi)(nk−i)\sum_i\binom mi\binom n{k-i} です。

定理 7.5(鳩の巣原理)✓

  1. A,BA,B を有限集合、f:A→Bf:A\to B を写像、k≥1k\ge1 とする。∣A∣>k∣B∣|A|>k|B| ならば、ある b∈Bb\in B について ∣f−1(b)∣≥k+1|f^{-1}(b)|\ge k+1 である。とくに k=1k=1 では、∣A∣>∣B∣|A|>|B| ならば ff は単射でない。
  2. AA が無限集合、BB が有限集合なら、任意の写像 f:A→Bf:A\to B について、ある b∈Bb\in B の逆像 f−1(b)f^{-1}(b) は無限集合である。
証明(定理 7.5)

1: ∣B∣|B| についての帰納法です。∣B∣=0|B|=0 なら B=∅B=\varnothing で、写像 A→∅A\to\varnothing があるのは A=∅A=\varnothing のときだけですが、∣A∣>0|A|>0 なので仮定に反し、主張は空虚に成り立ちます。∣B∣≥1|B|\ge1 とし b0∈Bb_0\in B を取ります。∣f−1(b0)∣≥k+1|f^{-1}(b_0)|\ge k+1 なら終わりです。そうでなければ ∣f−1(b0)∣≤k|f^{-1}(b_0)|\le k で、A′=A∖f−1(b0)A'=A\setminus f^{-1}(b_0) は ∣A′∣≥∣A∣−k>k∣B∣−k=k(∣B∣−1)|A'|\ge|A|-k>k|B|-k=k(|B|-1) を満たし、ff は A′A' を B∖{b0}B\setminus\{b_0\} に写すので、帰納法の仮定から b≠b0b\ne b_0 で ∣f−1(b)∩A′∣≥k+1|f^{-1}(b)\cap A'|\ge k+1 となるものがあります。

2: すべての bb について f−1(b)f^{-1}(b) が有限だと仮定して矛盾を導きます。A=⨆b∈Bf−1(b)A=\bigsqcup_{b\in B}f^{-1}(b)(命題 4.8[数学の国語])で、有限個の有限集合の和は有限(∣B∣|B| についての帰納法:A=f−1(b0)∪A′A=f^{-1}(b_0)\cup A')なので AA が有限になり、矛盾です。

例 7.6(連続する項の和が n の倍数になる)

nn 個の整数 a1,…,ana_1,\dots,a_n には、連続するいくつかの項の和が nn の倍数になる並びがあります。S0=0S_0=0、Sj=a1+⋯+ajS_j=a_1+\cdots+a_j とおくと、n+1n+1 個の整数 S0,…,SnS_0,\dots,S_n を nn で割った余り(nn 通り)に振り分ける写像は 定理 7.5 の 1(k=1k=1)により単射でなく、Si≡SjS_i\equiv S_j(i<ji<j)となる組があります。このとき ai+1+⋯+aj=Sj−Sia_{i+1}+\cdots+a_j=S_j-S_i は nn の倍数です。

例 7.7(Dirichlet の近似定理)

実数 α\alpha と正の整数 NN に対し、整数 pp と 1≤q≤N1\le q\le N の整数 qq が存在して ∣qα−p∣<1N|q\alpha-p|<\frac1N となります。実際、N+1N+1 個の数 {kα}\{k\alpha\}({⋅}\{\cdot\} は小数部分、k=0,…,Nk=0,\dots,N)は [0,1)[0,1) にあり、これを NN 個の区間 [jN,j+1N)[\frac{j}{N},\frac{j+1}N) に振り分ける写像は 定理 7.5 により単射でなく、{iα}\{i\alpha\} と {jα}\{j\alpha\}(i<ji<j)が同じ区間に入ります。q=j−iq=j-i、p=⌊jα⌋−⌊iα⌋p=\lfloor j\alpha\rfloor-\lfloor i\alpha\rfloor とすると ∣qα−p∣=∣{jα}−{iα}∣<1N|q\alpha-p|=|\{j\alpha\}-\{i\alpha\}|<\frac1N です。

定義 7.8(単峰列・対数凹列)↗

実数列 a0,…,an≥0a_0,\dots,a_n\ge0 が単峰であるとは、ある mm について a0≤a1≤⋯≤am≥am+1≥⋯≥ana_0\le a_1\le\cdots\le a_m\ge a_{m+1}\ge\cdots\ge a_n が成り立つことをいう。1≤k≤n−11\le k\le n-1 について ak2≥ak−1ak+1a_k^2\ge a_{k-1}a_{k+1} が成り立つとき対数凹という。

二項係数 (nk)\binom nk は、kk について増加してから減少します(真ん中で最大)。この形の一般的な理由を、根の位置で説明します。

命題 7.9(正の対数凹列は単峰)✓

a0,…,an>0a_0,\dots,a_n>0 が対数凹ならば単峰である。

証明(命題 7.9)

rk=ak/ak−1r_k=a_k/a_{k-1}(1≤k≤n1\le k\le n)とおくと、対数凹性は ak/ak−1≥ak+1/aka_k/a_{k-1}\ge a_{k+1}/a_k、すなわち rk≥rk+1r_k\ge r_{k+1}(rr は非増加)です。mm を rm≥1r_m\ge1 となる最大の kk(なければ m=0m=0)とします。k≤mk\le m では rk≥rm≥1r_k\ge r_m\ge1 なので ak≥ak−1a_k\ge a_{k-1}、k>mk>m では rk<1r_k<1 なので ak<ak−1a_k<a_{k-1} です。

補題 7.10(実根だけをもつ多項式の導関数)✓

PP を実係数の n≥1n\ge1 次多項式で、複素数の範囲の根(重複度を込めて nn 個)がすべて実数であるとする。このとき P′P' の根(n−1n-1 個)もすべて実数である。

証明(補題 7.10)

相異なる根を ρ1<⋯<ρs\rho_1<\cdots<\rho_s、重複度を m1,…,msm_1,\dots,m_s(∑mi=n\sum m_i=n)とします。ρi\rho_i は P′P' の重複度 mi−1m_i-1 の根です。また P(ρi)=P(ρi+1)=0P(\rho_i)=P(\rho_{i+1})=0 なので、定理 3.1[平均値の定理とテイラーの定理] により P′P' は (ρi,ρi+1)(\rho_i,\rho_{i+1}) に根をもちます。これらの根は ρj\rho_j と異なるので、実根の個数(重複度込み)は少なくとも ∑(mi−1)+(s−1)=n−1=deg⁡P′\sum(m_i-1)+(s-1)=n-1=\deg P' です。P′P' の根は重複度込みでちょうど n−1n-1 個なので、すべて実数です。

定理 7.11(Newton の不等式と実根多項式の単峰性)✓

P(x)=∑k=0nakxkP(x)=\sum_{k=0}^na_kx^k を実係数の nn 次多項式(an≠0a_n\ne0)で、すべての根が実数であるものとする。

  1. すべての 1≤k≤n−11\le k\le n-1 について ak2≥(1+1k)(1+1n−k)ak−1ak+1a_k^2\ge\left(1+\dfrac1k\right)\left(1+\dfrac1{n-k}\right)a_{k-1}a_{k+1} である。とくに ak2≥ak−1ak+1a_k^2\ge a_{k-1}a_{k+1}(対数凹)。
  2. さらにすべての ak≥0a_k\ge0 ならば、係数列 a0,…,ana_0,\dots,a_n は単峰である。
証明(定理 7.11)

1: ak−1=0a_{k-1}=0 のときは、右辺が 00 で左辺は ak2≥0a_k^2\ge0 なので自明です。以下 ak−1≠0a_{k-1}\ne0 とします。R(x)=P(k−1)(x)=∑j=k−1ncjxj−k+1R(x)=P^{(k-1)}(x)=\sum_{j=k-1}^n c_jx^{j-k+1}(cj=ajj!(j−k+1)!c_j=a_j\frac{j!}{(j-k+1)!})とおきます。RR は n−k+1n-k+1 次で、補題 7.10 を k−1k-1 回使うと RR の根 ρ1,…,ρn−k+1\rho_1,\dots,\rho_{n-k+1} はすべて実数です。R(0)=ck−1≠0R(0)=c_{k-1}\ne0 なので ρi≠0\rho_i\ne0 です。次に S(x)=xn−k+1R(1/x)=∑j=k−1ncjxn−jS(x)=x^{n-k+1}R(1/x)=\sum_{j=k-1}^nc_jx^{n-j} を考えます。R(x)=cn∏i(x−ρi)R(x)=c_n\prod_i(x-\rho_i) から S(x)=cn∏i(1−ρix)S(x)=c_n\prod_i(1-\rho_ix) で、SS は xn−k+1x^{n-k+1} の係数が ck−1≠0c_{k-1}\ne0 の n−k+1n-k+1 次多項式、根 1/ρi1/\rho_i はすべて実数です。SS を n−k−1n-k-1 回微分すると(各段の次数は 22 以上)、再び 補題 7.10 により、根がすべて実数の多項式

T(x)=(n−k+1)!2 ck−1 x2+(n−k)! ck x+(n−k−1)! ck+1T(x)=\frac{(n-k+1)!}{2}\,c_{k-1}\,x^2+(n-k)!\,c_k\,x+(n-k-1)!\,c_{k+1}

が残ります(xn−jx^{n-j} の項のうち j≤k+1j\le k+1 のものだけが生き残る)。ck−1≠0c_{k-1}\ne0 なので TT は 2 次式で、実根をもつので判別式は 00 以上です。ck−1=(k−1)! ak−1c_{k-1}=(k-1)!\,a_{k-1}、ck=k! akc_k=k!\,a_k、ck+1=(k+1)!2ak+1c_{k+1}=\frac{(k+1)!}2a_{k+1} を代入して整理すると

(k! (n−k)! ak)2≥(k−1)! (k+1)! (n−k+1)! (n−k−1)!  ak−1ak+1\bigl(k!\,(n-k)!\,a_k\bigr)^2\ge(k-1)!\,(k+1)!\,(n-k+1)!\,(n-k-1)!\;a_{k-1}a_{k+1}

で、両辺を (k−1)! k! (n−k)! (n−k−1)!(k-1)!\,k!\,(n-k)!\,(n-k-1)! で割ると k(n−k) ak2≥(k+1)(n−k+1) ak−1ak+1k(n-k)\,a_k^2\ge(k+1)(n-k+1)\,a_{k-1}a_{k+1} です。これが主張の不等式です。

2: PP は ak≥0a_k\ge0 で P(x)>0P(x)>0(x>0x>0)なので正の根をもたず、00 でない根はすべて負です。P=anxμ∏i(x+ri)P=a_nx^\mu\prod_{i}(x+r_i)(ri>0r_i>0)と書くと、∏i(x+ri)\prod_i(x+r_i) の係数は正の数 rir_i の基本対称式で、すべて正です。したがって aj>0a_j>0(μ≤j≤n\mu\le j\le n)、aj=0a_j=0(j<μj<\mu)です。1 により aμ,…,ana_\mu,\dots,a_n は正の対数凹列なので、命題 7.9 から単峰で、前に 00 が並ぶだけなので全体も単峰です。

系 7.12(二項係数の単峰性)✓

(n0),(n1),…,(nn)\binom n0,\binom n1,\dots,\binom nn は対数凹で単峰であり、k=⌊n/2⌋k=\lfloor n/2\rfloor で最大になる。

証明(系 7.12)

定理 7.3 により ∑k(nk)xk=(1+x)n\sum_k\binom nkx^k=(1+x)^n で、根は −1-1(nn 重根)のみ、係数は正です。定理 7.11 の 1 と 2 から対数凹で単峰です。左右対称(命題 7.2)なので、最大は中央、すなわち k=⌊n/2⌋k=\lfloor n/2\rfloor(と n−kn-k)でとります(頂点 mm が m≤n/2m\le n/2 なら、m≤⌊n/2⌋≤n−mm\le\lfloor n/2\rfloor\le n-m で、減少側の (n⌊n/2⌋)≥(nn−m)=(nm)\binom n{\lfloor n/2\rfloor}\ge\binom n{n-m}=\binom nm です。m>n/2m>n/2 なら左右を入れ替える)。

例 7.13(Stirling 数の単峰性)

符号なし第 1 種 Stirling 数 c(n,m)c(n,m) の母関数は ∑mc(n,m)xm=x(x+1)⋯(x+n−1)\sum_mc(n,m)x^m=x(x+1)\cdots(x+n-1) で(半順序集合と Möbius 反転 の 命題 9.5[半順序集合と Möbius 反転])、根 0,−1,…,−(n−1)0,-1,\dots,-(n-1) はすべて実数です。したがって 定理 7.11 により c(n,1),…,c(n,n)c(n,1),\dots,c(n,n) は対数凹で単峰です。たとえば n=4n=4 では c(4,1),…,c(4,4)=6,11,6,1c(4,1),\dots,c(4,4)=6,11,6,1 で、1111 を頂点とする山形です。

8. Ramsey 型の定理:van der Waerden の定理

Section titled “8. Ramsey 型の定理:van der Waerden の定理”

鳩の巣原理の「構造つき」版が Ramsey 理論です。有限個の色で塗り分けたとき、必ずどこかに単色の整った構造が現れる、という形の定理で、その最初の例の一つが van der Waerden の定理です。以下、kk 項の等差数列とは、a,a+d,…,a+(k−1)da,a+d,\dots,a+(k-1)d(d≥1d\ge1)の形の kk 個の整数のことです。[N][N] の**rr 色塗りは写像 c:[N]→{1,…,r}c:[N]\to\{1,\dots,r\} で、等差数列が単色**であるとは、その全項で cc が同じ値をとることです。

定理 8.1(van der Waerden の定理)✓

任意の正の整数 k,rk,r に対し、正の整数 N=W(k,r)N=W(k,r) が存在して、[N]={1,…,N}[N]=\{1,\dots,N\} のどんな rr 色塗りにも、単色の kk 項等差数列が含まれる。

証明の全体像は次のとおりです。k−1k-1 項の場合を既知として kk 項の場合を示します。数直線を同じ長さのブロックに区切ると、ブロック内の色の並びが同じブロックが等間隔に並びます。その中で、(k−1)(k-1) 項の単色数列が、同じ「焦点」(kk 項目になるはずの位置)を指すように、色の違うものを一つずつ増やしていきます。色が rr 種類しかないので、rr 個そろったところで焦点の色が行き場を失い、kk 項の単色数列ができる、という流れです。

証明(定理 8.1)

kk についての帰納法で、すべての rr に対して主張を示します。k=1k=1 では N=1N=1 です。k=2k=2 では N=r+1N=r+1 がよい:r+1r+1 個の数の色への写像は 定理 7.5 により単射でなく、同じ色の 2 数 a<a′a<a' が d=a′−ad=a'-a の 2 項等差数列をなします。

k≥3k\ge3 とし、k−1k-1 について(すべての色数で)主張が成り立つと仮定して W(k−1,r′)W(k-1,r') を使います。k,rk,r を固定し、「色焦点」の概念を導入します。[n][n] の rr 色塗り cc において、ss 個の (k−1)(k-1) 項等差数列 (ai,di)(a_i,d_i)(1≤i≤s1\le i\le s、項は ai+jdia_i+jd_i、0≤j≤k−20\le j\le k-2)が焦点 ff をもつ色焦点列であるとは、(a) 各数列が単色で、その色 c1,…,csc_1,\dots,c_s が互いに異なり、(b) すべての ii で ai+(k−1)di=fa_i+(k-1)d_i=f(共通の焦点)で、f≤nf\le n であることをいう。

主張. 各 s=1,…,rs=1,\dots,r に対し、n(s)n(s) が存在して、[n(s)][n(s)] の任意の rr 色塗りは、単色の kk 項等差数列を含むか、ss 個の色焦点列をもつ。

主張から定理が従います。s=rs=r として N=n(r)N=n(r) とします。単色の kk 項等差数列がなければ、色の異なる rr 個の色焦点列があり、その色 c1,…,crc_1,\dots,c_r は rr 色すべてです。焦点 ff の色は、ある cic_i と等しく、このとき ai,ai+di,…,ai+(k−1)di=fa_i,a_i+d_i,\dots,a_i+(k-1)d_i=f は単色の kk 項等差数列で矛盾です。

主張の証明(ss についての帰納法). s=1s=1:n(1)=2W(k−1,r)n(1)=2W(k-1,r) とします。[n(1)][n(1)] の rr 色塗りの前半 {1,…,W(k−1,r)}\{1,\dots,W(k-1,r)\} に、帰納法の仮定(k−1k-1 について)から単色の (k−1)(k-1) 項等差数列 (a,d)(a,d) があり、a+(k−2)d≤W(k−1,r)a+(k-2)d\le W(k-1,r) から d≤W(k−1,r)d\le W(k-1,r)(k−2≥1k-2\ge1)、よって焦点 a+(k−1)d≤2W(k−1,r)=n(1)a+(k-1)d\le2W(k-1,r)=n(1) です。これは 1 個の色焦点列です。

s→s+1s\to s+1(s<rs<r):m=n(s)m=n(s)、M=W(k−1,rm)M=W(k-1,r^m) とし、n(s+1)=2mMn(s+1)=2mM とします。[2mM][2mM] の rr 色塗り cc を考え、これを長さ mm のブロック Bt={(t−1)m+1,…,tm}B_t=\{(t-1)m+1,\dots,tm\}(1≤t≤2M1\le t\le2M)に分けます。各ブロック BtB_t の色の並び ϑ(t)=(c((t−1)m+1),…,c(tm))∈{1,…,r}m\vartheta(t)=(c((t-1)m+1),\dots,c(tm))\in\{1,\dots,r\}^m は rmr^m 通りで、t↦ϑ(t)t\mapsto\vartheta(t) は [M][M] の rmr^m 色塗りです。M=W(k−1,rm)M=W(k-1,r^m) の定義により、a+(k−2)d≤Ma+(k-2)d\le M を満たす a,d≥1a,d\ge1 で ϑ(a)=ϑ(a+d)=⋯=ϑ(a+(k−2)d)\vartheta(a)=\vartheta(a+d)=\cdots=\vartheta(a+(k-2)d) となるものがあります。d≤Md\le M に注意します。

ブロック BaB_a を、位置 1,…,m1,\dots,m の rr 色塗りと見ます。帰納法の仮定(ss について)により、BaB_a に単色の kk 項等差数列があれば終わりです。そうでなければ、BaB_a に ss 個の色焦点列 (xi,ei)(x_i,e_i)(位置で数える。色 c1,…,csc_1,\dots,c_s は互いに異なり、共通の焦点位置 f0≤mf_0\le m)があります。ブロック Ba+jdB_{a+jd} は BaB_a と同じ色の並びをもつので、各ブロックの同じ位置は同じ色です。

新しい s+1s+1 個の等差数列を定義します。i≤si\le s には、第 jj 項(0≤j≤k−20\le j\le k-2)を、ブロック Ba+jdB_{a+jd} の位置 xi+jeix_i+je_i の数 (a+jd−1)m+xi+jei(a+jd-1)m+x_i+je_i とします。これは初項 (a−1)m+xi(a-1)m+x_i、公差 ei+dme_i+dm の等差数列で、全項の色は cic_i です。i=s+1i=s+1 には、ブロック Ba+jdB_{a+jd} の位置 f0f_0 の数 (a+jd−1)m+f0(a+jd-1)m+f_0 を第 jj 項とします。初項 (a−1)m+f0(a-1)m+f_0、公差 dmdm で、全項の色は BaB_a の位置 f0f_0 の色 c0c_0 です。どの数列の第 k−1k-1 項(j=k−1j=k-1)も、ブロック Ba+(k−1)dB_{a+(k-1)d} の位置 f0f_0 の数 f′=(a+(k−1)d−1)m+f0f'=(a+(k-1)d-1)m+f_0 で、焦点は共通です。a+(k−1)d≤M+d≤2Ma+(k-1)d\le M+d\le2M なので f′≤2mM=n(s+1)f'\le2mM=n(s+1) です。

色 c0c_0 は c1,…,csc_1,\dots,c_s と異なります:c0=cic_0=c_i なら、BaB_a の中で xi+jeix_i+je_i(0≤j≤k−20\le j\le k-2)と焦点位置 f0=xi+(k−1)eif_0=x_i+(k-1)e_i はすべて色 cic_i で、単色の kk 項等差数列になり、場合分けの前提(BaB_a には単色の kk 項等差数列がない)に反します。よって s+1s+1 個の色焦点列が得られました。

例 8.2(W(3, 2) = 9)

W(3,2)>8W(3,2)>8:[8][8] を赤赤青青赤赤青青と塗ると(赤は {1,2,5,6}\{1,2,5,6\}、青は {3,4,7,8}\{3,4,7,8\})、どの色にも 3 項等差数列がありません。3 項等差数列 a<b<ca<b<c では b=a+c2b=\frac{a+c}2 なので a+ca+c は偶数で、赤の {1,2,5,6}\{1,2,5,6\} から和が偶数になる 2 数を選ぶと (1,5)(1,5) と (2,6)(2,6) だけで、中点 3,43,4 は赤ではありません。青の {3,4,7,8}\{3,4,7,8\} でも (3,7)(3,7)、(4,8)(4,8) の中点 5,65,6 は青ではありません。

W(3,2)≤9W(3,2)\le9:[9][9] の 2 色塗りに単色の 3 項等差数列がないと仮定し、55 が赤とします。44 が赤なら、(4,5,6)(4,5,6) から 66 は青、(3,4,5)(3,4,5) から 33 は青、(3,6,9)(3,6,9) から 99 は赤、(1,5,9)(1,5,9) から 11 は青、(1,2,3)(1,2,3) から 22 は赤、(2,5,8)(2,5,8) から 88 は青、(6,7,8)(6,7,8) から 77 は赤となり、(5,7,9)(5,7,9) がすべて赤で矛盾します。66 が赤の場合は、反転 x↦10−xx\mapsto10-x で同じ議論です。したがって 4,64,6 はどちらも青で、(2,4,6)(2,4,6) から 22 は赤、(4,6,8)(4,6,8) から 88 は赤となり、(2,5,8)(2,5,8) がすべて赤で矛盾します。

系 8.3(自然数の有限彩色)✓

自然数全体 N\mathbb{N} を有限個の色で塗ると、ある色について、その色の数の集合は任意の長さの等差数列を含む。

証明(系 8.3)

rr 色塗りとする。各 kk について、定理 8.1 を [W(k,r)][W(k,r)] に使うと、単色の kk 項等差数列があり、その色を γ(k)∈{1,…,r}\gamma(k)\in\{1,\dots,r\} とする。γ:N→{1,…,r}\gamma:\mathbb{N}\to\{1,\dots,r\} に 定理 7.5 の 2 を使うと、ある色 γ0\gamma_0 について γ(k)=γ0\gamma(k)=\gamma_0 となる kk が無限個ある。任意の長さ LL に対し、γ(k)=γ0\gamma(k)=\gamma_0 となる k≥Lk\ge L を取ると、色 γ0\gamma_0 の単色の kk 項等差数列の最初の LL 項は、色 γ0\gamma_0 の LL 項等差数列である。よって色 γ0\gamma_0 の数の集合は任意の長さの等差数列を含む。

van der Waerden 数 W(k,r)W(k,r) の上界は、この証明の構成からは極端に大きく(Ackermann 関数程度)、Shelah による原始再帰的な評価、Gowers による塔型の評価が知られています。W(3,2)=9W(3,2)=9 のように値が決まっているのはごくわずかです。「密度が正の部分集合は単色でなくても等差数列を含む」という強い形が Szemerédi の定理です。

演習 9.1易

定理 4.1 の証明中の漸化式から Bn+1=∑k=0n(nk)BkB_{n+1}=\sum_{k=0}^n\binom nkB_k を導き、B5B_5 を求めよ。

解答

Bell 数は全ての ck=1c_k=1 の場合なので、漸化式 an+1=∑k(nk)ck+1an−ka_{n+1}=\sum_k\binom nkc_{k+1}a_{n-k} は Bn+1=∑k=0n(nk)Bn−k=∑k=0n(nk)BkB_{n+1}=\sum_{k=0}^n\binom nkB_{n-k}=\sum_{k=0}^n\binom nkB_k です((nk)=(nn−k)\binom nk=\binom n{n-k} による添字の入れ替え)。B0=1B_0=1 から順に B1=1B_1=1、B2=1+1=2B_2=1+1=2、B3=1+2⋅1+2=5B_3=1+2\cdot1+2=5、B4=1+3⋅1+3⋅2+5=15B_4=1+3\cdot1+3\cdot2+5=15、B5=1+4⋅1+6⋅2+4⋅5+15=52B_5=1+4\cdot1+6\cdot2+4\cdot5+15=52 です。

演習 9.2標準

f=x(1+f)3f=x(1+f)^3 を満たす ff の係数を求めよ。[xn]f=12n+1(3nn)[x^n]f=\frac1{2n+1}\binom{3n}n を示し、n=3n=3 の値を計算せよ。

解答

ϕ(t)=(1+t)3\phi(t)=(1+t)^3 として 定理 5.2 の 2(k=1k=1)より [xn]f=1n[tn−1](1+t)3n=1n(3nn−1)[x^n]f=\frac1n[t^{n-1}](1+t)^{3n}=\frac1n\binom{3n}{n-1} です。1n(3nn−1)=(3n)!n (n−1)! (2n+1)!=(3n)!n! (2n+1)!=12n+1(3nn)\frac1n\binom{3n}{n-1}=\frac{(3n)!}{n\,(n-1)!\,(2n+1)!}=\frac{(3n)!}{n!\,(2n+1)!}=\frac1{2n+1}\binom{3n}n です。n=3n=3 では 17(93)=847=12\frac17\binom93=\frac{84}7=12 です。

演習 9.3標準

[n][n] 上の根付き森の個数が (n+1)n−1(n+1)^{n-1} であることを示せ。

解答

定理 5.4 の証明で A=exp⁡(T)A=\exp(T)、T=xAT=xA を示しました。よって A=T/xA=T/x で、[xn]A=[xn+1]T=tn+1(n+1)!=(n+1)n(n+1)![x^n]A=[x^{n+1}]T=\frac{t_{n+1}}{(n+1)!}=\frac{(n+1)^n}{(n+1)!} です。したがって an=n!⋅(n+1)n(n+1)!=(n+1)n−1a_n=n!\cdot\frac{(n+1)^n}{(n+1)!}=(n+1)^{n-1} です。n=2n=2 では、辺なし(2 頂点がともに根)が 1 個、辺が 1 本で根が 2 通りなので合わせて 33 個で、確かに (2+1)1=3(2+1)^{1}=3 と一致します。

演習 9.4標準

正の数列 (an)(a_n) が am+n≥amana_{m+n}\ge a_ma_n を満たし、かつ an≤Cna_n\le C^n(CC は定数)とする。このとき lim⁡an1/n=sup⁡an1/n\lim a_n^{1/n}=\sup a_n^{1/n} を示せ。さらに d=2d=2 の格子動物について、a2=2a_2=2 と a4=19a_4=19 から得られる λ2\lambda_2 の下界をそれぞれ求めよ。

解答

αn=−log⁡an\alpha_n=-\log a_n は劣加法的なので 補題 6.1 より αn/n\alpha_n/n の極限が存在して inf⁡\inf に等しく、an≤Cna_n\le C^n より αn/n≥−log⁡C\alpha_n/n\ge-\log C なので極限は有限です。符号と exp⁡\exp を戻せば結論が出ます。後半は λ2≥an1/n\lambda_2\ge a_n^{1/n} を使います。a2=2a_2=2 からは λ2≥2≈1.41\lambda_2\ge\sqrt2\approx1.41、a4=19a_4=19 からは λ2≥191/4≈2.09\lambda_2\ge19^{1/4}\approx2.09 です。nn を大きくするほど、より良い下界が得られます。

演習 9.5易

一辺 11 の正方形(周と内部)に 5 点をとると、そのうちの 2 点で距離が 22\frac{\sqrt2}2 以下のものがあることを示せ。

解答

正方形を一辺 12\frac12 の 4 個の正方形(辺は共有してよい)に分け、各点を、それを含む小正方形(複数あれば 1 つ決めて)に振り分けます。5 点を 4 個に振り分ける写像は、定理 7.5 の 1(k=1k=1)により単射でないので、同じ小正方形に 2 点が入ります。小正方形の 2 点の距離は対角線の長さ 22\frac{\sqrt2}2 以下です。

演習 9.6標準

P(x)=(1+x)nP(x)=(1+x)^n では 定理 7.11 の 1 の不等式が、すべての 1≤k≤n−11\le k\le n-1 で等号になることを示せ。

解答

(nk−1)=(nk)kn−k+1\binom n{k-1}=\binom nk\frac k{n-k+1}、(nk+1)=(nk)n−kk+1\binom n{k+1}=\binom nk\frac{n-k}{k+1} なので(命題 7.2 の閉じた式)、(nk−1)(nk+1)=(nk)2k(n−k)(k+1)(n−k+1)\binom n{k-1}\binom n{k+1}=\binom nk^2\frac{k(n-k)}{(k+1)(n-k+1)} です。したがって (nk)2=(1+1k)(1+1n−k)(nk−1)(nk+1)\binom nk^2=\bigl(1+\frac1k\bigr)\bigl(1+\frac1{n-k}\bigr)\binom n{k-1}\binom n{k+1} で、等号です。根が −1-1 の 1 点(nn 重根)に集中している場合、判別式が 00 になっています。

演習 9.7易

例 8.2 の [8][8] の塗り方(赤赤青青赤赤青青)に 99 を赤または青で加えると、どちらの場合にも単色の 3 項等差数列ができることを、具体的な数列を挙げて確かめよ。

解答

99 が赤なら、赤は {1,2,5,6,9}\{1,2,5,6,9\} で (1,5,9)(1,5,9) が公差 44 の単色等差数列です。99 が青なら、青は {3,4,7,8,9}\{3,4,7,8,9\} で (7,8,9)(7,8,9) が公差 11 の単色等差数列です。このことは W(3,2)≤9W(3,2)\le9 の一部の確認にもなっていますが、他の塗り方では別の数列が現れます(例 8.2 の議論)。

  • Richard P. Stanley, Enumerative Combinatorics, Volume 1, 2nd edition, Cambridge University Press, 2012 — 第 1 章(母関数)、第 5 章(指数型母関数)。
  • Ronald L. Graham, Bruce L. Rothschild, Joel H. Spencer, Ramsey Theory, 2nd edition, Wiley, 1990 — 第 2 章(van der Waerden の定理)。
  • B. L. van der Waerden, “Beweis einer Baudetschen Vermutung”, Nieuw Archief voor Wiskunde 15 (1927), 212–216.
  • Richard P. Stanley, “Log-concave and unimodal sequences in algebra, combinatorics, and geometry”, Annals of the New York Academy of Sciences 576 (1989), 500–535.
  • Herbert S. Wilf, generatingfunctionology, 3rd edition, A K Peters, 2006 — 第 1 章・第 2 章。
  • Philippe Flajolet, Robert Sedgewick, Analytic Combinatorics, Cambridge University Press, 2009 — 第 I 部(記号的方法)。
  • Martin Aigner, Günter M. Ziegler, Proofs from THE BOOK — 「Cayley の公式」の章。
  • M. Fekete, “Über die Verteilung der Wurzeln bei gewissen algebraischen Gleichungen mit ganzzahligen Koeffizienten”, Mathematische Zeitschrift 17 (1923), 228–249.
  • D. A. Klarner, “Cell growth problems”, Canadian Journal of Mathematics 19 (1967), 851–863.

このテーマの 100 本ノック(50 問)

執筆: Claude Code(Sonnet 5.5)・監査 3 回(Claude Code)・最終 2026-10-12

この記事の誤りを報告する ・運営: 夢現技研合同会社 ・料金 ・利用条件 ・特定商取引法に基づく表記

© 2026 夢現技研合同会社 ・コード例は MIT ライセンスです。