目標:なにかを理解する
注意:なにもわかってない人からなにか知見を得ようとしないでください。僕の言葉は全て疑ってください。嘘つきかどうかすらも疑ってください。
同様に
公理S:(A→(A→A)→A)→(A→A→A)→A→A
公理K:A→(A→A)→A
推論規則 (A→A→A)→A→A
公理K:A→A→A
推論規則 A→A
によってA→Aが示せることがわかる。
同様に
公理S:(A→(A→A)→A)→(A→A→A)→A→A
公理K:A→(A→A)→A
推論規則 (A→A→A)→A→A
公理K:A→A→A
推論規則 A→A
によってA→Aが示せることがわかる。
A,A→A,A型によるSコンビネータ
A,A→A型によるKコンビネータ
A,A型によるKコンビネータ
を用いたλ項
(S:(A→(A→A)→A)→(A→A→A)→A→A)(K:A→(A→A)→A)(K:A→A→A)
を簡約すると、
(SK:(A→A→A)→A→A)(K:A→A→A)
(SKK:A→A)
のようになり、A→A型の具体項が得られる。
ところで、λ項の型だけに注目すると、
S,Kコンビネータはヒルベルト流命題論理の公理に、β簡約は推論規則に対応している。
つまり、型だけ見ればβ簡約により証明の流れを見ることができる。
A,A→A,A型によるSコンビネータ
A,A→A型によるKコンビネータ
A,A型によるKコンビネータ
を用いたλ項
(S:(A→(A→A)→A)→(A→A→A)→A→A)(K:A→(A→A)→A)(K:A→A→A)
を簡約すると、
(SK:(A→A→A)→A→A)(K:A→A→A)
(SKK:A→A)
のようになり、A→A型の具体項が得られる。
ところで、λ項の型だけに注目すると、
S,Kコンビネータはヒルベルト流命題論理の公理に、β簡約は推論規則に対応している。
つまり、型だけ見ればβ簡約により証明の流れを見ることができる。
また、SKKaは簡約を繰り返すことでaとなるので、SKKは恒等関数である。
aの型をAとして、SKKaの型を推論すると、
(S:(A→(A→A)→A)→(A→A→A)→A→A)(K:A→(A→A)→A)(K:A→A→A)(a:A)となり、簡約を進めると、
(K:A→(A→A)→A)(a:A)((K:A→A→A)(a:A))
(a:A)
となる。
また、SKKaは簡約を繰り返すことでaとなるので、SKKは恒等関数である。
aの型をAとして、SKKaの型を推論すると、
(S:(A→(A→A)→A)→(A→A→A)→A→A)(K:A→(A→A)→A)(K:A→A→A)(a:A)となり、簡約を進めると、
(K:A→(A→A)→A)(a:A)((K:A→A→A)(a:A))
(a:A)
となる。