教会の数字を含むラムダ計算の評価


10

教会の数字 λs ように見えることを理解しています。λ Z s(... n回...)。何よりも「機能よりも、この手段適用されたファンクション回」。cnλs.λz.ss n zszsnz

関数の可能な定義は次のとおりです:。身体を見ると、その機能の背後にある論理がわかります。しかし、評価を開始すると、行き詰まります。例を挙げて説明します。TはiがmはE 、S = λ M λ nはλ sのメートルtimestimes=λm.λn.λs.m(ns)

λメートルλλsメートルsλsλzsszλsλzssszλsλsλzsszλsλzssszsλsλsλzsszλzssszλsλzλzssszλzssszz

この状況で、最初にを適用すると、目的の結果が得られます。ただし、最初に適用すると、アプリケーションが左から関連付けられているため、間違った結果:λ Z Sλzssszzλzssszλzsssz

λsλzλzssszλzssszzλsλzsssλzssszz

これを減らすことはできません。何が悪いのですか?結果はλsλzssssssz


あなたの最初の用語の教会の数字は正しくありません。図2に示すように表されますではなくλ S λ Z s s zλsλzsszλsλzssz
Uday Reddy

回答:


7

私はあなたの削減は正しいと思います(私はそれを目撃しただけです)。終わりに、あなたは適用することはできません、Z、この用語には表示されません。λ Z F F zはあるλ Z F 、F Zではなくλ Z f f z 。ラムダ計算の関数は単一の引数を取ります。彼らは効果的にカレーされていますλzssszzλzffzλzffzλzffz:2つの引数を持つ関数は、最初の引数を取り、2番目の引数を取り、結果を返す新しい1つの引数を持つ関数を返す1つの引数を持つ関数として実装されます。

教会の数字を定義するときにも同じ間違いをしました。のチャーチは、関数をn回構成することに基づいています。「関数適用されたn個の関数倍Zλ S λ Z s s ssz。あなたが書いたのは、関数 s n 1回適用された関数 sであり、最後に zに適用されたものです。λsλzssszs1sz

ことであるλ M N S M N S λ S 、Z S S2×。私はあなたがそれが軽減していることを確認してもらおう λ sのZ s s s s s sλメートルsメートルsλszsszλszssszλszssssssz


あなたの段落に関する限り、あなたは正しいですし、私はこれを知っていました。連想を正しく適用することで正しい結果が得られたことに、私はただ驚いた。2番目の段落まで:あなたは正しいです。中括弧を使用しなかったのは、アプリケーションの左結合性のため、やはり誤りでした。ここでもう一度全体を減らし、中括弧がないためにエラーが発生したかどうかを確認します。
codd

ありました。あなたは私の記法が間違ったアプリケーションの順番を示唆していたことを指摘しました!あなたの答えを受け入れる。
codd
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.