計算理論・ラムダ計算の問題
型なしラムダ計算を考える。適用は左結合()、抽象は右に最大限のびるものとし、 同値な項は同一視する。簡約は 簡約のみを考える( 簡約は考えない)。 以上の整数 に対してチャーチ数を
と定める()。さらに次の項を定める。
このとき項
は 正規形をもち、それはあるチャーチ数 に一致する。整数 を求めよ。
この問題で使うもの
- チャーチ数と対による計算(説明と入口の問題)
- β 簡約と β 正規形(説明と入口の問題)
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
が を に 回適用した項に簡約されることを使い、まず が何回の反復を表すかを調べよう。
ヒント 2
である。また 、、、 を確かめると、 がわかる。
ヒント 3
となる。組は と変化するので、あと 2 回の更新を計算し、最後に第 2 成分を取り出せばよい。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
以下、 は 回以上の 簡約、 は 同値を表す。 で を表す。
(1) チャーチ数による反復. 任意の項 に対し
である( が に自由に現れないよう束縛変数を取り替えておく)。
(2) の正規形.
ここで なので 、さらに 。よって
(一般に であり、ここでは 。)
したがって で、(1) より
(3) 組と射影. だから
(4) 算術. 。また
を内側から 回使うと となり、。
(5) の働き. (3), (4) より
つまり は組 を に移す。 は適用について合同なので、これを繰り返し使える。
(6) 計算. から始めると
よって であり、(3) より
(7) 正規形. は 正規形である。Church–Rosser の定理より、 なら と は共通の簡約先をもち、 は正規形なので 。正規形は(存在すれば)一意なので、 の 正規形は である。また なら と は 同値でない異なる正規形なので、 は一意に決まる。
したがって 。
別解
は と 同値( で )。よって ( を 4 回適用)。
対 ( はチャーチ数)に対し , 。 は積 、 は後者関数。したがって 、すなわち数の組 。
から 4 回適用する:
- 1 回目:
- 2 回目:
- 3 回目:
- 4 回目:
最後に を適用すると第 2 成分 が得られる。よって 。
検算: 漸化式 ()で となり、一致する。