ラムダ計算は数学の計算を全てラムダ関数で表現しようと
するものです。
そのため数字もチャーチ数で表します。
ループもラムダ関数で表せなければなりません。
そのためにはFixedPoint演算子を使う必要があります
するものです。
そのため数字もチャーチ数で表します。
ループもラムダ関数で表せなければなりません。
そのためにはFixedPoint演算子を使う必要があります
ラムダ式でFixedPointを考えると
FixedPoint = (λx.(F(xx)))(λx.(F(xx)))
となります
(λx.(F(xx)))が2つ連続しており
後ろの(λx.(F(xx)))を前の(λx.(F(xx)))のxにβ変換すれば
F(xx) ← (λx.(F(xx))) xにβ変換
(F( (λx.(F(xx))) (λx.(F(xx)) ))
となり
(λx.(F(xx)))(λx.(F(xx))) = (F(λx.(F(xx)))(λx.(F(xx))))
という形になり
FixedPointになっています
FixedPoint = (λx.(F(xx)))(λx.(F(xx)))
となります
(λx.(F(xx)))が2つ連続しており
後ろの(λx.(F(xx)))を前の(λx.(F(xx)))のxにβ変換すれば
F(xx) ← (λx.(F(xx))) xにβ変換
(F( (λx.(F(xx))) (λx.(F(xx)) ))
となり
(λx.(F(xx)))(λx.(F(xx))) = (F(λx.(F(xx)))(λx.(F(xx))))
という形になり
FixedPointになっています
コメントをかく