超限再帰(transfinite recursion)とは、順序数で番号を付けた値を、それより前のすべての段階の値から規則 $\mathbf{G}$ で決めていく構成法のことで、超限再帰定理は、どんなクラス関数 $\mathbf{G}$ に対しても $\mathbf{F}(\alpha)=\mathbf{G}(\mathbf{F}|_\alpha)$ を満たす $\mathbf{F}$ が順序数全体の上にただ一つ存在することを主張する。証明は選択公理を使わず、途中経過(計算)の一致・存在を超限帰納法で示し、極限の段階で置換公理により貼り合わせる。初期値・後続・極限の三式の形や、整列集合上の集合関数の形にも書き直せる。順序数の和、累積階層、$\aleph$ 数の定義に使われ、整列可能定理や Zorn の補題の証明では選択関数を先に固定した規則として現れる。
順序数の和 $\alpha+\beta$、累積階層 $V_\alpha$、$\aleph$ 数 $\aleph_\alpha$ は、どれも「それより前のすべての段階の値から、次の段階の値を決める」という規則で定義される。自然数の上の再帰的定義(再帰的定義)と違い、順序数には $\omega$ のように直前の段階をもたない極限の段階があるので、規則は前の段階の値全体を入力に取る形にしておく必要がある。こうした規則が順序数全体の上の関数をただ一つ定めることを保証するのが 超限再帰定理 である。
この定理は選択公理を使わずに $\mathsf{ZF}$ で証明でき、極限の段階で途中経過を集めるところに置換公理(ZFC公理系の「公理の一覧」節)が効く。規則の中で「まだ使っていない元を一つ選ぶ」ときは、選び方を一つの関数として先に固定する必要があり、選択公理が要るのはその固定の段階である。
主張が成り立つことを示す超限帰納法とは役割が異なる。超限帰納法は与えられた主張の真偽を順序数に沿って伝え、超限再帰は値そのものを作る。この違いは 超限帰納法の「超限再帰との違い」節にまとめられている。この記事は、作る側の定理を正確に述べて完全に証明し、使いやすい形と使い方を示す。
以下ではZFC公理系から選択公理を除いた体系 $\mathsf{ZF}$ で議論する。順序数とその基本性質(比較可能性、順序数の集合の上限、後続順序数・極限順序数)は 順序数の「定義」節と「性質」節による。順序数 $\alpha$ について $\beta<\alpha$ は $\beta\in\alpha$ を意味し、$\alpha=\{\beta\mid\beta<\alpha\}$ である。写像 $t$ と集合 $A$ について、$t|_A$ は $t$ の $A$ への制限を表す。
集合論の対象はすべて集合であり、「すべての集合の上で定義された関数」は集合としては存在しない。そこで規則は論理式で与える。
集合論の言語の論理式 $\varphi(x,y,p)$($p$ は固定したパラメータ)が、どの集合 $x$ に対してもちょうど一つの集合 $y$ について $\varphi(x,y,p)$ が成り立つという条件
$$
\forall x\,\exists!y\ \varphi(x,y,p)
$$
を満たすとき、$x$ にその $y$ を対応させる規則を クラス関数(class function)または 操作(operation)といい、$y=\mathbf{G}(x)$ と書く。集合の範囲に定義域を制限したクラス関数も同様に考える。
クラス関数 $\mathbf{G}$ と集合 $A$ が与えられると、置換公理により像 $\{\mathbf{G}(x)\mid x\in A\}$ は集合であり、したがって $\mathbf{G}$ の $A$ への制限 $\mathbf{G}|_A=\{(x,\mathbf{G}(x))\mid x\in A\}$ も集合である(対の集合を同じく置換公理で集める)。クラス関数そのものは集合ではないので、「$\mathbf{G}$ が存在する」という主張は「ある論理式が上の条件を満たす」という主張として読む。超限再帰定理は、論理式ごとに一つずつ成り立つ定理の集まり(定理図式)である。
再帰の規則 $\mathbf{G}$ は、段階 $\alpha$ までの値の列 $\mathbf{F}|_\alpha$(定義域 $\alpha$ の関数)を受け取って、段階 $\alpha$ の値を返す。この規則に正確に従った途中経過に名前を付けておく。
$\mathbf{G}$ をクラス関数、$\delta$ を順序数とする。定義域が $\delta$ の関数 $t$ で、すべての $\beta<\delta$ について
$$
t(\beta)=\mathbf{G}(t|_\beta)
$$
を満たすものを、$\mathbf{G}$ に従う長さ $\delta$ の 計算(attempt, computation)という。
長さ $0$ の計算は空関数だけである。$t$ が長さ $\delta$ の計算で $\gamma\le\delta$ なら、$t|_\gamma$ は長さ $\gamma$ の計算である。$\beta<\gamma$ では $(t|_\gamma)|_\beta=t|_\beta$ だからである。
まず、計算が規則によって一通りに決まることを示す。
$t$ を長さ $\delta$ の計算、$s$ を長さ $\delta'$ の計算とする。このとき、すべての $\beta<\min(\delta,\delta')$ について $t(\beta)=s(\beta)$ である。特に、各順序数 $\delta$ に対して長さ $\delta$ の計算は高々一つである。
$\mu:=\min(\delta,\delta')$ とし、$D:=\{\beta<\mu\mid t(\beta)\neq s(\beta)\}$ とおく。これは順序数 $\mu$ の部分集合として分出公理で作れる集合である。$D\neq\emptyset$ と仮定すると、順序数の集合は最小元をもつので(順序数の「性質」節、命題「順序数の集まりの整列性と上限」)、$D$ の最小元 $\beta$ がある。最小性から $\gamma<\beta$ ではすべて $t(\gamma)=s(\gamma)$、すなわち $t|_\beta=s|_\beta$ である。$\mathbf{G}$ は各入力にただ一つの値を返すので
$$
t(\beta)=\mathbf{G}(t|_\beta)=\mathbf{G}(s|_\beta)=s(\beta)
$$
となり、$\beta\in D$ に反する。よって $D=\emptyset$ である。$\delta=\delta'$ のときは定義域も一致するので $t=s$ となる。$\square$
次に、どの長さの計算も実際に存在することを示す。ここで極限の段階に置換公理が効く。
クラス関数 $\mathbf{G}$ と任意の順序数 $\delta$ に対し、$\mathbf{G}$ に従う長さ $\delta$ の計算が存在する。
長さ $\delta$ の計算が存在しない順序数 $\delta$ があると仮定する。超限帰納法の「順序数上の原理」節の命題「全順序数への拡張」と同じく、そのような $\delta$ の一つ $\delta_1$ をとり、$\delta_1+1$ の中の反例の集合の最小元を考えれば、長さ $\delta$ の計算が存在しない最小の順序数 $\delta$ がとれる。最小性により、$\eta<\delta$ ならば長さ $\eta$ の計算が存在し、lem-trec-agree によりそれはただ一つである。これを $t_\eta$ と書く。$\delta$ の種類で場合を分ける。
$\delta=0$ の場合。 空関数が長さ $0$ の計算なので、仮定に反する。
$\delta=\eta+1$ の場合。 $t:=t_\eta\cup\{(\eta,\mathbf{G}(t_\eta))\}$ とおく。$\eta$ は $t_\eta$ の定義域 $\eta$ に属さないので $t$ は定義域 $\eta+1$ の関数である。$\beta<\eta$ では $t|_\beta=t_\eta|_\beta$ なので $t(\beta)=t_\eta(\beta)=\mathbf{G}(t_\eta|_\beta)=\mathbf{G}(t|_\beta)$ である。$\beta=\eta$ では $t|_\eta=t_\eta$ なので $t(\eta)=\mathbf{G}(t_\eta)=\mathbf{G}(t|_\eta)$ である。よって $t$ は長さ $\delta$ の計算であり、仮定に反する。
$\delta$ が極限順序数の場合。 各 $\eta<\delta$ に $t_\eta$ を対応させる規則は「$t$ は長さ $\eta$ の計算である」という論理式で定まり、値はただ一つである。したがって置換公理により $T:=\{t_\eta\mid\eta<\delta\}$ は集合であり、和集合公理により $t:=\bigcup T$ も集合である。
$t$ は関数である。実際 $(\beta,y),(\beta,y')\in t$ なら $(\beta,y)\in t_\eta$、$(\beta,y')\in t_{\eta'}$ となる $\eta,\eta'<\delta$ があり、lem-trec-agree により $y=t_\eta(\beta)=t_{\eta'}(\beta)=y'$ である。$t$ の定義域は $\bigcup_{\eta<\delta}\eta$ であり、$\delta$ が極限順序数なので、これは $\delta$ に等しい($\beta<\delta$ なら $\beta<\beta+1<\delta$ で $\beta\in\beta+1$、逆に $\eta<\delta$ の元は $\delta$ の元)。
最後に計算の条件を確かめる。$\beta<\delta$ とすると $\beta+1<\delta$ であり、$t_{\beta+1}\subset t$ と定義域の比較から $t|_{\beta+1}=t_{\beta+1}$、したがって $t|_\beta=t_{\beta+1}|_\beta$ である。よって
$$
t(\beta)=t_{\beta+1}(\beta)=\mathbf{G}(t_{\beta+1}|_\beta)=\mathbf{G}(t|_\beta)
$$
であり、$t$ は長さ $\delta$ の計算である。これも仮定に反する。
どの場合も矛盾が生じたので、すべての順序数 $\delta$ について長さ $\delta$ の計算が存在する。$\square$
以上の二つの補題から、主定理が従う。
($\mathsf{ZF}$)$\mathbf{G}$ をクラス関数とする。このとき、すべての順序数 $\alpha$ について
$$
\mathbf{F}(\alpha)=\mathbf{G}(\mathbf{F}|_\alpha)
$$
を満たし、順序数でない集合 $x$ では $\mathbf{F}(x)=\emptyset$ となるクラス関数 $\mathbf{F}$ が存在する。各順序数 $\alpha$ について制限 $\mathbf{F}|_\alpha$ は集合である。さらに、順序数上で同じ等式を満たすクラス関数 $\mathbf{F}'$ は、すべての順序数 $\alpha$ で $\mathbf{F}'(\alpha)=\mathbf{F}(\alpha)$ を満たす。
定義。 各順序数 $\delta$ について、長さ $\delta$ の計算が lem-trec-exist により存在し、lem-trec-agree によりただ一つである。これを $t_\delta$ と書く。集合 $x$ と $y$ について
制限が計算に一致すること。 順序数 $\alpha$ と $\beta<\alpha$ をとる。$t_{\beta+1}$ と $t_\alpha$ はともに計算で $\beta<\min(\beta+1,\alpha)$ なので、lem-trec-agree により $\mathbf{F}(\beta)=t_{\beta+1}(\beta)=t_\alpha(\beta)$ である。よって $\mathbf{F}|_\alpha=t_\alpha$ であり、特に $\mathbf{F}|_\alpha$ は集合である。
再帰式。 順序数 $\alpha$ について、$t_{\alpha+1}$ が計算であることと $t_{\alpha+1}|_\alpha=t_\alpha=\mathbf{F}|_\alpha$ から
$$
\mathbf{F}(\alpha)=t_{\alpha+1}(\alpha)=\mathbf{G}(t_{\alpha+1}|_\alpha)=\mathbf{G}(\mathbf{F}|_\alpha)
$$
である。
一意性。 $\mathbf{F}'$ もすべての順序数で $\mathbf{F}'(\alpha)=\mathbf{G}(\mathbf{F}'|_\alpha)$ を満たすとする($\mathbf{F}'|_\alpha$ は置換公理により集合である)。主張 $P(\alpha)$:「$\mathbf{F}'(\alpha)=\mathbf{F}(\alpha)$」を超限帰納法で示す。すべての $\beta<\alpha$ で $P(\beta)$ が成り立つとすると $\mathbf{F}'|_\alpha=\mathbf{F}|_\alpha$ なので、$\mathbf{F}'(\alpha)=\mathbf{G}(\mathbf{F}'|_\alpha)=\mathbf{G}(\mathbf{F}|_\alpha)=\mathbf{F}(\alpha)$ である。超限帰納法の「順序数上の原理」節の命題「全順序数への拡張」により、すべての順序数 $\alpha$ で $P(\alpha)$ が成り立つ。$\square$
実際の定義は、thm-trec-main の形よりも「初期値・後続・極限」の三つの式や、集合の範囲に収まる形で書かれることが多い。どれも主定理から $\mathbf{G}$ を作り直すだけで得られる。
($\mathsf{ZF}$)集合 $a$ とクラス関数 $\mathbf{S},\mathbf{L}$ が与えられたとき、すべての順序数 $\alpha$ と $0$ でない極限順序数 $\lambda$ について
$$
\mathbf{F}(0)=a,\qquad \mathbf{F}(\alpha+1)=\mathbf{S}(\mathbf{F}(\alpha)),\qquad \mathbf{F}(\lambda)=\mathbf{L}(\mathbf{F}|_\lambda)
$$
を満たすクラス関数 $\mathbf{F}$ が存在し、順序数上の値はこの三式で一意に決まる。
集合 $t$ に対し、$\mathbf{G}(t)$ を次で定める。$t=\emptyset$ なら $a$。$t$ が定義域 $\eta+1$($\eta$ は順序数)の関数なら $\mathbf{S}(t(\eta))$。$t$ が定義域が $0$ でない極限順序数の関数なら $\mathbf{L}(t)$。それ以外なら $\emptyset$。これらの場合は互いに排他的で、各場合の条件は論理式で書けるので、$\mathbf{G}$ はクラス関数である。thm-trec-main による $\mathbf{F}$ は $\mathbf{F}(0)=\mathbf{G}(\emptyset)=a$、$\mathbf{F}(\alpha+1)=\mathbf{G}(\mathbf{F}|_{\alpha+1})=\mathbf{S}(\mathbf{F}(\alpha))$、$\mathbf{F}(\lambda)=\mathbf{G}(\mathbf{F}|_\lambda)=\mathbf{L}(\mathbf{F}|_\lambda)$ を満たす。逆に三式を満たすクラス関数は、順序数が $0$・後続順序数・極限順序数のどれか一つであることから、すべての順序数 $\alpha$ で $\mathbf{F}'(\alpha)=\mathbf{G}(\mathbf{F}'|_\alpha)$ を満たすので、主定理の一意性により順序数上で $\mathbf{F}$ と一致する。$\square$
値が決まった集合 $A$ に収まることが分かっている場合は、クラス関数を使わずに集合の言葉だけで述べられる。
($\mathsf{ZF}$)$\Omega$ を順序数、$A$ を集合とし、$\beta<\Omega$ を定義域とする $A$ への関数全体の集合を $S$ とする。任意の写像 $g\colon S\to A$ に対し、すべての $\alpha<\Omega$ について $f(\alpha)=g(f|_\alpha)$ を満たす写像 $f\colon\Omega\to A$ がただ一つ存在する。
$S$ は $\mathcal{P}(\Omega\times A)$ から分出公理で作れる集合である。$t\in S$ なら $\mathbf{G}(t):=g(t)$、それ以外なら $\mathbf{G}(t):=\emptyset$ とおき、thm-trec-main の $\mathbf{F}$ をとる。$\alpha<\Omega$ について $\mathbf{F}(\alpha)\in A$ を超限帰納法で示す。$\beta<\alpha$ で $\mathbf{F}(\beta)\in A$ なら $\mathbf{F}|_\alpha$ は $\alpha$ から $A$ への関数で $\alpha<\Omega$ なので $\mathbf{F}|_\alpha\in S$、よって $\mathbf{F}(\alpha)=g(\mathbf{F}|_\alpha)\in A$ である。$f:=\mathbf{F}|_\Omega$ が求める写像である。別の $f'$ が同じ条件を満たせば、$f'(\alpha)=f(\alpha)$ を $\alpha<\Omega$ についての超限帰納法で示せる(prf-trec-main の一意性と同じ論法)。$\square$
添字が順序数でなく一般の整列順序をもつ集合でも、同じ形の再帰ができる。整列集合 $(W,<)$ と $x\in W$ について、$W_{< x}:=\{y\in W\mid y< x\}$ を $x$ の始切片という。
($\mathsf{ZF}$)$(W,<)$ を整列集合、$A$ を集合とし、ある $x\in W$ について $W_{< x}$ から $A$ への関数となるもの全体を $S_W$ とする。任意の写像 $g\colon S_W\to A$ に対し、すべての $x\in W$ について $f(x)=g(f|_{W_{< x}})$ を満たす写像 $f\colon W\to A$ がただ一つ存在する。
順序数の「性質」節の定理「整列集合の順序数による表現」により、順序数 $\theta$ と順序同型写像 $\pi\colon W\to\theta$ がある。$\pi$ は始切片 $W_{< x}$ を始切片 $\pi(x)$ の上へ写す。$\beta<\theta$ と関数 $u\colon\beta\to A$ に対し、$x:=\pi^{-1}(\beta)$ として $g'(u):=g(u\circ\pi|_{W_{< x}})$ とおく。cor-trec-set-version を $\Omega=\theta$、$g'$ に適用して $f'\colon\theta\to A$ を得て、$f:=f'\circ\pi$ とおく。$x\in W$、$\beta=\pi(x)$ とすると $f|_{W_{< x}}=f'|_\beta\circ\pi|_{W_{< x}}$ なので
$$
f(x)=f'(\beta)=g'(f'|_\beta)=g(f'|_\beta\circ\pi|_{W_{< x}})=g(f|_{W_{< x}})
$$
である。一意性は、条件を満たす $f$ から $f\circ\pi^{-1}$ を作ると cor-trec-set-version の条件を満たすので、その一意性に帰着する。$\square$
整列順序の記事で「整列集合の各元に、それより小さいすべての元での値から値を定めて写像を構成する方法」と述べられているのは、この系のことである。再帰的定義の「性質」節の再帰定理は、$W=\omega$ の場合で、極限の段階が現れない。
順序数 $\alpha$ をパラメータとし、$\mathbf{G}_\alpha(t)$ を、$t=\emptyset$ なら $\alpha$、$t$ が定義域 $\eta+1$ の関数なら $t(\eta)\cup\{t(\eta)\}$、$t$ が定義域が極限順序数の関数なら値域の和集合 $\bigcup_{\xi\in\operatorname{dom}t}t(\xi)$、それ以外なら $\emptyset$ と定める。thm-trec-main で得られる $\mathbf{F}_\alpha(\beta)$ が $\alpha+\beta$ であり、cor-trec-three-cases の形で書けば
$$
\alpha+0=\alpha,\qquad \alpha+(\beta+1)=(\alpha+\beta)+1,\qquad \alpha+\lambda=\sup_{\beta<\lambda}(\alpha+\beta)
$$
となる。これは 順序数の定義「順序数の算術」の式そのものである。たとえば $1+\omega=\sup_{n<\omega}(1+n)=\omega$ だが $\omega+1\neq\omega$ であり、和は可換でない。
$a=\emptyset$、$\mathbf{S}(x)=\mathcal{P}(x)$、$\mathbf{L}(t)=\bigcup_{\xi\in\operatorname{dom}t}t(\xi)$ として cor-trec-three-cases を使うと
$$
V_0=\emptyset,\qquad V_{\alpha+1}=\mathcal{P}(V_\alpha),\qquad V_\lambda=\bigcup_{\beta<\lambda}V_\beta
$$
が定まる。$V_1=\{\emptyset\}$、$V_2=\{\emptyset,\{\emptyset\}\}$ で、有限の $n$ について $V_n$ は有限集合であり、元の個数は $|V_{n+1}|=2^{|V_n|}$ で増える($0,1,2,4,16,65536,\ldots$)。各 $V_\alpha$ が推移的集合であることは、超限帰納法の「累積階層における帰納法」節で超限帰納法により示されている。定義は再帰、性質は帰納法、という分担の典型である。
順序数 $\gamma$ に対し、$\gamma$ へ単射で写せない最小の順序数を $h(\gamma)$ と書く(Hartogs数)。$h$ は論理式で定まるクラス関数なので、cor-trec-three-cases により
$$
\omega_0=\omega,\qquad \omega_{\alpha+1}=h(\omega_\alpha),\qquad \omega_\lambda=\sup_{\beta<\lambda}\omega_\beta
$$
が定まる。Hartogs数の命題「Hartogs 数の基本性質」の 4 により $h(\omega_\alpha)=\omega_\alpha^{+}$ なので、これが 基数の「定義」節の $\aleph_\alpha=\omega_\alpha$ である。この定義は選択公理を使わない。
集合 $X$ を整列させたいとき、「まだ並べていない元を一つ選んで次に置く」と書きたくなる。しかし「一つ選ぶ」は値を一つに決めないので、そのままではクラス関数にならず、thm-trec-main を適用できない。そこで選択公理により、空でない部分集合 $Y\subset X$ に元 $c(Y)\in Y$ を対応させる選択関数 $c$ を一つ固定し、これをパラメータとして
$$
\mathbf{G}(t)=\begin{cases}c(X\setminus\operatorname{ran}t)&(t\text{ は関数で }X\setminus\operatorname{ran}t\neq\emptyset),\\ X&(\text{それ以外})\end{cases}
$$
とおく。$X$ 自身は正則性公理により $X$ の元でないので、値 $X$ は「並べ終わった」ことを示す停止の印になる。こうすれば再帰そのものは $\mathsf{ZF}$ の定理として使え、選択公理は $c$ の存在に一回だけ使われる。停止の印がいずれ現れることは Hartogs数 で保証され、その後の議論は 選択公理の「性質」節の定理「整列可能定理との同値」の証明にある。Zornの補題の「定理」節の証明も、鎖の上にある元を選ぶ関数を先に固定してから同じ形の再帰を行っている。
共終数の補題「共終写像から狭義単調な共終写像を作る」の証明のように、ある段階で値が作れなくなった時点で構成を打ち切る再帰も多い。これも、作れない段階では停止の印を返す $\mathbf{G}$ を書き、印が最初に現れる段階 $\beta'$ までの値を使う、と読めば主定理の形に収まる。
thm-trec-main が使う条件は、添字の順序が整列していること、規則 $\mathbf{G}$ がどの途中経過にも値をただ一つ返すこと、の二つである。次の表の各行は、そのうち一つだけを破る。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| 添字の順序が整列している(存在の側) | 整数 $\mathbb{Z}$ の通常の順序で、$f(n)$ を「$\{f(m)\mid m< n\}$ に属さない最小の自然数」とする規則 | 解が存在しない |
| 添字の順序が整列している(一意性の側) | $\mathbb{Z}$ で、$f(n)$ を「直前の値 $f(n-1)$ に $1$ を足したもの」とする規則 | 解が一意でない |
| 規則が値をただ一つ返す | $X=\{0,1\}$ で「まだ使っていない $X$ の元を一つ取る」 | 解が一意でない |
整列順序の代わりに、空でない部分集合が極小元をもつ関係(整礎関係)で、各元の前者全体が集合になるものの上でも、同じ形の再帰定理が成り立つ(Kun80 Chapter III, Theorem 5.6, p. 103)。帰属関係 $\in$ はその代表例で、各集合 $x$ の階数 $\operatorname{rank}(x)=\sup\{\operatorname{rank}(y)+1\mid y\in x\}$ はこの形の再帰で定義される。この記事ではこの一般形を証明しない。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する