ラムダ計算の評価


8

私はこれが簡単な質問であることを知っていますが、誰かが私にその方法を示すことができます (λy。λバツ。λy。y)(λバツ。λy。y) に減少する λバツ。λy。y。


これを正しく括弧に入れましたか?それが書かれているので、私はそれがどのように単純化されることができるか全くわかりません。だった場合(λy.λx.λy.y) (λx.λy.y)、に減少しλx.λy.yます。
— sepp2k

はい、質問を更新しました。あなたはλx.λy.y得た方法を説明でした
— prerm2686

回答:


10

その理由 (λy。λバツ。λy。y)(λバツ。λy。y) に減少する λバツ。λy。y そしてしない λバツ。λy。λバツ。λy。y それは y の体に λy。λバツ。λy。y 最初ではなく、3番目のラムダの引数を参照します。

引数の名前を別の名前に変更すると、 λy。λバツ。λy。y と書かれる λy1。λバツ。λy2。y2。したがって、その関数を引数に適用すると、y1 に λバツ。λy2。y2引数で置き換える必要があります。しかしながらy1 その式にはまったく現れないので、引数は単に無視され、結果は λバツ。λy2。y2。


はい、そうです、y2はy1にバインドされていません。どうもありがとうございました。
— prerm2686

7
@ prerm2686変数は常に最も近い包含によってバインドされます λ。サブタームλy。y 変数名を使用するコンテキストで使用する場合でも、どこで使用しても、恒等関数です y。
— Gilles「SO-悪をやめなさい」

ウィキペディアでの削減は、α変換とβ削減のより正式な扱いを提供します。私が好きなリファレンスは、Chris Hankinの本
— Romuald、2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.