Dilworthの定理(Dilworth's theorem)とは、有限半順序集合において、互いに比較不能な元からなる部分集合(反鎖)の元の個数の最大値(幅)が、全体を互いに比較可能な元からなる部分集合(鎖)に分割するときに必要な鎖の最小の個数に等しい、という定理である。たとえば 1 から 10 までの整数を整除関係で順序づけると、互いに割り切らない数は $\{6,7,8,9,10\}$ の 5 個まで選べ、全体は奇数部分ごとの 5 個の鎖に分けられる。鎖と反鎖の役割を入れ替えた Mirsky の定理(最長の鎖の元の個数は反鎖分割の最小個数に等しい)が対になり、二部グラフのマッチングに関する König の定理と深く結びつく。
前提知識: 半順序集合, 鳩の巣原理, 二部グラフ, マッチング(グラフ理論)
$1$ から $10$ までの整数から、どの 2 つも一方が他方を割り切ることのないように、できるだけ多くの数を選びたい。$\{6,7,8,9,10\}$ の 5 個はこの条件を満たす。6 個は選べない。実際、10 個の数を
$$
\{1,2,4,8\},\quad\{3,6\},\quad\{5,10\},\quad\{7\},\quad\{9\}
$$
の 5 組に分けると、どの組の中でも 2 つの数の一方が他方を割り切る。6 個を選べば、鳩の巣原理によりどこかの組から 2 個を選ぶことになり、条件が破れる。つまり「互いに割り切らない数の最大個数」が 5 であることは、数全体を「割り切る関係で一列に並ぶ組」5 個に分けられることで確かめられた。
このように、半順序集合で互いに比較できない元の最大個数(幅)と、互いに比較できる元の集まり(鎖)に全体を分けるときに必要な最小の個数とは、有限の半順序集合ではいつも等しい。これが R. P. Dilworth が 1950 年に発表した Dilworth の定理 である(Dil50)。上下を入れ替えた形として、最も長い鎖の長さと、互いに比較できない元の集まり(反鎖)に分けるときの最小の個数とが等しいという Mirsky の定理 がある(Mir71)。上の例では、最長の鎖 $1\mid2\mid4\mid8$ の長さ 4 に対し、$\{1\}$、$\{2,3,5,7\}$、$\{4,6,9,10\}$、$\{8\}$ の 4 個の反鎖に分けられる。
$(P,\le)$ を半順序集合とする(半順序の記事の記法に従う)。$x< y$ は「$x\le y$ かつ $x\ne y$」を表す。$x\le y$ または $y\le x$ のとき $x$ と $y$ は 比較可能 であるといい、そうでないとき 比較不能 であるという。
$P$ の部分集合 $C$ が 鎖(chain)であるとは、$C$ のどの 2 元も比較可能であることをいう。部分集合 $A$ が 反鎖(antichain)であるとは、$A$ の相異なるどの 2 元も比較不能であることをいう。空集合と 1 元集合は鎖でも反鎖でもある。
鎖は $P$ の順序を制限すると全順序になる部分集合である。本記事では、$P$ の 鎖分割 とは $P$ を互いに交わらない空でない鎖の和集合に表すこと、反鎖分割 とは互いに交わらない空でない反鎖の和集合に表すことをいう。
$P$ を有限半順序集合とする。$P$ の鎖の元の個数の最大値を $P$ の 高さ(height)といい $h(P)$ と書く。$P$ の反鎖の元の個数の最大値を $P$ の 幅(width)といい $w(P)$ と書く。$P=\emptyset$ なら $h(P)=w(P)=0$ とする。
元の個数が最大の鎖(反鎖)を 最大の鎖(最大の反鎖)という。それ以上元を加えると鎖(反鎖)でなくなるもの(極大な鎖・極大な反鎖)とは区別する(ex-dilworth-theorem-maximal)。
$C$ が鎖、$A$ が反鎖なら $|C\cap A|\le1$ である。したがって、有限半順序集合 $P$ を $m$ 個の鎖に分割すれば $w(P)\le m$ であり、$m$ 個の反鎖に分割すれば $h(P)\le m$ である。
$C\cap A$ が相異なる 2 元 $x,y$ を含むとすると、$x,y\in C$ なので比較可能であり、$x,y\in A$ なので比較不能である。これは矛盾である。
$P=C_1\cup\cdots\cup C_m$ を鎖分割とし、$A$ を反鎖とする。前半により $|A|=\sum_i|A\cap C_i|\le m$ である。反鎖分割と鎖についても同様である。$\square$
lem-dilworth-theorem-meet により、鎖分割の個数は幅以上、反鎖分割の個数は高さ以上である。次の 2 つの定理は、どちらの場合も等号を達成する分割があることを述べる。
有限半順序集合 $P$ は $h(P)$ 個の反鎖に分割できる。したがって、$P$ を反鎖に分割するときの最小の個数は $h(P)$ に等しい。
$P=\emptyset$ なら明らかなので $P\ne\emptyset$ とする。各 $x\in P$ について、$x$ を最大元とする鎖の元の個数の最大値を $\ell(x)$ とする($\{x\}$ がそのような鎖なので $\ell(x)\ge1$、また $\ell(x)\le h(P)$)。$j=1,\dots,h(P)$ について
$$
A_j:=\{x\in P\mid\ell(x)=j\}
$$
とおくと、$P$ は $A_1,\dots,A_{h(P)}$ の互いに交わらない和集合である。各 $A_j$ は空でない。実際、元の個数 $h(P)$ の鎖 $c_1< c_2<\cdots< c_{h(P)}$ をとると、$c_1<\cdots< c_j$ は $c_j$ を最大元とする $j$ 元の鎖なので $\ell(c_j)\ge j$ であり、$\ell(c_j)>j$ なら $c_j$ を最大元とする $j+1$ 元以上の鎖に $c_{j+1},\dots,c_{h(P)}$ を付け加えて $h(P)$ 元より多い鎖ができるので、$\ell(c_j)=j$ である。
各 $A_j$ は反鎖である。$x,y\in A_j$ で $x< y$ とすると、$x$ を最大元とする $j$ 元の鎖に $y$ を付け加えたものは $y$ を最大元とする $j+1$ 元の鎖なので $\ell(y)\ge j+1$ となり、$y\in A_j$ に反する。
後半は lem-dilworth-theorem-meet から従う。$\square$
$\ell(x)=1$ となる元は $P$ の極小元なので、$A_1$ は極小元の全体である。この証明は、極小元をすべて取り除く操作を繰り返すことと同じであり、分割を実際に計算する手順を与える(KT17 §6.3 定理 6.18、PDF p. 146)。
有限半順序集合 $P$ は $w(P)$ 個の鎖に分割できる。したがって、$P$ を鎖に分割するときの最小の個数は $w(P)$ に等しい。
Mirsky の定理と違い、Dilworth の定理では「各元にその高さを割り当てる」ような直接の構成がない。以下に 2 通りの証明を与える。1 つ目は元の個数に関する帰納法で、F. Galvin による(Gal94)。2 つ目は二部グラフのマッチングに帰着させるもので、D. R. Fulkerson による(Ful56)。
元の個数 $|P|$ に関する帰納法で示す。$P=\emptyset$ なら $0$ 個の鎖で分割できる。$P\ne\emptyset$ とし、元の個数が $|P|$ より少ない半順序集合では主張が成り立つとする。lem-dilworth-theorem-meet により、鎖分割の個数はいつも幅以上なので、$w(P)$ 個以下の鎖に分割できることを示せばよい。
$P$ の極大元 $a$ を 1 つとり(有限なので存在する)、$P':=P\setminus\{a\}$、$k:=w(P')$ とおく。帰納法の仮定により $P'=C_1\cup\cdots\cup C_k$ と $k$ 個の鎖に分割できる。$P'$ の元の個数 $k$ の反鎖は、lem-dilworth-theorem-meet により各 $C_i$ と高々 1 元を共有し、全部で $k$ 元をもつので、各 $C_i$ とちょうど 1 元を共有する。
$k\ge1$ のとき、各 $i$ について、$C_i$ の元のうち $P'$ の元の個数 $k$ のある反鎖に属するものの中で最大のものを $x_i$ とする(元の個数 $k$ の反鎖は存在し、$C_i$ と 1 元を共有するので、そのような元はある。$C_i$ は鎖なので最大のものが定まる)。$X:=\{x_1,\dots,x_k\}$ は反鎖である。実際、$x_i< x_j$ となる $i\ne j$ があるとし、$x_j$ を含む元の個数 $k$ の反鎖 $A$ をとる。$A$ と $C_i$ の共有元を $y$ とすると、$x_i$ の選び方から $y\le x_i$ であり、$y\le x_i< x_j$ となる。$y\in C_i$、$x_j\in C_j$ なので $y\ne x_j$ であり、$A$ の相異なる 2 元 $y,x_j$ が比較可能になって矛盾する。$k=0$ のときは $X:=\emptyset$ とする。
(a) $a$ が $X$ のどの元とも比較不能な場合。$X\cup\{a\}$ は元の個数 $k+1$ の反鎖なので $w(P)\ge k+1$ であり、$C_1,\dots,C_k,\{a\}$ は $P$ の $k+1$ 個の鎖への分割である。したがって $P$ は $w(P)$ 個以下の鎖に分割できる。
(b) $a$ がある $x_i$ と比較可能な場合。$a$ は極大元で $a\ne x_i$ なので $x_i< a$ である。
$$
K:=\{a\}\cup\{z\in C_i\mid z\le x_i\}
$$
は鎖である($C_i$ の元どうしは比較可能で、$z\le x_i< a$)。$P\setminus K$ に元の個数 $k$ の反鎖 $A$ があるとすると、$A\subset P'$ なので $A$ は $P'$ の元の個数 $k$ の反鎖であり、$C_i$ と 1 元 $y$ を共有する。$x_i$ の選び方から $y\le x_i$ なので $y\in K$ となり、$A\subset P\setminus K$ に反する。したがって $w(P\setminus K)\le k-1$ であり、帰納法の仮定により $P\setminus K$ は $k-1$ 個以下の鎖に分割できる。これに $K$ を加えると、$P$ は $k$ 個以下の鎖に分割できる。$w(P)\ge w(P')=k$ なので、$P$ は $w(P)$ 個以下の鎖に分割できる。$\square$
2 つ目の証明では、有限二部グラフ $B$ の最大マッチングの大きさ $\nu(B)$ と最小頂点被覆の大きさ $\tau(B)$ が等しいという Königの定理(マッチング(グラフ理論) の記事の定理「二部グラフの最大マッチングと最小頂点被覆」)を使う。ここでマッチングとは端点を共有しない辺の集合、頂点被覆とはすべての辺の端点を少なくとも 1 つ含む頂点の集合である。
$P$ を有限半順序集合とする。$P$ の各元 $x$ に対して 2 つの頂点 $x^-$、$x^+$ を用意し、頂点集合 $P^-:=\{x^-\mid x\in P\}$ と $P^+:=\{x^+\mid x\in P\}$ をもち、$x< y$ のときに限り $x^-$ と $y^+$ を辺で結んだ二部グラフを $B$ とする。
マッチングから鎖分割を作る。 $M$ を $B$ のマッチングとする。$x^-y^+\in M$ のとき $y$ を $x$ の 後続、$x$ を $y$ の 先行 と呼ぶ。$M$ の辺は端点を共有しないので、各元の後続・先行はそれぞれ高々 1 つである。先行をもたない元 $x$ から後続をたどると $x< s(x)< s(s(x))<\cdots$ という列が得られ($s$ は後続を表す)、$<$ は推移的で $z< z$ となる $z$ はないので同じ元は 2 度現れず、$P$ が有限なのでこの列は有限で止まる。どの元も、先行を逆にたどれば先行をもたない元に行き着くので、ちょうど 1 つの列に属する。各列は推移律により鎖である。したがって $P$ はこれらの列の個数個の鎖に分割される。列の個数は先行をもたない元の個数で、$M$ の各辺はちょうど 1 つの元に先行を与えるので、列の個数は $|P|-|M|$ である。$M$ を最大マッチングにとれば、$P$ は $|P|-\nu(B)$ 個の鎖に分割できる。
頂点被覆から反鎖を作る。 Königの定理により、大きさ $\nu(B)$ の頂点被覆 $T$ がある。
$$
A:=\{x\in P\mid x^-\notin T\text{ かつ }x^+\notin T\}
$$
とおく。$T$ の各頂点は $A$ から高々 1 つの元を除くだけなので $|A|\ge|P|-|T|=|P|-\nu(B)$ である。$A$ は反鎖である。実際、$x,y\in A$ で $x< y$ なら、辺 $x^-y^+$ はどちらの端点も $T$ に属さず、$T$ が頂点被覆であることに反する。
以上と lem-dilworth-theorem-meet により
$$
w(P)\ge|A|\ge|P|-\nu(B)\ge(\text{鎖分割の最小の個数})\ge w(P)
$$
であり、すべて等号である。特に $P$ は $w(P)$ 個の鎖に分割できる。$\square$
この証明は、最大マッチングを求める効率のよいアルゴリズムを使えば、最小の鎖分割と最大の反鎖を実際に計算できることも示している。KT17 §14.3(PDF p. 308–309)は同じ考え方をネットワークフローの言葉で述べている。帰納法の証明は KT17 §6.3 定理 6.17(PDF p. 146–148)にもある(本記事のものとは別の帰納法である)。
$P$ を半順序集合(無限でもよい)とし、$k\ge1$ とする。$P$ のどの $k+1$ 個の元の中にも比較可能な相異なる 2 元があり、元の個数 $k$ の反鎖があるとき、$P$ は $k$ 個の互いに交わらない鎖の和集合である。
Dilworth の原論文は、この形で定理を述べ、まず有限の場合を示してから、超限的な議論で一般の場合を導いている(Dil50 定理 1.1 と §2 の冒頭)。本記事では無限の場合の証明は扱わない。一般の場合の証明には選択公理(Zorn の補題などの超限的な議論)を用いる。反鎖の大きさに有限の上界がないとき(幅が無限のとき)は、有限個の鎖に分割できないことが lem-dilworth-theorem-meet と同じ理由からわかる。
$m\ge1$ とし、$\{1,2,\dots,2m\}$ に「$a\le b$ ⟺ $a$ が $b$ を割り切る」で半順序を入れる(整除関係)。各数を $2^eu$($u$ は奇数)と書き、奇数部分 $u$ が等しい数を集めると、$u=1,3,\dots,2m-1$ に対応する $m$ 個の鎖に分割できる(奇数部分が等しい 2 数は小さいほうが大きいほうを割り切る)。一方、$\{m+1,m+2,\dots,2m\}$ は元の個数 $m$ の反鎖である(相異なる 2 数 $a< b$ で $b<2a$ なので $a\nmid b$)。したがって lem-dilworth-theorem-meet により幅は $m$ で、この鎖分割は最小である。「$2m$ 以下の相異なる $m+1$ 個の数の中には一方が他方を割り切る 2 数がある」という 鳩の巣原理 の記事の命題「一方が他方を割り切る 2 数」は、この半順序集合の幅が $m$ 以下であることにあたる。冒頭の例は $m=5$ の場合で、反鎖 $\{6,7,8,9,10\}$ と 5 個の鎖(奇数部分 $1,3,5,7,9$)を使っている。
$r,s\ge1$ とし、$a_1,\dots,a_N$ を $N\ge rs+1$ 項の相異なる実数の列とする。このとき、長さ $r+1$ の増加部分列か、長さ $s+1$ の減少部分列がある。
添字の集合 $\{1,\dots,N\}$ に、「$i\preceq j$ ⟺ $i\le j$ かつ $a_i\le a_j$」で半順序を入れる(反射律・反対称律・推移律は $\le$ の性質からすぐに確かめられる)。この半順序の鎖を添字の小さい順に並べると、対応する項は増加する。相異なる添字 $i< j$ が比較不能なら $a_i>a_j$ なので、反鎖を添字の小さい順に並べると、対応する項は減少する。
高さが $r+1$ 以上なら、元の個数 $r+1$ の鎖が長さ $r+1$ の増加部分列を与える。高さが $r$ 以下なら、thm-dilworth-theorem-mirsky により添字の集合は $r$ 個以下の反鎖に分割でき、鳩の巣原理によりある反鎖は $N/r$ 個以上の元をもつ。$N/r>s$ なので、それは $s+1$ 個以上である。それが長さ $s+1$ 以上の減少部分列を与える。$\square$
$r=s=n$ の場合は、鳩の巣原理 の記事の定理「Erdős–Szekeres の定理」に、鳩の巣原理だけを使う別の証明がある。そこには項数 $n^2$ では結論が成り立たない例もある。
3 元 $a,b,c$ に $a< b$、$a< c$($b$ と $c$ は比較不能)で半順序を入れる。$\{a\}$ は、$b$ も $c$ も $a$ と比較可能なので、それ以上元を加えられない極大な反鎖である。しかし $\{b,c\}$ は元の個数 2 の反鎖なので、幅は 2 であり $\{a\}$ は最大の反鎖ではない。したがって「極大な反鎖の元の個数は幅に等しい」という含意は成り立たない。幅は反鎖の元の個数の最大値であり、極大な反鎖を 1 つ見つけただけでは求まらない。鎖分割は $\{a,b\}$、$\{c\}$ の 2 個で、Dilworth の定理のとおり幅に等しい。
4 元 $a,b,c,d$ に、$a< b$、$c< d$、$a< d$ とそこから推移律で従う関係だけで半順序を入れる(ほかの 2 元は比較不能)。元の個数 3 の反鎖はなく($\{a,b,c,d\}$ の 3 元部分集合はどれも $a< b$、$c< d$、$a< d$ のいずれかを含む)、$\{a,c\}$ は反鎖なので、幅は 2 である。実際、$\{a,b\}$、$\{c,d\}$ という 2 個の鎖に分割できる。
ところが、最大の鎖(元の個数 2)として $\{a,d\}$ を選んで取り除くと、残りの $\{b,c\}$ は比較不能なので鎖 1 個にはならず、全体で 3 個の鎖が必要になる。したがって「最大の鎖を選んでは取り除くことを繰り返せば、最小の鎖分割が得られる」という含意は成り立たない。Dilworth の定理の証明で、鎖 $K$ を注意深く選んでいるのはこのためである。
Dilworth の定理は Dil50(1948 年受付、1950 年刊行)による。原論文はこの定理を有限分配束の埋め込みの問題に応用している。Mirsky は 1971 年に、鎖と反鎖の役割を入れ替えた thm-dilworth-theorem-mirsky を Dilworth の定理の双対として示した(Mir71)。Mirsky の定理の証明は Dilworth の定理よりずっと易しい。Fulkerson は 1956 年に、Dilworth の定理を二部グラフのマッチングの問題に帰着させる証明を与えた(Ful56)。本記事の帰納法の証明は Galvin の短い証明(Gal94)の形である。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する