変数の可算数、およびそれらとℕ間計算の全単射を持って、私たちはΛとℕ間の全単射を作成することができます:
- #V =⟨0、F(V)⟩、ここで、fはℕとℕ(計数可能であるために存在する)との間の計算可能な双結合であり、⟨はℕとbetweenの間の計算可能な双射である。
- #(LM)=⟨1、⟨#1、#1M⟩⟩
- #(λV。L)=⟨2、⟨#1 V、#1L⟩⟩
表記⌜L ⌝はLの符号化を表す教会の数字であるc _ {#L}を表す。すべての集合Sについて、#Sは集合{#L | L∈S}である。
これは、ラムダ計算は決定可能でないことを証明するために私達を許可する:
非自明な(ない∅またはΛ)もαの下で閉じセットとβ平等は(L∈AとL場合みようβ= M、M∈A)。 Bを集合{L | L←L∈A}である。集合#Aがrecursiveであると仮定する。 f(x∈Aの場合はf(x)= 1、x∉Aの場合は0)はμ-recursive functionでなければなりません。すべてのμ-再帰関数は、*λが定義されているので、そのためにFが存在する必要があります:
F⌜L⌝= C_1⇔⌜L⌝∈A
F⌜L⌝= C_0⇔⌜L⌝∉A
G≡λnとする。 M_0はB中の任意のλ項であり、M_1はB中にない任意のλ項である。ただし、#nは計算可能であり、従ってλ定義可能であることに注意されたい。
「今はBでG⌜GIsですか?」という質問をしてください。はいの場合、G⌜G⌝= M_1∉Bなので、G⌜G⌝はBには属していない可能性があります(Bはβ=で閉じていることに注意してください)。そうでなければ、G⌜G⌝= M_0∈Bであるので、Bに入っていなければならない。
これは矛盾しているため、Aは再帰的ではない可能性があるため、閉鎖不能β=非自明集合再帰的です。
{L | Lβ= true}はβ=および非自明で閉じられるので、再帰的ではない。これはラムダ計算が決定できないことを意味します。
*すべての計算機能がλ定義可能であることを証明(我々はλ項FようにFのC_ {N1} C_ {N2} ... = C_ {F(N1、N2を有することができ、 ...)})と、この回答の証拠は、"Lambda Calculi With Types" by Henk Barendregt(セクション2.2)にあります。