Yコンビネーター、関数構成


回答:


6

それはあなたが使用している等価性の概念に依存します。

-CPOドメインで、これらの用語をそれらの意味論的意味に従って比較するとします。表すの用語の意味論。したがって、はスコット連続関数です。次に、クリーネの不動点定理によれば、のセマンティクスはωF,Gf,gF,GY(f∘g)

(1)=[[Y(f∘g)]]=⨆{⊥,F(G(⊥)),F(G(F(G(⊥)))),…}
ここで、は、上限/最小上限を示します。⨆

同様に、

(2)=[[f(Y(g∘f)]]=F(⨆{⊥,G(F(⊥)),G(F(G(F(⊥)))),…})

連続性により、

(2)=⨆{F(⊥),F(G(F(⊥))),F(G(F(G(F(⊥))))),…}

次に、あることを証明するには、任意の1つのチェーンの任意の要素が他のチェーンのいくつかの要素によって上にバインドされていることを観察します。実際、 がます。さらに、 それを確立します、証明を終了します。(1)=(2)

⊥⊑F(⊥),F(G(⊥))⊑F(G(F(⊥))),…
(1)⊑(2)
F(⊥)⊑F(G(⊥)),F(G(F(⊥)))⊑F(G(F(G(⊥)))),…
(2)⊑(1)

かなり正式ではないが、は無限大のアプリケーション を表し、同様に、は 2番目の上に 単一のを適用すると、最初のが得られるのはかなり自然なことです。上記のドメイン理論の証明は、それを正式に正当化するものです。Y(f∘g)

f(g(f(g(…))))
Y(g∘f)
g(f(g(f(…))))
f
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.