強正規化定理

同義語:strong normalization theoremstrong normalisation theorem

概要

強正規化定理(strong normalization theorem)とは、単純型付きラムダ計算で型の付く項から始まる β 簡約の列は、β 基をどこからどの順で選んでも必ず有限回で終わり、正規形に達するという定理である。型ごとに「可約な項」の集合を型についての帰納法で定め、可約な項が満たす 3 つの条件と抽象の補題から、型の付く項はすべて可約であり、可約な項は強正規化可能であることを示す(Tait の可約性の方法)。局所合流性と組み合わせると正規形の一意性が従い、型の付く項どうしが共通の簡約先をもつかは正規形を計算して比べれば判定できる。Gödel の体系 $\mathrm{T}$ や System F にも同じ方法が拡張される。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 型理論, λ計算, 数学的帰納法

強正規化定理(strong normalization theorem)は、単純型付きラムダ計算で型の付く項から始めると、β 簡約をどこからどの順で行っても、必ず有限回で正規形に行き着く、という定理である。型理論 の記事の定理「弱正規化定理」は、β 基をうまく選べば正規形に着くことを述べるが、選び方を誤ったときに簡約が終わらない可能性は排除しない。型の付かない λ計算 では実際に、$(\lambda x.\,y)\Omega$ は外側を縮約すれば正規形 $y$ になるのに、内側の $\Omega$ を縮約し続けると終わらない。強正規化定理は、型を付けるとこのような「悪い選び方」がなくなることを保証する。
証明の鍵は、Tait に始まる 可約性(reducibility)の方法である(GLT89 第 6 章の冒頭、p. 41)。型ごとに「可約な項」の集合を型についての帰納法で定め、型の付く項はすべて可約であり、可約な項は強正規化可能であることを示す。項の大きさについての素朴な帰納法では、代入で項が大きくなり新しい β 基が生じるために証明が進まないが、可約性は関数型の項について「可約な引数に当てると可約になる」という強い性質を帰納法の仮定に組み込むことで、この困難を越える。この記事では、可約性の 3 条件、抽象の補題、可約性定理を順に証明して強正規化定理を導き、さらに局所合流性と組み合わせて正規形の一意性の別証明を与える。

設定

単純型・項・型付け規則・β 簡約は 型理論 の記事の定義「単純型」「項」「型付け規則」「β簡約と正規形」に従う。すなわち、基本型 $o$ から $\to$ で単純型を作り、項は変数・抽象 $\lambda x{:}A.\,M$・適用 $MN$ からなり、型判断 $\Gamma\vdash M:A$ は 3 つの規則 (var)・(abs)・(app) で導かれる。束縛変数の名前だけが違う項は同じものとみなし、代入 $M[N/x]$ では必要なら束縛変数の名前を変えて、$N$ の自由変数が捕まらないようにする。
β 簡約の一歩 $M\to_\beta M'$ は、$M$ の中の どの位置にある β 基 $(\lambda x{:}A.\,P)Q$ を $P[Q/x]$ に置き換えてもよい。以下では $\to_\beta$ を $\to$、その $0$ 回以上の繰り返しを $\to^*$ と略記し、$M\to M'$ のとき $M'$ を $M$ の 一歩先 という。β 簡約は型の注釈 $A$ を見ないので、以下の定義と補題の多くは、型の付かない項も含めたすべての項について述べる。型付け可能な項から簡約した項は、型理論 の記事の定理「主部簡約」により同じ文脈で同じ型をもつ。

強正規化可能な項

項 $M$ から始まる β 簡約の列 $M=M_0\to M_1\to M_2\to\cdots$ で無限に続くものがないとき、$M$ は 強正規化可能(strongly normalizable)であるという。強正規化可能な項の集合を $\mathrm{SN}$ と書く。これに対し、$M$ が正規形をもつ($M\to^*N$ となる正規形 $N$ がある)とき、$M$ は 弱正規化可能 であるという。

正規形の項は β 基を含まないので一歩先がなく、強正規化可能である。強正規化可能な項は、簡約をどう選んでも止まるので、止まった所が正規形であり、弱正規化可能である。逆は成り立たない(ex-sn-wn)。

簡約の長さの上限
  1. どの項も一歩先は有限個しかない。
  2. $M\in\mathrm{SN}$ なら、$M$ から始まる簡約の列の長さには上限がある。その最大値を $\nu(M)$ と書く($M$ が正規形なら $\nu(M)=0$)。
  3. $M\in\mathrm{SN}$ かつ $M\to M'$ なら、$M'\in\mathrm{SN}$ かつ $\nu(M')<\nu(M)$ である。
  4. $M$ の一歩先がすべて $\mathrm{SN}$ に属するなら $M\in\mathrm{SN}$ であり、$M$ が正規形でなければ $\nu(M)$ は一歩先 $M'$ についての $\nu(M')+1$ の最大値である。
有限分岐の木に無限の枝がないこと

要点:一歩先が有限個なので、長さに上限がなければ、上限のない一歩先を次々に選んで無限の列が作れる。

詳細

1:一歩先は、縮約する β 基の出現を 1 つ選ぶごとに 1 つ決まる。項の部分項の出現は有限個なので、β 基の出現も有限個である。

2:$M$ から始まる列の長さに上限がないとする。$M$ の一歩先 $M'_1,\dots,M'_k$(1 により有限個)のそれぞれについて、$M'_i$ から始まる列の長さに上限 $\ell_i$ があれば、$M$ から始まる列の長さは $\max_i\ell_i+1$ 以下になって仮定に反する。よって、上限をもたない一歩先がある。項の全体を 1 列に並べておき、そのような一歩先のうち最初のものを $M_1$ とする。$M_1$ にも同じ議論を当てて $M_2$ を選び、これを繰り返すと無限の列 $M\to M_1\to M_2\to\cdots$ ができ、$M\in\mathrm{SN}$ に反する。これは有限分岐の木についての Kőnigの補題 の議論であり、GLT89 §4.4 の補題(p. 27)と同じである。

3:$M'$ から始まる無限の列があれば、先頭に $M$ を付けて $M$ から始まる無限の列になる。$M'$ から始まる長さ $\nu(M')$ の列の先頭に $M$ を付けると長さ $\nu(M')+1$ の列になるので、$\nu(M')+1\le\nu(M)$ である。

4:$M$ から始まる無限の列は必ずある一歩先 $M'$ を通り、そこから先も無限に続くので、$M'\in\mathrm{SN}$ に反する。よって $M\in\mathrm{SN}$ である。長さの式は、$M$ から始まる正の長さの列が一歩先から始まる列に $M$ を付けたものであることによる。$\square$

3 により、強正規化可能な項についての主張は $\nu(M)$ についての 数学的帰納法 で示せる。「一歩先がすべて性質をもつなら $M$ も性質をもつ」を示せばよい。

弱正規化可能だが強正規化可能でない項

型の注釈は簡約に影響しないので省いて、項 $\omega:=\lambda z.\,zz$、$\Omega:=\omega\omega$ を考える。$\Omega$ の β 基は $\Omega$ 自身だけで、$\Omega\to(zz)[\omega/z]=\Omega$ である。$M:=(\lambda x.\,y)\Omega$($x\ne y$)の一歩先は、外側の β 基を縮約した $y$ と、内側の $\Omega$ を縮約した $M$ 自身の 2 つである。$y$ は正規形なので $M$ は弱正規化可能だが、内側を縮約し続ける列 $M\to M\to M\to\cdots$ は終わらないので $M\notin\mathrm{SN}$ である。$\lambda z$ にどの型の注釈を付けても、$M$ は型付け可能でない。型付け可能な項の部分項は、型理論 の記事の補題「生成補題」で導出を逆にたどると型付け可能だが、部分項 $zz$ は同じ記事の反例「自分自身への適用」により型付け可能でないからである。

可約性

項 $M$ が 中立 であるとは、$M$ が抽象でない(変数か適用である)ことをいう(GLT89 §6.2、p. 42)。中立な項 $M$ と任意の項 $N$ について、$MN$ 自身は β 基でないので、$MN$ の一歩先は、$M$ の一歩先 $M'$ による $M'N$ と、$N$ の一歩先 $N'$ による $MN'$ だけである。

可約な項

各単純型 $A$ に項の集合 $\mathrm{RED}_A$ を、$A$ の組み立てについての帰納法で次のように定める。

  1. 基本型 $o$ について、$\mathrm{RED}_o:=\mathrm{SN}$。
  2. $\mathrm{RED}_{A\to B}:=\{M\mid\text{すべての }N\in\mathrm{RED}_A\text{ について }MN\in\mathrm{RED}_B\}$。
    $M\in\mathrm{RED}_A$ のとき、$M$ は 型 $A$ について可約 であるという。

$\mathrm{RED}_A$ は項の型を見ずに定めた集合であり、型 $A$ をもたない項も含みうる。$A\to B$ に上がるたびに「すべての $N\in\mathrm{RED}_A$ について」という量化と含意が加わるので、型が複雑になるほど可約性の条件は論理的に複雑になる(GLT89 §6.1、p. 42)。この複雑さが、項の大きさについての帰納法では扱えない情報を運ぶ。

可約性の 3 条件

すべての単純型 $A$ について、次が成り立つ。

  • (CR1) $\mathrm{RED}_A\subset\mathrm{SN}$。
  • (CR2) $M\in\mathrm{RED}_A$ かつ $M\to M'$ なら $M'\in\mathrm{RED}_A$。
  • (CR3) $M$ が中立で、$M$ の一歩先がすべて $\mathrm{RED}_A$ に属するなら、$M\in\mathrm{RED}_A$。
    とくに、中立な正規形(たとえば変数)は、どの型についても可約である。

最後の主張は (CR3) の特別な場合である。中立な正規形には一歩先がないので、(CR3) の仮定は自動的に満たされる。

型についての帰納法

3 条件をまとめて $A$ についての帰納法で示す。
基本型 $o$。 (CR1) は $\mathrm{RED}_o=\mathrm{SN}$ なので自明である。(CR2) は lem-sn-nu の 3、(CR3) は同じ補題の 4 である((CR3) では中立であることを使わない)。
関数型 $A\to B$。 $A$ と $B$ について 3 条件が成り立つと仮定する。(CR1) は変数 $x\in\mathrm{RED}_A$ に当てた $Mx$ の強正規化から、(CR2) は $MN\to M'N$ から従う。

(CR1)・(CR2) の詳細

(CR1):$M\in\mathrm{RED}_{A\to B}$ とし、変数 $x$ をとる。$x$ は中立な正規形なので、$A$ についての (CR3) により $x\in\mathrm{RED}_A$ であり、定義から $Mx\in\mathrm{RED}_B$、$B$ についての (CR1) から $Mx\in\mathrm{SN}$ である。$M$ から始まる無限の列 $M\to M_1\to M_2\to\cdots$ があれば、$Mx\to M_1x\to M_2x\to\cdots$ は $Mx$ から始まる無限の列になるので、$M\in\mathrm{SN}$ である。

(CR2):$M\in\mathrm{RED}_{A\to B}$、$M\to M'$、$N\in\mathrm{RED}_A$ とする。$MN\in\mathrm{RED}_B$ かつ $MN\to M'N$ なので、$B$ についての (CR2) により $M'N\in\mathrm{RED}_B$ である。よって $M'\in\mathrm{RED}_{A\to B}$ である。


(CR3):$M$ を中立とし、その一歩先がすべて $\mathrm{RED}_{A\to B}$ に属するとする。$N\in\mathrm{RED}_A$ について $MN\in\mathrm{RED}_B$ を示せばよい。$A$ についての (CR1) により $N\in\mathrm{SN}$ なので、$\nu(N)$ についての帰納法で示す。$M$ は中立なので、$MN$ の一歩先は次の 2 種類だけである。

  • $M'N$($M\to M'$)。仮定により $M'\in\mathrm{RED}_{A\to B}$ なので $M'N\in\mathrm{RED}_B$ である。
  • $MN'$($N\to N'$)。$A$ についての (CR2) により $N'\in\mathrm{RED}_A$ であり、lem-sn-nu の 3 により $\nu(N')<\nu(N)$ なので、帰納法の仮定から $MN'\in\mathrm{RED}_B$ である。
    $MN$ は適用なので中立であり、一歩先がすべて $\mathrm{RED}_B$ に属するから、$B$ についての (CR3) により $MN\in\mathrm{RED}_B$ である。$\square$

この証明は GLT89 §6.2.1・§6.2.3(pp. 42–44)の議論を、直積型を除いて述べたものである。

可約性定理と強正規化定理

抽象 $\lambda x{:}A.\,P$ が可約であることを示すには、$P$ への代入と簡約の関係が要る。

代入と簡約

$P,P',N,N'$ を項、$x$ を変数とする。

  1. $P\to P'$ なら $P[N/x]\to P'[N/x]$ である。
  2. $N\to N'$ なら $P[N/x]\to^*P[N'/x]$ である。
項の組み立てについての帰納法

1:$P\to P'$ を生成する規則についての帰納法である。$P$ 自身が縮約される β 基 $(\lambda y{:}C.\,R)S$ で $P'=R[S/y]$ のとき、$y\ne x$、$y\notin\mathrm{FV}(N)$ に名前を選ぶと
$$ P[N/x]=(\lambda y{:}C.\,R[N/x])\,S[N/x]\to R[N/x]\,[\,S[N/x]/y\,]=R[S/y][N/x]=P'[N/x] $$
である。等号のうち 2 つ目は λ計算 の記事の補題「代入補題」で、その証明は型の注釈 $C$ があっても変わらない。

残りの場合と 2 の証明

1 の残り:簡約が真部分で起こるとき($P=P_1P_2$ で $P_1\to P_1'$ など)は、代入が成分ごとに行われることと帰納法の仮定による。抽象 $\lambda y{:}C.\,R$ の内側で起こるときも、$y\ne x$、$y\notin\mathrm{FV}(N)$ に選べば同じである。

2:$P$ の組み立てについての帰納法である。$P=x$ なら $P[N/x]=N\to N'=P[N'/x]$、$P$ が $x$ 以外の変数なら両辺は $P$ である。$P=P_1P_2$ なら帰納法の仮定から $P_1[N/x]\to^*P_1[N'/x]$、$P_2[N/x]\to^*P_2[N'/x]$ で、これを順に行えばよい。$P=\lambda y{:}C.\,R$ なら、$y\ne x$、$y\notin\mathrm{FV}(N)\cup\mathrm{FV}(N')$ に選んで内側で帰納法の仮定を使う。$\square$

抽象の補題

$P$ を項、$x$ を変数、$A,B$ を単純型とする。すべての $N\in\mathrm{RED}_A$ について $P[N/x]\in\mathrm{RED}_B$ ならば、$\lambda x{:}A.\,P\in\mathrm{RED}_{A\to B}$ である。

2 つの項の簡約の長さの和についての帰納法

$x,A,B$ を固定し、項 $P$ が「すべての $N\in\mathrm{RED}_A$ について $P[N/x]\in\mathrm{RED}_B$」を満たすことを $(\mathrm H_P)$ と書く。$(\mathrm H_P)$ を満たす $P$ について、lem-sn-cr の最後の主張により $x\in\mathrm{RED}_A$ なので $P=P[x/x]\in\mathrm{RED}_B$ であり、(CR1) により $P\in\mathrm{SN}$ である。また $N\in\mathrm{RED}_A$ なら (CR1) により $N\in\mathrm{SN}$ である。
$(\mathrm H_P)$ を満たす $P$ と $N\in\mathrm{RED}_A$ について $(\lambda x{:}A.\,P)N\in\mathrm{RED}_B$ となることを、$\nu(P)+\nu(N)$ についての帰納法で示す。$(\lambda x{:}A.\,P)N$ の β 基は、それ自身と、$P$ の中のものと、$N$ の中のものだけなので、一歩先は次の 3 種類である。

  • $P[N/x]$。$(\mathrm H_P)$ により $\mathrm{RED}_B$ に属する。
  • $(\lambda x{:}A.\,P')N$($P\to P'$)。任意の $N''\in\mathrm{RED}_A$ について、lem-sn-subst の 1 により $P[N''/x]\to P'[N''/x]$ であり、$P[N''/x]\in\mathrm{RED}_B$ なので (CR2) により $P'[N''/x]\in\mathrm{RED}_B$ である。よって $P'$ も $(\mathrm H_{P'})$ を満たし、lem-sn-nu の 3 により $\nu(P')<\nu(P)$ なので、帰納法の仮定からこの項は $\mathrm{RED}_B$ に属する。
  • $(\lambda x{:}A.\,P)N'$($N\to N'$)。(CR2) により $N'\in\mathrm{RED}_A$、$\nu(N')<\nu(N)$ なので、帰納法の仮定から $\mathrm{RED}_B$ に属する。
    $(\lambda x{:}A.\,P)N$ は適用なので中立であり、一歩先がすべて $\mathrm{RED}_B$ に属するから、(CR3) により $\mathrm{RED}_B$ に属する。$N\in\mathrm{RED}_A$ は任意なので、定義から $\lambda x{:}A.\,P\in\mathrm{RED}_{A\to B}$ である。$\square$

型の付いた項の自由変数に可約な項をまとめて代入するため、同時代入 を使う。相異なる変数 $x_1,\dots,x_n$ と項 $N_1,\dots,N_n$ について、$M$ の自由な $x_i$ をそれぞれ $N_i$ に同時に置き換えた項を $M[\vec N/\vec x]$ と書く。これは 型理論 の記事の 1 変数の代入と同じ再帰で定まり、抽象 $\lambda y{:}C.\,P$ では $y$ を $x_1,\dots,x_n$ とも $N_1,\dots,N_n$ の自由変数とも異なるように選んで $(\lambda y{:}C.\,P)[\vec N/\vec x]=\lambda y{:}C.\,P[\vec N/\vec x]$ とする。このように選んだ $y$ と任意の項 $N$ について
$$ P[\vec N/\vec x][N/y]=P[\vec N/\vec x,\,N/y] $$
が成り立つ(右辺は $y$ も含めた同時代入)。$y$ が $N_i$ に自由に現れないので、左辺で 2 回目の代入が触るのは $P$ にもとからあった $y$ だけだからである($P$ の組み立てについての帰納法で確かめられる)。

可約性定理

$\Gamma=\{x_1{:}A_1,\dots,x_n{:}A_n\}$ とし、$\Gamma\vdash M:A$ とする。$N_i\in\mathrm{RED}_{A_i}$($i=1,\dots,n$)ならば、$M[\vec N/\vec x]\in\mathrm{RED}_A$ である。

型判断の導出についての帰納法

導出の最後の規則で場合を分ける。$\sigma:=[\vec N/\vec x]$ と略記する。

  • (var):$M=x_i$、$A=A_i$ なら、$M\sigma=N_i\in\mathrm{RED}_{A_i}$ である。
  • (app):$M=PQ$ で $\Gamma\vdash P:B\to A$、$\Gamma\vdash Q:B$ なら、帰納法の仮定により $P\sigma\in\mathrm{RED}_{B\to A}$、$Q\sigma\in\mathrm{RED}_B$ なので、定義から $M\sigma=(P\sigma)(Q\sigma)\in\mathrm{RED}_A$ である。
  • (abs):$M=\lambda y{:}B.\,P$、$A=B\to C$ で $\Gamma,y{:}B\vdash P:C$ とする。$y$ は $\Gamma$ に現れず、$N_1,\dots,N_n$ に自由に現れないように選んでおく。任意の $N\in\mathrm{RED}_B$ について、文脈 $\Gamma,y{:}B$ と項 $N_1,\dots,N_n,N$ に帰納法の仮定を使うと $P[\vec N/\vec x,\,N/y]\in\mathrm{RED}_C$ であり、上の等式により左辺は $(P\sigma)[N/y]$ に等しい。よって lem-sn-abs により $\lambda y{:}B.\,P\sigma\in\mathrm{RED}_{B\to C}$ であり、これは $M\sigma$ に等しい。$\square$

(abs) の場合に、$P$ について「可約な項を代入すると可約」という強い形の仮定を使えることが、同時代入まで含めて定理を述べる理由である(GLT89 §6.3.3、p. 45)。

強正規化定理

単純型付きラムダ計算で型付け可能な項はすべて強正規化可能である。すなわち、$\Gamma\vdash M:A$ ならば、$M$ から始まる β 簡約の列はどれも有限回で終わり、終わった所は正規形である。

$\Gamma=\{x_1{:}A_1,\dots,x_n{:}A_n\}$ とする。各 $x_i$ は中立な正規形なので、lem-sn-cr の最後の主張により $x_i\in\mathrm{RED}_{A_i}$ である。thm-sn-adequacy を $N_i:=x_i$ に使うと $M=M[\vec x/\vec x]\in\mathrm{RED}_A$ であり、(CR1) により $M\in\mathrm{SN}$ である。簡約の列が止まった項には一歩先がないので、β 基を含まず正規形である。$\square$

この定理と lem-sn-cr・lem-sn-abs・thm-sn-adequacy の流れは GLT89 第 6 章(pp. 41–45)の証明と同じである。GLT89 は直積型 $A\times B$ と対・射影も含めて示しており、直積型の可約性は「両方の射影が可約」で定める。

帰結

どの簡約の仕方でも止まる

thm-sn-main により、型付け可能な項から始めて、残っている β 基を どれでもよいから 1 つ縮約することを繰り返す手続きは、必ず有限回で止まって正規形を出力する。弱正規化定理だけでは、正規形を見つけるために「次数が最大の β 基を内側から選ぶ」などの選び方の規則が必要だった(GLT89 §4.2、p. 24、§4.4、p. 26)。

正規形の一意性

正規形がただ 1 つであることは、型の付かない項についての λ計算 の定理「Church–Rosser の定理」からも従う(その証明は型の注釈を付けた項でも変わらない)。強正規化定理を使うと、次のように一歩ずつの局所的な性質から導ける。

局所合流性

$M\to N_1$ かつ $M\to N_2$ ならば、$N_1\to^*L$ かつ $N_2\to^*L$ となる項 $L$ がある。

2 つの β 基の位置関係で場合を分ける

$N_1,N_2$ が $M$ の β 基の出現 $r_1,r_2$ を縮約したものとし、$M$ の組み立てについての帰納法で示す。$r_1=r_2$ なら $N_1=N_2$ である。$r_1,r_2$ がともに $M$ の真部分にあるとき、同じ成分の中にあれば帰納法の仮定を使い、$M=PQ$ で一方が $P$、他方が $Q$ の中にあれば、両方を縮約した項が共通の簡約先になる。
残るのは、一方、たとえば $r_1$ が $M$ 自身で、$M=(\lambda x{:}A.\,P)Q$、$N_1=P[Q/x]$ の場合である。$r_2$ が $P$ の中にあり $P\to P'$ なら、$N_2=(\lambda x{:}A.\,P')Q\to P'[Q/x]$ であり、lem-sn-subst の 1 により $N_1\to P'[Q/x]$ である。$r_2$ が $Q$ の中にあり $Q\to Q'$ なら、$N_2=(\lambda x{:}A.\,P)Q'\to P[Q'/x]$ であり、lem-sn-subst の 2 により $N_1\to^*P[Q'/x]$ である。$\lambda x{:}A.\,P$ 自身は β 基でないので、ほかの場合はない。$\square$

下の証明は、β 簡約の性質としては局所合流性と lem-sn-nu しか使わないので、一歩先が有限個で局所合流的であり無限の列がない一般の関係にもそのまま当てはまる。一般の関係では、無限の列があると局所合流性だけから合流性(λ計算 の Church–Rosser の定理の形)は従わない(下の反例の表の 4 行目)。β 簡約そのものは Church–Rosser の定理により強正規化を仮定しなくても合流的なので、この反例は項ではなく 4 点の上の関係で作る。

強正規化と局所合流性からの合流性

項の集合 $X$ が次を満たすとする:$M\in X$ かつ $M\to M'$ なら $M'\in X$。$X$ の項はすべて強正規化可能。このとき、$M\in X$ について $M\to^*N_1$ かつ $M\to^*N_2$ ならば、$N_1\to^*L$ かつ $N_2\to^*L$ となる項 $L$ がある。

簡約の長さについての帰納法

$\nu(M)$ についての帰納法で示す。$M\to^*N_1$、$M\to^*N_2$ のどちらかが $0$ 回の簡約なら、もう一方の終点を $L$ にとればよい。そうでなければ $M\to M_1\to^*N_1$、$M\to M_2\to^*N_2$ と書ける。prop-sn-local により $M_1\to^*L_0$、$M_2\to^*L_0$ となる $L_0$ がある。
$M_1\in X$ で lem-sn-nu の 3 により $\nu(M_1)<\nu(M)$ なので、帰納法の仮定を $M_1\to^*N_1$、$M_1\to^*L_0$ に使うと、$N_1\to^*L_1$、$L_0\to^*L_1$ となる $L_1$ がある。次に $M_2\in X$、$\nu(M_2)<\nu(M)$ で、$M_2\to^*L_0\to^*L_1$ と $M_2\to^*N_2$ があるから、帰納法の仮定により $L_1\to^*L$、$N_2\to^*L$ となる $L$ がある。$N_1\to^*L_1\to^*L$ なので、この $L$ が求めるものである。$\square$

$$ \xymatrix{ & & M \ar[dl] \ar[dr] & & \\ & M_1 \ar[dl]_{*} \ar[dr]^{*} & & M_2 \ar[dl]_{*} \ar[dr]^{*} & \\ N_1 \ar@{.>}[dr]_{*} & & L_0 \ar@{.>}[dl]^{*} & & N_2 \ar@{.>}[ddll]^{*} \\ & L_1 \ar@{.>}[dr]_{*} & & & \\ & & L & & } $$

型付け可能な項の正規形

$M$ を型付け可能な項とする。

  1. $M$ の正規形はただ 1 つである。これを $\mathrm{nf}(M)$ と書く。$M$ から始まる β 簡約の列は、どれも有限回で $\mathrm{nf}(M)$ に行き着いて止まる。
  2. $M,M'$ がともに型付け可能なとき、$M\to^*L$ かつ $M'\to^*L$ となる項 $L$ があることと、$\mathrm{nf}(M)=\mathrm{nf}(M')$ は同値である。とくに、この条件は正規形を計算して比べることで判定できる。

$X$ を、ある文脈で型付け可能な項の全体とする。型理論 の記事の定理「主部簡約」により $X$ は簡約で閉じており、thm-sn-main により $X$ の項はすべて強正規化可能である。
1:$N_1,N_2$ が $M$ の正規形なら、thm-sn-confluence により $N_1\to^*L$、$N_2\to^*L$ となる $L$ があるが、正規形からの簡約は $0$ 回しかないので $N_1=L=N_2$ である。簡約の列は thm-sn-main により正規形で止まり、それは $M$ の正規形なので $\mathrm{nf}(M)$ である。
2:$M\to^*L$、$M'\to^*L$ なら、$L\in X$ なので $L\to^*\mathrm{nf}(L)$ であり、$\mathrm{nf}(L)$ は $M$ と $M'$ の両方の正規形だから、1 により $\mathrm{nf}(M)=\mathrm{nf}(L)=\mathrm{nf}(M')$ である。逆に $\mathrm{nf}(M)=\mathrm{nf}(M')$ ならそれを $L$ にとればよい。正規形は、1 により β 基を任意に選んで縮約し続ければ有限回で得られる。$\square$

証明の正規化

型理論 の記事の定理「Curry–Howard対応」により、型付け可能な項は含意だけの最小論理の 自然演繹 の導出に、β 簡約は「$\to\mathrm I$ の直後に $\to\mathrm E$ を使う遠回り」を取り除く操作に対応する。したがって強正規化定理は、導出の遠回りをどの順で取り除いても有限回で遠回りのない導出に達することを述べている。遠回りのない導出の形から、型理論 の記事の系「含意だけの最小論理の無矛盾性」のような無矛盾性が導かれる。連言・否定・$\bot$ の規則も含む自然演繹の体系での正規化と、正規な導出の部分論理式性は、正規化定理(自然演繹) で証明する。

拡張と限界

この節の結果はこの記事では証明しない。

  • Gödel の体系 T。 単純型付きラムダ計算に自然数の型と原始再帰の演算子を加えた体系 T でも、同じ可約性の方法で強正規化定理が示される(GLT89 §7.1–§7.2、pp. 47–48。可約性はもともと Tait が体系 T のために考えたものである)。体系 T は Peano算術 を符号化するので、T の強正規化定理から Peano 算術の無矛盾性が従い、Gödelの不完全性定理 によりこの強正規化定理は Peano 算術の中では証明できない(GLT89 第 6 章の冒頭、p. 41)。可約性の条件が型とともに論理的に複雑になることは、この意味で避けられない。
  • System F。 型についての量化 $\Pi X.\,A$ を加えた System F では、型 $\Pi X.\,A$ の可約性を定めるのに型 $A[U/X]$ の可約性が要り、$U$ は $\Pi X.\,A$ 自身でもありうるので、型についての帰納法が使えない。Girard は (CR1)〜(CR3) を満たす項の集合を「可約性の候補」としてすべて動かすことでこの困難を解決した(GLT89 第 14 章、§14.1、pp. 113–114)。
  • 依存型。 Martin-Löf型理論 の型の付いた項についての正規化の結果は、その記事の節「メタ理論」で所在を挙げている。

反例:条件を外すと成り立たない

外す条件反例成り立たなくなること
項が型付け可能(thm-sn-main)型の注釈を除いた $\Omega=(\lambda z.\,zz)(\lambda z.\,zz)$強正規化可能であること(正規形をもつことも)
型付け規則が (var)・(abs)・(app) だけ(thm-sn-main)定数 $\mathrm{fix}_A:(A\to A)\to A$ と簡約 $\mathrm{fix}_A\,M\to M(\mathrm{fix}_A\,M)$ を加えた体系の $\mathrm{fix}_o(\lambda x{:}o.\,x)$強正規化可能であること
$M$ が中立(lem-sn-cr の (CR3))$M:=\lambda x{:}o.\,xx$ と型 $o\to o$一歩先がすべて可約なら $M$ も可約であること
無限の列がないこと(thm-sn-confluence の議論を一般の関係に当てたもの)4 点 $a,b,c,d$ の上の関係 $b\to a$、$b\to c$、$c\to b$、$c\to d$局所合流性から合流性が従うこと
反例の確かめ

1 行目は ex-sn-wn の計算、2・3 行目は無限の簡約の列を具体的に作り、4 行目は 2 つの正規形を比べる。

詳細

1 行目:ex-sn-wn のとおり $\Omega\to\Omega$ なので、$\Omega$ から始まる簡約の列は $\Omega$ を繰り返すだけで終わらず、正規形にも達しない。部分項 $zz$ により型付け可能でない。

2 行目:$I:=\lambda x{:}o.\,x$ とすると $\vdash I:o\to o$ なので、新しい定数の型と (app) により $\vdash\mathrm{fix}_o\,I:o$ である。新しい簡約で $\mathrm{fix}_o\,I\to I(\mathrm{fix}_o\,I)$、さらに β 簡約で $I(\mathrm{fix}_o\,I)\to\mathrm{fix}_o\,I$ となり、この 2 歩を繰り返す列は終わらない。型が付いても、再帰の定数を加えると強正規化は成り立たない。

3 行目:$M$ の中の $xx$ は関数の位置が変数なので β 基でなく、$M$ は正規形であり一歩先をもたない。したがって (CR3) の仮定は自動的に満たされる。一方 $N:=\lambda y{:}o.\,yy$ は正規形なので $N\in\mathrm{SN}=\mathrm{RED}_o$ だが、$MN\to NN$、$NN\to(yy)[N/y]=NN$ となり、$MN$ から終わらない列があるので $MN\notin\mathrm{RED}_o$ である。よって $M\notin\mathrm{RED}_{o\to o}$ である。$M$ は抽象なので中立でなく、(CR3) の結論が成り立たない。

4 行目:局所合流性を確かめる。$b$ の一歩先 $a,c$ は $c\to b\to a$ により $a$ で合流し、$c$ の一歩先 $b,d$ は $b\to c\to d$ により $d$ で合流する。$a,d$ には一歩先がない。一方 $b\to^*a$、$b\to c\to d$ で、$a,d$ はどちらも一歩先をもたない異なる点なので、共通の行き先はなく合流性は成り立たない。$b\to c\to b\to\cdots$ が終わらないので、強正規化の仮定が破れている。

3 行目が示すように、$\mathrm{RED}_A$ は型 $A$ の項を集めたものではなく、型の付かない項についての条件である。また、強正規化可能な項に強正規化可能な項を代入しても強正規化可能とは限らない($xx$ と $N=\lambda y{:}o.\,yy$ はどちらも正規形だが、$(xx)[N/x]=NN$ は強正規化可能でない)。このため、「強正規化可能」そのものを帰納法の仮定にして項の大きさについての帰納法を行うと、抽象と適用の場合に行き詰まる。可約性は、代入して当てる相手を可約な項に限ることでこの困難を避けている。

関連項目

参考文献

[1]
Jean-Yves Girard, Yves Lafont, Paul Taylor, Proofs and Types, Cambridge University Press, 1989, §4.2(弱正規化と正規形の計算)p. 24、§4.3.4(弱正規化の証明の順序)p. 26、§4.4(強正規化可能の定義と ν(t)、König の補題による補題)pp. 26–27、第 6 章(強正規化定理:冒頭と Tait の可約性 p. 41、§6.1 可約性 pp. 41–42、§6.2 中立な項と (CR 1)–(CR 3) pp. 42–44、§6.3.2 抽象の補題 p. 44、§6.3.3 定理と命題 p. 45)、§7.1–§7.2(体系 T とその正規化定理)pp. 47–48、§14.1(System F の可約性の候補)pp. 113–114

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する