記號繼承自 Higher-Order Computability
標題的描述有點複雜,但其實只是說 κ∘γ⪰idΛ0/=β,表示 κ∘γ 不是 λ-definable。
要證明這點,可以從 Kleene's first model 與 Closed lambda terms 不等價 知道 K1≃Λ0/=β,而下面三項引理都已經成立而知必須如此。
兩個 computability model 的等價 ≃,表示他們可以互相模擬並且兩個模擬的兩種組合都跟模擬自己的函數相似。Kleene's first model K1 與 closed lambda terms Λ0/=β 的模擬細節定義在下面,由於兩者都只有一個 datatype,所以元素的選擇是明顯的。
Definition Λ0/=β 模擬 K1 [local-1]
κ:K1▹Λ0/=β 由以下關係定義
M⊩κn iff M=βn=βλf.λx.fnx
fn 表示重複 f 剛好 n 次
Definition K1 模擬 Λ0/=β [local-2]
γ:Λ0/=β▹K1 由以下關係定義
n⊩γ[M] iff n=⌈M′⌉ for some M′=βM
⌈M′⌉ 是某種 Gödel 編碼
在回答下面兩個問題之前,我們要考慮 γ∘κ:K1▹K1 會建立什麼?展開我們可以看到
γ∘κ(n)=γ(κ(n))=γ(n)=⌈n⌉
Lemma γ∘κ⪯idK1 [local-4]
由於 ⌈n⌉ 確實是自然數,且 Gödel 編碼特性保證了這是獨特的,表示是良好的 tracker。γ∘κ 顯然是一個 K1 對自己的模擬,因此跟某個 idK1 在有定義時相等。
Lemma γ∘κ⪰idK1 [local-6]
同理,只要找到有定義時跟 γ∘κ 相等的那個 idK1 即可。
反過來就困難得多,κ∘γ:Λ0/=β▹Λ0/=β 展開可以得到
κ∘γ(M)=κ(γ(M))=κ(⌈M⌉)=⌈M⌉
Lemma κ∘γ⪯idΛ0/=β [local-7]
這裡需要用到 Kleene enumeration theorem,說明存在一個 P∈Λ0,令式
P(⌈M⌉)=βM
對所有 M∈Λ0 成立。直覺上來說,是因為我們可以從外部看到 ⌈M⌉ 的定義之後再找滿足條件的 P。