SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
本編 まとめとその他の話題 参考文献
ものまね鳥を愛でる
結合子論理と計算
石井大海
筑波大学博士後期課程一年
Monday 6th March, 2017
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
追悼
Raymond M. Smullyan,
(1919-2017)
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
Table Of Contents
1 本編
2 まとめとその他の話題
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
ものまね鳥をまねる
- 今回の種本
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
ものまね鳥をまねる
- 今回の種本
◎ 訳書 [5] は余り良くないので
原書の方が良いかも
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
ものまね鳥をまねる
- 今回の種本
◎ 訳書 [5] は余り良くないので
原書の方が良いかも
- 結合子を「鳥」に見立てたパズ
ルに親しむうちに不完全性定理
に行き着く.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
ものまね鳥をまねる
- 今回の種本
◎ 訳書 [5] は余り良くないので
原書の方が良いかも
- 結合子を「鳥」に見立てたパズ
ルに親しむうちに不完全性定理
に行き着く.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
鳥のパズル(設定)
種本の冒頭では次の設定でパズルを考えている:
- ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を
言う.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
鳥のパズル(設定)
種本の冒頭では次の設定でパズルを考えている:
- ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を
言う.
◎ 鳥 A の「B」に対する反応を AB と書く.括弧は左結合と考
えて省略する:ABC = (AB)C.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
鳥のパズル(設定)
種本の冒頭では次の設定でパズルを考えている:
- ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を
言う.
◎ 鳥 A の「B」に対する反応を AB と書く.括弧は左結合と考
えて省略する:ABC = (AB)C.
- この森にはこういう鳥がいる:
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
鳥のパズル(設定)
種本の冒頭では次の設定でパズルを考えている:
- ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を
言う.
◎ 鳥 A の「B」に対する反応を AB と書く.括弧は左結合と考
えて省略する:ABC = (AB)C.
- この森にはこういう鳥がいる:
1. (合成鳥)任意の鳥 X と Y に対して,そいつらをリレーした
結果を返すような合成鳥 Z が必ずいる.
i.e. ∀X ∀Y ∃Z ∀x Zx = X(Yx).
X, Y に対しその合成鳥(の一つ)を BXY で表す.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
鳥のパズル(設定)
種本の冒頭では次の設定でパズルを考えている:
- ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を
言う.
◎ 鳥 A の「B」に対する反応を AB と書く.括弧は左結合と考
えて省略する:ABC = (AB)C.
- この森にはこういう鳥がいる:
1. (合成鳥)任意の鳥 X と Y に対して,そいつらをリレーした
結果を返すような合成鳥 Z が必ずいる.
i.e. ∀X ∀Y ∃Z ∀x Zx = X(Yx).
X, Y に対しその合成鳥(の一つ)を BXY で表す.
2. (物まね鳥)Mx = xx を満たすような物まね鳥 M が居る.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
鳥のパズル(設定)
種本の冒頭では次の設定でパズルを考えている:
- ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を
言う.
◎ 鳥 A の「B」に対する反応を AB と書く.括弧は左結合と考
えて省略する:ABC = (AB)C.
- この森にはこういう鳥がいる:
1. (合成鳥)任意の鳥 X と Y に対して,そいつらをリレーした
結果を返すような合成鳥 Z が必ずいる.
i.e. ∀X ∀Y ∃Z ∀x Zx = X(Yx).
X, Y に対しその合成鳥(の一つ)を BXY で表す.
2. (物まね鳥)Mx = xx を満たすような物まね鳥 M が居る.
- AB = B となるとき,「鳥 A は B が好き」と言う.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
例
問 1 (不動点定理)
合成鳥 B と物まね鳥 M が居るなら,どんな鳥 A も少なく
とも一羽の鳥が好き (i.e. ∀A ∃x Ax = x).
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
例
問 1 (不動点定理)
合成鳥 B と物まね鳥 M が居るなら,どんな鳥 A も少なく
とも一羽の鳥が好き (i.e. ∀A ∃x Ax = x).
(答)X = BAM とすると XX がそれ.
XX = A(MX) = A(XX)
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
例
問 1 (不動点定理)
合成鳥 B と物まね鳥 M が居るなら,どんな鳥 A も少なく
とも一羽の鳥が好き (i.e. ∀A ∃x Ax = x).
(答)X = BAM とすると XX がそれ.
XX = A(MX) = A(XX)
- こんな感じで帳尻を合わせていくパズルが沢山.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
例
問 1 (不動点定理)
合成鳥 B と物まね鳥 M が居るなら,どんな鳥 A も少なく
とも一羽の鳥が好き (i.e. ∀A ∃x Ax = x).
(答)X = BAM とすると XX がそれ.
XX = A(MX) = A(XX)
- こんな感じで帳尻を合わせていくパズルが沢山.
- 詳しくは紹介しませんが,次のパズルは言霊がすごい:
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
例
問 1 (不動点定理)
合成鳥 B と物まね鳥 M が居るなら,どんな鳥 A も少なく
とも一羽の鳥が好き (i.e. ∀A ∃x Ax = x).
(答)X = BAM とすると XX がそれ.
XX = A(MX) = A(XX)
- こんな感じで帳尻を合わせていくパズルが沢山.
- 詳しくは紹介しませんが,次のパズルは言霊がすごい:
問 2
救いがたいほど自己中心的なヒバリは異常に魅力的なのは
なぜか?
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
数学的内容:結合子論理
? 「鳥」パズルは数学的には何なのか?
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
数学的内容:結合子論理
? 「鳥」パズルは数学的には何なのか?
結合子論理!
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
数学的内容:結合子論理
? 「鳥」パズルは数学的には何なのか?
結合子論理!
- 結合子と変数の文字列を一定の規則に従って書き換えていく
「計算」だと思える.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
数学的内容:結合子論理
? 「鳥」パズルは数学的には何なのか?
結合子論理!
- 結合子と変数の文字列を一定の規則に従って書き換えていく
「計算」だと思える.
※ ここでは括弧の順番まで込めた文字列を考えている.また,
三つ以上の文字が並ぶ時は左から順に二つずつ括弧が省略さ
れていると考える:xyz = (xy)z = ((xy)z),
x(yzw) = (x((yz)w)).
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
数学的内容:結合子論理
? 「鳥」パズルは数学的には何なのか?
結合子論理!
- 結合子と変数の文字列を一定の規則に従って書き換えていく
「計算」だと思える.
※ ここでは括弧の順番まで込めた文字列を考えている.また,
三つ以上の文字が並ぶ時は左から順に二つずつ括弧が省略さ
れていると考える:xyz = (xy)z = ((xy)z),
x(yzw) = (x((yz)w)).
- 先程の問題は,「Bxyz x(yz),Mx xx という書き換え規
則の下で,任意の A に対してその不動点として振る舞うもの
を見付けよ」という意味だった.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
数学的内容:結合子論理
? 「鳥」パズルは数学的には何なのか?
結合子論理!
- 結合子と変数の文字列を一定の規則に従って書き換えていく
「計算」だと思える.
※ ここでは括弧の順番まで込めた文字列を考えている.また,
三つ以上の文字が並ぶ時は左から順に二つずつ括弧が省略さ
れていると考える:xyz = (xy)z = ((xy)z),
x(yzw) = (x((yz)w)).
- 先程の問題は,「Bxyz x(yz),Mx xx という書き換え規
則の下で,任意の A に対してその不動点として振る舞うもの
を見付けよ」という意味だった.
? 自由に「書き換え」出来るにはどんな結合子があればよ
いか?
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
数学的内容:結合子論理
? 「鳥」パズルは数学的には何なのか?
結合子論理!
- 結合子と変数の文字列を一定の規則に従って書き換えていく
「計算」だと思える.
※ ここでは括弧の順番まで込めた文字列を考えている.また,
三つ以上の文字が並ぶ時は左から順に二つずつ括弧が省略さ
れていると考える:xyz = (xy)z = ((xy)z),
x(yzw) = (x((yz)w)).
- 先程の問題は,「Bxyz x(yz),Mx xx という書き換え規
則の下で,任意の A に対してその不動点として振る舞うもの
を見付けよ」という意味だった.
? 自由に「書き換え」出来るにはどんな結合子があればよ
いか?
? 「書き換え」計算でどの程度の事が計算出来るのか(計算
能力)?
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
自由に「書き 換え」が出来るために
- 各「書き換え」ステップの定義が必要.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
自由に「書き 換え」が出来るために
- 各「書き換え」ステップの定義が必要.
ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの
結合子からなる括弧つき文字列を返す操作」と思っておこう.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
自由に「書き 換え」が出来るために
- 各「書き換え」ステップの定義が必要.
ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの
結合子からなる括弧つき文字列を返す操作」と思っておこう.
- 変数 x を含む文字列 t に対して,「x を t に書き換える操作」
を “λ x. t” と表すことにする.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
自由に「書き 換え」が出来るために
- 各「書き換え」ステップの定義が必要.
ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの
結合子からなる括弧つき文字列を返す操作」と思っておこう.
- 変数 x を含む文字列 t に対して,「x を t に書き換える操作」
を “λ x. t” と表すことにする.
◎ (λ x. t)A t[ x
A ].(t[ x
A ] は t で変数 x に A を代入したもの)
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
自由に「書き 換え」が出来るために
- 各「書き換え」ステップの定義が必要.
ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの
結合子からなる括弧つき文字列を返す操作」と思っておこう.
- 変数 x を含む文字列 t に対して,「x を t に書き換える操作」
を “λ x. t” と表すことにする.
◎ (λ x. t)A t[ x
A ].(t[ x
A ] は t で変数 x に A を代入したもの)
- 複数変数を必要とする場合は
λ x1 . . . xn. t ≡ λ x1. λ x2. . . . λ xn. t と表す.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
自由に「書き 換え」が出来るために
- 各「書き換え」ステップの定義が必要.
ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの
結合子からなる括弧つき文字列を返す操作」と思っておこう.
- 変数 x を含む文字列 t に対して,「x を t に書き換える操作」
を “λ x. t” と表すことにする.
◎ (λ x. t)A t[ x
A ].(t[ x
A ] は t で変数 x に A を代入したもの)
- 複数変数を必要とする場合は
λ x1 . . . xn. t ≡ λ x1. λ x2. . . . λ xn. t と表す.
- この問題は次のように言い換えられる:
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
自由に「書き 換え」が出来るために
- 各「書き換え」ステップの定義が必要.
ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの
結合子からなる括弧つき文字列を返す操作」と思っておこう.
- 変数 x を含む文字列 t に対して,「x を t に書き換える操作」
を “λ x. t” と表すことにする.
◎ (λ x. t)A t[ x
A ].(t[ x
A ] は t で変数 x に A を代入したもの)
- 複数変数を必要とする場合は
λ x1 . . . xn. t ≡ λ x1. λ x2. . . . λ xn. t と表す.
- この問題は次のように言い換えられる:
問 3
x と t に対して,(λ x. t)x と Cx の簡約結果が一致する文字
列 C が欲しい.どんな結合子があれば十分か?
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
SK-計算:必要な結合子の見付け方
- 今回考える「文字列」t は変数を含む「文字」からはじめて
二つずつ括弧で括ったものだった.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
SK-計算:必要な結合子の見付け方
- 今回考える「文字列」t は変数を含む「文字」からはじめて
二つずつ括弧で括ったものだった.
この作り方にそって考えてみよう!
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
SK-計算:必要な結合子の見付け方
- 今回考える「文字列」t は変数を含む「文字」からはじめて
二つずつ括弧で括ったものだった.
この作り方にそって考えてみよう!
1. t = x の時:(λ x. x) に当たるような結合子が欲しい.そこで
I ≡ (λ x. x) とおこう.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
SK-計算:必要な結合子の見付け方
- 今回考える「文字列」t は変数を含む「文字」からはじめて
二つずつ括弧で括ったものだった.
この作り方にそって考えてみよう!
1. t = x の時:(λ x. x) に当たるような結合子が欲しい.そこで
I ≡ (λ x. x) とおこう.
2. t が x と異なる文字 y の時:(λ x. y) は y を返す定数関数.そ
こで K ≡ (λ yx. y) とすれば,λ x. y ≡ Ky と書ける.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
SK-計算:必要な結合子の見付け方
- 今回考える「文字列」t は変数を含む「文字」からはじめて
二つずつ括弧で括ったものだった.
この作り方にそって考えてみよう!
1. t = x の時:(λ x. x) に当たるような結合子が欲しい.そこで
I ≡ (λ x. x) とおこう.
2. t が x と異なる文字 y の時:(λ x. y) は y を返す定数関数.そ
こで K ≡ (λ yx. y) とすれば,λ x. y ≡ Ky と書ける.
3. t = (uv) の時:帰納法の仮定から,(λ x. u) と (λ x. v) は何
らかの文字列で表せるとしてよい.このとき
uv ≡ ((λ x. u)x)((λ x. v)x) となるので,
S ≡ λ xyz. (xz)(yz) とおけば,λ x. uv ≡ S(λ x. u)(λ x. v).
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
SK-計算:必要な結合子の見付け方
- 今回考える「文字列」t は変数を含む「文字」からはじめて
二つずつ括弧で括ったものだった.
この作り方にそって考えてみよう!
1. t = x の時:(λ x. x) に当たるような結合子が欲しい.そこで
I ≡ (λ x. x) とおこう.
2. t が x と異なる文字 y の時:(λ x. y) は y を返す定数関数.そ
こで K ≡ (λ yx. y) とすれば,λ x. y ≡ Ky と書ける.
3. t = (uv) の時:帰納法の仮定から,(λ x. u) と (λ x. v) は何
らかの文字列で表せるとしてよい.このとき
uv ≡ ((λ x. u)x)((λ x. v)x) となるので,
S ≡ λ xyz. (xz)(yz) とおけば,λ x. uv ≡ S(λ x. u)(λ x. v).
以上から上記のような S, K, I があれば十分!
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
SK-計算:必要な結合子の見付け方
- 今回考える「文字列」t は変数を含む「文字」からはじめて
二つずつ括弧で括ったものだった.
この作り方にそって考えてみよう!
1. t = x の時:(λ x. x) に当たるような結合子が欲しい.そこで
I ≡ (λ x. x) とおこう.
2. t が x と異なる文字 y の時:(λ x. y) は y を返す定数関数.そ
こで K ≡ (λ yx. y) とすれば,λ x. y ≡ Ky と書ける.
3. t = (uv) の時:帰納法の仮定から,(λ x. u) と (λ x. v) は何
らかの文字列で表せるとしてよい.このとき
uv ≡ ((λ x. u)x)((λ x. v)x) となるので,
S ≡ λ xyz. (xz)(yz) とおけば,λ x. uv ≡ S(λ x. u)(λ x. v).
以上から上記のような S, K, I があれば十分!
更に I ≡ SKK と書ける(演習問題!)ので,S と K があれ
ば書き換えは自由に出来る!
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
実際の例
これまでの議論で次の「SK-変換」規則が得られた:
λ x. x :≡ I ≡ SKK,
λ x. y :≡ Ky (if x = y),
λ x. (uv) :≡ S(λ x. u)(λ x. v).
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
実際の例
これまでの議論で次の「SK-変換」規則が得られた:
λ x. x :≡ I ≡ SKK,
λ x. y :≡ Ky (if x = y),
λ x. (uv) :≡ S(λ x. u)(λ x. v).
Example 1
M ≡ λx.xx ≡ S(λ x. x)(λ x. x) ≡ SII ≡ S(SKK)(SKK).
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
実際の例
これまでの議論で次の「SK-変換」規則が得られた:
λ x. x :≡ I ≡ SKK,
λ x. y :≡ Ky (if x = y),
λ x. (uv) :≡ S(λ x. u)(λ x. v).
Example 1
M ≡ λx.xx ≡ S(λ x. x)(λ x. x) ≡ SII ≡ S(SKK)(SKK).
Exercise 1
上の SK-変換には結構無駄があるので,もう少し結果が短
かくなる規則を与えよ.それを使って B ≡ λxyz.x(yz) を S,
K, I で表せ.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
計算能力
- SK-計算でどの程度の事が計算出来るのか?
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
計算能力
- SK-計算でどの程度の事が計算出来るのか?
実は理論上計算機と同じ計算が出来る!
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
計算能力
- SK-計算でどの程度の事が計算出来るのか?
実は理論上計算機と同じ計算が出来る!
Theorem 2 (構造化定理)
計算機で計算可能なアルゴリズムを実装するには次の三つ
の要素があればよい:
逐次実行 f; g 「処理 f の後に g をやる」
条件分岐 if (p) then f else g 「条件 p が成り立つな
ら f ,さもなくば g」
反復実行 while (p) { f } 「条件 p が成り立つ限り f
を繰り返す」
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
計算能力
- SK-計算でどの程度の事が計算出来るのか?
実は理論上計算機と同じ計算が出来る!
Theorem 2 (構造化定理)
計算機で計算可能なアルゴリズムを実装するには次の三つ
の要素があればよい:
逐次実行 f; g 「処理 f の後に g をやる」
条件分岐 if (p) then f else g 「条件 p が成り立つな
ら f ,さもなくば g」
反復実行 while (p) { f } 「条件 p が成り立つ限り f
を繰り返す」
逐次実行は明らかなので,SK-計算で条件分岐と反復操作が
出来ることがわかればよい!
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
条件分岐と反復操作
? 条件分岐
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
条件分岐と反復操作
? 条件分岐
◎ 基本戦略:if p then t else f と書く代わりに
ptf (= (pt)f ) と書こう.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
条件分岐と反復操作
? 条件分岐
◎ 基本戦略:if p then t else f と書く代わりに
ptf (= (pt)f ) と書こう.
true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
条件分岐と反復操作
? 条件分岐
◎ 基本戦略:if p then t else f と書く代わりに
ptf (= (pt)f ) と書こう.
true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い.
? 反復操作……while p f x が「px が偽になるまで f を x に繰
り返し適用」になるような while を得ればよい.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
条件分岐と反復操作
? 条件分岐
◎ 基本戦略:if p then t else f と書く代わりに
ptf (= (pt)f ) と書こう.
true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い.
? 反復操作……while p f x が「px が偽になるまで f を x に繰
り返し適用」になるような while を得ればよい.
◎ 観察:while p f x = if (p x) then x else f (while p f x)
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
条件分岐と反復操作
? 条件分岐
◎ 基本戦略:if p then t else f と書く代わりに
ptf (= (pt)f ) と書こう.
true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い.
? 反復操作……while p f x が「px が偽になるまで f を x に繰
り返し適用」になるような while を得ればよい.
◎ 観察:while p f x = if (p x) then x else f (while p f x)
λ z. if (p x) then x else f z の不動点があればよい.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
条件分岐と反復操作
? 条件分岐
◎ 基本戦略:if p then t else f と書く代わりに
ptf (= (pt)f ) と書こう.
true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い.
? 反復操作……while p f x が「px が偽になるまで f を x に繰
り返し適用」になるような while を得ればよい.
◎ 観察:while p f x = if (p x) then x else f (while p f x)
λ z. if (p x) then x else f z の不動点があればよい.
B, M は S, K で書ける.すると,最初の問題から,SK-計算で
も任意の項に対して不動点が存在する!
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
条件分岐と反復操作
? 条件分岐
◎ 基本戦略:if p then t else f と書く代わりに
ptf (= (pt)f ) と書こう.
true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い.
? 反復操作……while p f x が「px が偽になるまで f を x に繰
り返し適用」になるような while を得ればよい.
◎ 観察:while p f x = if (p x) then x else f (while p f x)
λ z. if (p x) then x else f z の不動点があればよい.
B, M は S, K で書ける.すると,最初の問題から,SK-計算で
も任意の項に対して不動点が存在する!
◎ よって反復操作も実現可能!
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
条件分岐と反復操作
? 条件分岐
◎ 基本戦略:if p then t else f と書く代わりに
ptf (= (pt)f ) と書こう.
true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い.
? 反復操作……while p f x が「px が偽になるまで f を x に繰
り返し適用」になるような while を得ればよい.
◎ 観察:while p f x = if (p x) then x else f (while p f x)
λ z. if (p x) then x else f z の不動点があればよい.
B, M は S, K で書ける.すると,最初の問題から,SK-計算で
も任意の項に対して不動点が存在する!
◎ よって反復操作も実現可能!
構造化定理より SK-計算の能力は計算機と「等価」.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
Table Of Contents
1 本編
2 まとめとその他の話題
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
まとめとその他の話題
計算が出来るフレンズ
- SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則
に従って式変形をする操作.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
まとめとその他の話題
計算が出来るフレンズ
- SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則
に従って式変形をする操作.
◎ こういうのを結合子計算とか結合子論理という.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
まとめとその他の話題
計算が出来るフレンズ
- SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則
に従って式変形をする操作.
◎ こういうのを結合子計算とか結合子論理という.
SK は計算機と同等の計算能力を持つ.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
まとめとその他の話題
計算が出来るフレンズ
- SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則
に従って式変形をする操作.
◎ こういうのを結合子計算とか結合子論理という.
SK は計算機と同等の計算能力を持つ.
- 発展的話題
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
まとめとその他の話題
算数が出来るフレンズ
- SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則
に従って式変形をする操作.
◎ こういうのを結合子計算とか結合子論理という.
SK は計算機と同等の計算能力を持つ.
- 発展的話題
◎ 自然数 n ∈ N と「n 回反復」関数 λfx.
n
f (f (f . . . (f x))) と n を
同一視して,自然数の算数を実現出来る(Church 符号化)
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
まとめとその他の話題
論理が出来るフレンズ
- SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則
に従って式変形をする操作.
◎ こういうのを結合子計算とか結合子論理という.
SK は計算機と同等の計算能力を持つ.
- 発展的話題
◎ 自然数 n ∈ N と「n 回反復」関数 λfx.
n
f (f (f . . . (f x))) と n を
同一視して,自然数の算数を実現出来る(Church 符号化)
◎ S, K を関数だと思って「型」をつけてみると,
S : (α → β → γ) → (α → β) → α → γ, K : α → β → α.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
まとめとその他の話題
論理が出来るフレンズ
- SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則
に従って式変形をする操作.
◎ こういうのを結合子計算とか結合子論理という.
SK は計算機と同等の計算能力を持つ.
- 発展的話題
◎ 自然数 n ∈ N と「n 回反復」関数 λfx.
n
f (f (f . . . (f x))) と n を
同一視して,自然数の算数を実現出来る(Church 符号化)
◎ S, K を関数だと思って「型」をつけてみると,
S : (α → β → γ) → (α → β) → α → γ, K : α → β → α.
これは通常の命題論理の公理から排中律を除いた公理と同じ!
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
まとめとその他の話題
論理が出来るフレンズ
- SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則
に従って式変形をする操作.
◎ こういうのを結合子計算とか結合子論理という.
SK は計算機と同等の計算能力を持つ.
- 発展的話題
◎ 自然数 n ∈ N と「n 回反復」関数 λfx.
n
f (f (f . . . (f x))) と n を
同一視して,自然数の算数を実現出来る(Church 符号化)
◎ S, K を関数だと思って「型」をつけてみると,
S : (α → β → γ) → (α → β) → α → γ, K : α → β → α.
これは通常の命題論理の公理から排中律を除いた公理と同じ!
● これに「例外処理」「短絡評価」を入れると普通の論理になる.
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
まとめとその他の話題
論理が出来るフレンズ
- SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則
に従って式変形をする操作.
◎ こういうのを結合子計算とか結合子論理という.
SK は計算機と同等の計算能力を持つ.
- 発展的話題
◎ 自然数 n ∈ N と「n 回反復」関数 λfx.
n
f (f (f . . . (f x))) と n を
同一視して,自然数の算数を実現出来る(Church 符号化)
◎ S, K を関数だと思って「型」をつけてみると,
S : (α → β → γ) → (α → β) → α → γ, K : α → β → α.
これは通常の命題論理の公理から排中律を除いた公理と同じ!
● これに「例外処理」「短絡評価」を入れると普通の論理になる.
! 論理と計算の深い関係を示唆している(Curry-Howard 対応)
石井大海 ものまね鳥を愛でる
本編 まとめとその他の話題 参考文献
参考文献 I
[1] J. Roger Hindley and J. P Seldin, Lambda-calculus and combinators, an
introduction, Cambridge, UK: Cambridge University Press, 2008, isbn:
9780521898850, url:
http://www.loc.gov/catdir/toc/ecip0810/2008006276.html.
[2] Jean-Louis Krivine, Realizability algebras: a program to well order R,
version 0, Logical Methods in Computer Science 7 (3:2 Aug. 10, 2011),
doi: 10.2168/LMCS-7(3:2)2011, arXiv: 1005.2395 [cs.LO].
[3] 古森雄一, 汎用システムとしての「ラムダ計算 + 論理」, 2006, url:
http://www.math.s.chiba-
u.ac.jp/~komori/symposium/suukaiken/komori8.pdf.
[4] 古森雄一 and 小野寛晰, 現代数理論理学序説, 日本評論社, 2010.
[5] R・スマリヤン, ものまね鳥をまねる, trans. by 阿部剛久 et al., 原著:To
Mock a Mockingbird, 森北出版, 1998.
[6] 魔法少女, 命題論理, 2015.
石井大海 ものまね鳥を愛でる

Weitere ähnliche Inhalte

Was ist angesagt?

勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
Takuya Akiba
 
クックパッド春の超絶技巧パンまつり 超絶技巧プログラミング編 資料
クックパッド春の超絶技巧パンまつり 超絶技巧プログラミング編 資料クックパッド春の超絶技巧パンまつり 超絶技巧プログラミング編 資料
クックパッド春の超絶技巧パンまつり 超絶技巧プログラミング編 資料
mametter
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系
tmaehara
 
「型の理論」と証明支援システム -- COQの世界
「型の理論」と証明支援システム -- COQの世界「型の理論」と証明支援システム -- COQの世界
「型の理論」と証明支援システム -- COQの世界
maruyama097
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
Takuya Akiba
 

Was ist angesagt? (20)

CRC-32
CRC-32CRC-32
CRC-32
 
最大流 (max flow)
最大流 (max flow)最大流 (max flow)
最大流 (max flow)
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
 
直交領域探索
直交領域探索直交領域探索
直交領域探索
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
 
Coqチュートリアル
CoqチュートリアルCoqチュートリアル
Coqチュートリアル
 
圏論とHaskellは仲良し
圏論とHaskellは仲良し圏論とHaskellは仲良し
圏論とHaskellは仲良し
 
Binary indexed tree
Binary indexed treeBinary indexed tree
Binary indexed tree
 
クックパッド春の超絶技巧パンまつり 超絶技巧プログラミング編 資料
クックパッド春の超絶技巧パンまつり 超絶技巧プログラミング編 資料クックパッド春の超絶技巧パンまつり 超絶技巧プログラミング編 資料
クックパッド春の超絶技巧パンまつり 超絶技巧プログラミング編 資料
 
Schönhage Strassen Algorithm
Schönhage Strassen AlgorithmSchönhage Strassen Algorithm
Schönhage Strassen Algorithm
 
グラフネットワーク〜フロー&カット〜
グラフネットワーク〜フロー&カット〜グラフネットワーク〜フロー&カット〜
グラフネットワーク〜フロー&カット〜
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系
 
「型の理論」と証明支援システム -- COQの世界
「型の理論」と証明支援システム -- COQの世界「型の理論」と証明支援システム -- COQの世界
「型の理論」と証明支援システム -- COQの世界
 
Coq Tutorial
Coq TutorialCoq Tutorial
Coq Tutorial
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド
 
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
 
Rolling Hashを殺す話
Rolling Hashを殺す話Rolling Hashを殺す話
Rolling Hashを殺す話
 

Ähnlich wie ものまね鳥を愛でる 結合子論理と計算

生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333
Issei Kurahashi
 
数学教材(中間発表)
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)
Mizuguchi1205
 
ガンマ分布族のなす空間の曲率
ガンマ分布族のなす空間の曲率ガンマ分布族のなす空間の曲率
ガンマ分布族のなす空間の曲率
Masaki Asano
 

Ähnlich wie ものまね鳥を愛でる 結合子論理と計算 (20)

2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
 
PRML セミナー
PRML セミナーPRML セミナー
PRML セミナー
 
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)
 
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~ 【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~
 
生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333
 
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
 
Topic model
Topic modelTopic model
Topic model
 
数学教材(中間発表)
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)
 
不動点×不動点×不動点コンビネータ
不動点×不動点×不動点コンビネータ不動点×不動点×不動点コンビネータ
不動点×不動点×不動点コンビネータ
 
ガンマ分布族のなす空間の曲率
ガンマ分布族のなす空間の曲率ガンマ分布族のなす空間の曲率
ガンマ分布族のなす空間の曲率
 
Stochastic Variational Inference
Stochastic Variational InferenceStochastic Variational Inference
Stochastic Variational Inference
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
 
Newtsulideprint
NewtsulideprintNewtsulideprint
Newtsulideprint
 
Linera lgebra
Linera lgebraLinera lgebra
Linera lgebra
 
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29)
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29) 2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29)
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29)
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
 
統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)
 
2016年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2016. 11. 10)
2016年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2016. 11. 10)2016年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2016. 11. 10)
2016年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2016. 11. 10)
 

Mehr von Hiromi Ishii

Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
Hiromi Ishii
 

Mehr von Hiromi Ishii (18)

Freer Monads, More Extensible Effects
Freer Monads, More Extensible EffectsFreer Monads, More Extensible Effects
Freer Monads, More Extensible Effects
 
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性Lebesgue可測性に関するSoloayの定理と実数の集合の正則性
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性
 
実数の集合はどこまで可測になれるか?
実数の集合はどこまで可測になれるか?実数の集合はどこまで可測になれるか?
実数の集合はどこまで可測になれるか?
 
(数式の入った)本をつくる
(数式の入った)本をつくる(数式の入った)本をつくる
(数式の入った)本をつくる
 
御清聴ありがとうございました
御清聴ありがとうございました御清聴ありがとうございました
御清聴ありがとうございました
 
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底
 
数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由
 
Algebraic DP: 動的計画法を書きやすく
Algebraic DP: 動的計画法を書きやすくAlgebraic DP: 動的計画法を書きやすく
Algebraic DP: 動的計画法を書きやすく
 
Yesod でブログエンジンをつくってみた
Yesod でブログエンジンをつくってみたYesod でブログエンジンをつくってみた
Yesod でブログエンジンをつくってみた
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
 
Yesodを支える技術
Yesodを支える技術Yesodを支える技術
Yesodを支える技術
 
Alloy Analyzer のこと
Alloy Analyzer のことAlloy Analyzer のこと
Alloy Analyzer のこと
 
Invertible-syntax 入門
Invertible-syntax 入門Invertible-syntax 入門
Invertible-syntax 入門
 
最終発表
最終発表最終発表
最終発表
 
Metaprogramming in Haskell
Metaprogramming in HaskellMetaprogramming in Haskell
Metaprogramming in Haskell
 
Template Haskell とか
Template Haskell とかTemplate Haskell とか
Template Haskell とか
 
実践・完全犯罪のつくり方
実践・完全犯罪のつくり方実践・完全犯罪のつくり方
実践・完全犯罪のつくり方
 

ものまね鳥を愛でる 結合子論理と計算

  • 2. 本編 まとめとその他の話題 参考文献 追悼 Raymond M. Smullyan, (1919-2017) 石井大海 ものまね鳥を愛でる
  • 3. 本編 まとめとその他の話題 参考文献 Table Of Contents 1 本編 2 まとめとその他の話題 石井大海 ものまね鳥を愛でる
  • 4. 本編 まとめとその他の話題 参考文献 ものまね鳥をまねる - 今回の種本 石井大海 ものまね鳥を愛でる
  • 5. 本編 まとめとその他の話題 参考文献 ものまね鳥をまねる - 今回の種本 ◎ 訳書 [5] は余り良くないので 原書の方が良いかも 石井大海 ものまね鳥を愛でる
  • 6. 本編 まとめとその他の話題 参考文献 ものまね鳥をまねる - 今回の種本 ◎ 訳書 [5] は余り良くないので 原書の方が良いかも - 結合子を「鳥」に見立てたパズ ルに親しむうちに不完全性定理 に行き着く. 石井大海 ものまね鳥を愛でる
  • 7. 本編 まとめとその他の話題 参考文献 ものまね鳥をまねる - 今回の種本 ◎ 訳書 [5] は余り良くないので 原書の方が良いかも - 結合子を「鳥」に見立てたパズ ルに親しむうちに不完全性定理 に行き着く. 石井大海 ものまね鳥を愛でる
  • 8. 本編 まとめとその他の話題 参考文献 鳥のパズル(設定) 種本の冒頭では次の設定でパズルを考えている: - ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を 言う. 石井大海 ものまね鳥を愛でる
  • 9. 本編 まとめとその他の話題 参考文献 鳥のパズル(設定) 種本の冒頭では次の設定でパズルを考えている: - ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を 言う. ◎ 鳥 A の「B」に対する反応を AB と書く.括弧は左結合と考 えて省略する:ABC = (AB)C. 石井大海 ものまね鳥を愛でる
  • 10. 本編 まとめとその他の話題 参考文献 鳥のパズル(設定) 種本の冒頭では次の設定でパズルを考えている: - ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を 言う. ◎ 鳥 A の「B」に対する反応を AB と書く.括弧は左結合と考 えて省略する:ABC = (AB)C. - この森にはこういう鳥がいる: 石井大海 ものまね鳥を愛でる
  • 11. 本編 まとめとその他の話題 参考文献 鳥のパズル(設定) 種本の冒頭では次の設定でパズルを考えている: - ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を 言う. ◎ 鳥 A の「B」に対する反応を AB と書く.括弧は左結合と考 えて省略する:ABC = (AB)C. - この森にはこういう鳥がいる: 1. (合成鳥)任意の鳥 X と Y に対して,そいつらをリレーした 結果を返すような合成鳥 Z が必ずいる. i.e. ∀X ∀Y ∃Z ∀x Zx = X(Yx). X, Y に対しその合成鳥(の一つ)を BXY で表す. 石井大海 ものまね鳥を愛でる
  • 12. 本編 まとめとその他の話題 参考文献 鳥のパズル(設定) 種本の冒頭では次の設定でパズルを考えている: - ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を 言う. ◎ 鳥 A の「B」に対する反応を AB と書く.括弧は左結合と考 えて省略する:ABC = (AB)C. - この森にはこういう鳥がいる: 1. (合成鳥)任意の鳥 X と Y に対して,そいつらをリレーした 結果を返すような合成鳥 Z が必ずいる. i.e. ∀X ∀Y ∃Z ∀x Zx = X(Yx). X, Y に対しその合成鳥(の一つ)を BXY で表す. 2. (物まね鳥)Mx = xx を満たすような物まね鳥 M が居る. 石井大海 ものまね鳥を愛でる
  • 13. 本編 まとめとその他の話題 参考文献 鳥のパズル(設定) 種本の冒頭では次の設定でパズルを考えている: - ある森に棲む鳥は,ある鳥の名前を聞くと別の鳥の名前を 言う. ◎ 鳥 A の「B」に対する反応を AB と書く.括弧は左結合と考 えて省略する:ABC = (AB)C. - この森にはこういう鳥がいる: 1. (合成鳥)任意の鳥 X と Y に対して,そいつらをリレーした 結果を返すような合成鳥 Z が必ずいる. i.e. ∀X ∀Y ∃Z ∀x Zx = X(Yx). X, Y に対しその合成鳥(の一つ)を BXY で表す. 2. (物まね鳥)Mx = xx を満たすような物まね鳥 M が居る. - AB = B となるとき,「鳥 A は B が好き」と言う. 石井大海 ものまね鳥を愛でる
  • 14. 本編 まとめとその他の話題 参考文献 例 問 1 (不動点定理) 合成鳥 B と物まね鳥 M が居るなら,どんな鳥 A も少なく とも一羽の鳥が好き (i.e. ∀A ∃x Ax = x). 石井大海 ものまね鳥を愛でる
  • 15. 本編 まとめとその他の話題 参考文献 例 問 1 (不動点定理) 合成鳥 B と物まね鳥 M が居るなら,どんな鳥 A も少なく とも一羽の鳥が好き (i.e. ∀A ∃x Ax = x). (答)X = BAM とすると XX がそれ. XX = A(MX) = A(XX) 石井大海 ものまね鳥を愛でる
  • 16. 本編 まとめとその他の話題 参考文献 例 問 1 (不動点定理) 合成鳥 B と物まね鳥 M が居るなら,どんな鳥 A も少なく とも一羽の鳥が好き (i.e. ∀A ∃x Ax = x). (答)X = BAM とすると XX がそれ. XX = A(MX) = A(XX) - こんな感じで帳尻を合わせていくパズルが沢山. 石井大海 ものまね鳥を愛でる
  • 17. 本編 まとめとその他の話題 参考文献 例 問 1 (不動点定理) 合成鳥 B と物まね鳥 M が居るなら,どんな鳥 A も少なく とも一羽の鳥が好き (i.e. ∀A ∃x Ax = x). (答)X = BAM とすると XX がそれ. XX = A(MX) = A(XX) - こんな感じで帳尻を合わせていくパズルが沢山. - 詳しくは紹介しませんが,次のパズルは言霊がすごい: 石井大海 ものまね鳥を愛でる
  • 18. 本編 まとめとその他の話題 参考文献 例 問 1 (不動点定理) 合成鳥 B と物まね鳥 M が居るなら,どんな鳥 A も少なく とも一羽の鳥が好き (i.e. ∀A ∃x Ax = x). (答)X = BAM とすると XX がそれ. XX = A(MX) = A(XX) - こんな感じで帳尻を合わせていくパズルが沢山. - 詳しくは紹介しませんが,次のパズルは言霊がすごい: 問 2 救いがたいほど自己中心的なヒバリは異常に魅力的なのは なぜか? 石井大海 ものまね鳥を愛でる
  • 19. 本編 まとめとその他の話題 参考文献 数学的内容:結合子論理 ? 「鳥」パズルは数学的には何なのか? 石井大海 ものまね鳥を愛でる
  • 20. 本編 まとめとその他の話題 参考文献 数学的内容:結合子論理 ? 「鳥」パズルは数学的には何なのか? 結合子論理! 石井大海 ものまね鳥を愛でる
  • 21. 本編 まとめとその他の話題 参考文献 数学的内容:結合子論理 ? 「鳥」パズルは数学的には何なのか? 結合子論理! - 結合子と変数の文字列を一定の規則に従って書き換えていく 「計算」だと思える. 石井大海 ものまね鳥を愛でる
  • 22. 本編 まとめとその他の話題 参考文献 数学的内容:結合子論理 ? 「鳥」パズルは数学的には何なのか? 結合子論理! - 結合子と変数の文字列を一定の規則に従って書き換えていく 「計算」だと思える. ※ ここでは括弧の順番まで込めた文字列を考えている.また, 三つ以上の文字が並ぶ時は左から順に二つずつ括弧が省略さ れていると考える:xyz = (xy)z = ((xy)z), x(yzw) = (x((yz)w)). 石井大海 ものまね鳥を愛でる
  • 23. 本編 まとめとその他の話題 参考文献 数学的内容:結合子論理 ? 「鳥」パズルは数学的には何なのか? 結合子論理! - 結合子と変数の文字列を一定の規則に従って書き換えていく 「計算」だと思える. ※ ここでは括弧の順番まで込めた文字列を考えている.また, 三つ以上の文字が並ぶ時は左から順に二つずつ括弧が省略さ れていると考える:xyz = (xy)z = ((xy)z), x(yzw) = (x((yz)w)). - 先程の問題は,「Bxyz x(yz),Mx xx という書き換え規 則の下で,任意の A に対してその不動点として振る舞うもの を見付けよ」という意味だった. 石井大海 ものまね鳥を愛でる
  • 24. 本編 まとめとその他の話題 参考文献 数学的内容:結合子論理 ? 「鳥」パズルは数学的には何なのか? 結合子論理! - 結合子と変数の文字列を一定の規則に従って書き換えていく 「計算」だと思える. ※ ここでは括弧の順番まで込めた文字列を考えている.また, 三つ以上の文字が並ぶ時は左から順に二つずつ括弧が省略さ れていると考える:xyz = (xy)z = ((xy)z), x(yzw) = (x((yz)w)). - 先程の問題は,「Bxyz x(yz),Mx xx という書き換え規 則の下で,任意の A に対してその不動点として振る舞うもの を見付けよ」という意味だった. ? 自由に「書き換え」出来るにはどんな結合子があればよ いか? 石井大海 ものまね鳥を愛でる
  • 25. 本編 まとめとその他の話題 参考文献 数学的内容:結合子論理 ? 「鳥」パズルは数学的には何なのか? 結合子論理! - 結合子と変数の文字列を一定の規則に従って書き換えていく 「計算」だと思える. ※ ここでは括弧の順番まで込めた文字列を考えている.また, 三つ以上の文字が並ぶ時は左から順に二つずつ括弧が省略さ れていると考える:xyz = (xy)z = ((xy)z), x(yzw) = (x((yz)w)). - 先程の問題は,「Bxyz x(yz),Mx xx という書き換え規 則の下で,任意の A に対してその不動点として振る舞うもの を見付けよ」という意味だった. ? 自由に「書き換え」出来るにはどんな結合子があればよ いか? ? 「書き換え」計算でどの程度の事が計算出来るのか(計算 能力)? 石井大海 ものまね鳥を愛でる
  • 26. 本編 まとめとその他の話題 参考文献 自由に「書き 換え」が出来るために - 各「書き換え」ステップの定義が必要. 石井大海 ものまね鳥を愛でる
  • 27. 本編 まとめとその他の話題 参考文献 自由に「書き 換え」が出来るために - 各「書き換え」ステップの定義が必要. ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの 結合子からなる括弧つき文字列を返す操作」と思っておこう. 石井大海 ものまね鳥を愛でる
  • 28. 本編 まとめとその他の話題 参考文献 自由に「書き 換え」が出来るために - 各「書き換え」ステップの定義が必要. ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの 結合子からなる括弧つき文字列を返す操作」と思っておこう. - 変数 x を含む文字列 t に対して,「x を t に書き換える操作」 を “λ x. t” と表すことにする. 石井大海 ものまね鳥を愛でる
  • 29. 本編 まとめとその他の話題 参考文献 自由に「書き 換え」が出来るために - 各「書き換え」ステップの定義が必要. ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの 結合子からなる括弧つき文字列を返す操作」と思っておこう. - 変数 x を含む文字列 t に対して,「x を t に書き換える操作」 を “λ x. t” と表すことにする. ◎ (λ x. t)A t[ x A ].(t[ x A ] は t で変数 x に A を代入したもの) 石井大海 ものまね鳥を愛でる
  • 30. 本編 まとめとその他の話題 参考文献 自由に「書き 換え」が出来るために - 各「書き換え」ステップの定義が必要. ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの 結合子からなる括弧つき文字列を返す操作」と思っておこう. - 変数 x を含む文字列 t に対して,「x を t に書き換える操作」 を “λ x. t” と表すことにする. ◎ (λ x. t)A t[ x A ].(t[ x A ] は t で変数 x に A を代入したもの) - 複数変数を必要とする場合は λ x1 . . . xn. t ≡ λ x1. λ x2. . . . λ xn. t と表す. 石井大海 ものまね鳥を愛でる
  • 31. 本編 まとめとその他の話題 参考文献 自由に「書き 換え」が出来るために - 各「書き換え」ステップの定義が必要. ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの 結合子からなる括弧つき文字列を返す操作」と思っておこう. - 変数 x を含む文字列 t に対して,「x を t に書き換える操作」 を “λ x. t” と表すことにする. ◎ (λ x. t)A t[ x A ].(t[ x A ] は t で変数 x に A を代入したもの) - 複数変数を必要とする場合は λ x1 . . . xn. t ≡ λ x1. λ x2. . . . λ xn. t と表す. - この問題は次のように言い換えられる: 石井大海 ものまね鳥を愛でる
  • 32. 本編 まとめとその他の話題 参考文献 自由に「書き 換え」が出来るために - 各「書き換え」ステップの定義が必要. ここではラフに「変数 x1 . . . xn をとって,それらと幾つかの 結合子からなる括弧つき文字列を返す操作」と思っておこう. - 変数 x を含む文字列 t に対して,「x を t に書き換える操作」 を “λ x. t” と表すことにする. ◎ (λ x. t)A t[ x A ].(t[ x A ] は t で変数 x に A を代入したもの) - 複数変数を必要とする場合は λ x1 . . . xn. t ≡ λ x1. λ x2. . . . λ xn. t と表す. - この問題は次のように言い換えられる: 問 3 x と t に対して,(λ x. t)x と Cx の簡約結果が一致する文字 列 C が欲しい.どんな結合子があれば十分か? 石井大海 ものまね鳥を愛でる
  • 33. 本編 まとめとその他の話題 参考文献 SK-計算:必要な結合子の見付け方 - 今回考える「文字列」t は変数を含む「文字」からはじめて 二つずつ括弧で括ったものだった. 石井大海 ものまね鳥を愛でる
  • 34. 本編 まとめとその他の話題 参考文献 SK-計算:必要な結合子の見付け方 - 今回考える「文字列」t は変数を含む「文字」からはじめて 二つずつ括弧で括ったものだった. この作り方にそって考えてみよう! 石井大海 ものまね鳥を愛でる
  • 35. 本編 まとめとその他の話題 参考文献 SK-計算:必要な結合子の見付け方 - 今回考える「文字列」t は変数を含む「文字」からはじめて 二つずつ括弧で括ったものだった. この作り方にそって考えてみよう! 1. t = x の時:(λ x. x) に当たるような結合子が欲しい.そこで I ≡ (λ x. x) とおこう. 石井大海 ものまね鳥を愛でる
  • 36. 本編 まとめとその他の話題 参考文献 SK-計算:必要な結合子の見付け方 - 今回考える「文字列」t は変数を含む「文字」からはじめて 二つずつ括弧で括ったものだった. この作り方にそって考えてみよう! 1. t = x の時:(λ x. x) に当たるような結合子が欲しい.そこで I ≡ (λ x. x) とおこう. 2. t が x と異なる文字 y の時:(λ x. y) は y を返す定数関数.そ こで K ≡ (λ yx. y) とすれば,λ x. y ≡ Ky と書ける. 石井大海 ものまね鳥を愛でる
  • 37. 本編 まとめとその他の話題 参考文献 SK-計算:必要な結合子の見付け方 - 今回考える「文字列」t は変数を含む「文字」からはじめて 二つずつ括弧で括ったものだった. この作り方にそって考えてみよう! 1. t = x の時:(λ x. x) に当たるような結合子が欲しい.そこで I ≡ (λ x. x) とおこう. 2. t が x と異なる文字 y の時:(λ x. y) は y を返す定数関数.そ こで K ≡ (λ yx. y) とすれば,λ x. y ≡ Ky と書ける. 3. t = (uv) の時:帰納法の仮定から,(λ x. u) と (λ x. v) は何 らかの文字列で表せるとしてよい.このとき uv ≡ ((λ x. u)x)((λ x. v)x) となるので, S ≡ λ xyz. (xz)(yz) とおけば,λ x. uv ≡ S(λ x. u)(λ x. v). 石井大海 ものまね鳥を愛でる
  • 38. 本編 まとめとその他の話題 参考文献 SK-計算:必要な結合子の見付け方 - 今回考える「文字列」t は変数を含む「文字」からはじめて 二つずつ括弧で括ったものだった. この作り方にそって考えてみよう! 1. t = x の時:(λ x. x) に当たるような結合子が欲しい.そこで I ≡ (λ x. x) とおこう. 2. t が x と異なる文字 y の時:(λ x. y) は y を返す定数関数.そ こで K ≡ (λ yx. y) とすれば,λ x. y ≡ Ky と書ける. 3. t = (uv) の時:帰納法の仮定から,(λ x. u) と (λ x. v) は何 らかの文字列で表せるとしてよい.このとき uv ≡ ((λ x. u)x)((λ x. v)x) となるので, S ≡ λ xyz. (xz)(yz) とおけば,λ x. uv ≡ S(λ x. u)(λ x. v). 以上から上記のような S, K, I があれば十分! 石井大海 ものまね鳥を愛でる
  • 39. 本編 まとめとその他の話題 参考文献 SK-計算:必要な結合子の見付け方 - 今回考える「文字列」t は変数を含む「文字」からはじめて 二つずつ括弧で括ったものだった. この作り方にそって考えてみよう! 1. t = x の時:(λ x. x) に当たるような結合子が欲しい.そこで I ≡ (λ x. x) とおこう. 2. t が x と異なる文字 y の時:(λ x. y) は y を返す定数関数.そ こで K ≡ (λ yx. y) とすれば,λ x. y ≡ Ky と書ける. 3. t = (uv) の時:帰納法の仮定から,(λ x. u) と (λ x. v) は何 らかの文字列で表せるとしてよい.このとき uv ≡ ((λ x. u)x)((λ x. v)x) となるので, S ≡ λ xyz. (xz)(yz) とおけば,λ x. uv ≡ S(λ x. u)(λ x. v). 以上から上記のような S, K, I があれば十分! 更に I ≡ SKK と書ける(演習問題!)ので,S と K があれ ば書き換えは自由に出来る! 石井大海 ものまね鳥を愛でる
  • 40. 本編 まとめとその他の話題 参考文献 実際の例 これまでの議論で次の「SK-変換」規則が得られた: λ x. x :≡ I ≡ SKK, λ x. y :≡ Ky (if x = y), λ x. (uv) :≡ S(λ x. u)(λ x. v). 石井大海 ものまね鳥を愛でる
  • 41. 本編 まとめとその他の話題 参考文献 実際の例 これまでの議論で次の「SK-変換」規則が得られた: λ x. x :≡ I ≡ SKK, λ x. y :≡ Ky (if x = y), λ x. (uv) :≡ S(λ x. u)(λ x. v). Example 1 M ≡ λx.xx ≡ S(λ x. x)(λ x. x) ≡ SII ≡ S(SKK)(SKK). 石井大海 ものまね鳥を愛でる
  • 42. 本編 まとめとその他の話題 参考文献 実際の例 これまでの議論で次の「SK-変換」規則が得られた: λ x. x :≡ I ≡ SKK, λ x. y :≡ Ky (if x = y), λ x. (uv) :≡ S(λ x. u)(λ x. v). Example 1 M ≡ λx.xx ≡ S(λ x. x)(λ x. x) ≡ SII ≡ S(SKK)(SKK). Exercise 1 上の SK-変換には結構無駄があるので,もう少し結果が短 かくなる規則を与えよ.それを使って B ≡ λxyz.x(yz) を S, K, I で表せ. 石井大海 ものまね鳥を愛でる
  • 43. 本編 まとめとその他の話題 参考文献 計算能力 - SK-計算でどの程度の事が計算出来るのか? 石井大海 ものまね鳥を愛でる
  • 44. 本編 まとめとその他の話題 参考文献 計算能力 - SK-計算でどの程度の事が計算出来るのか? 実は理論上計算機と同じ計算が出来る! 石井大海 ものまね鳥を愛でる
  • 45. 本編 まとめとその他の話題 参考文献 計算能力 - SK-計算でどの程度の事が計算出来るのか? 実は理論上計算機と同じ計算が出来る! Theorem 2 (構造化定理) 計算機で計算可能なアルゴリズムを実装するには次の三つ の要素があればよい: 逐次実行 f; g 「処理 f の後に g をやる」 条件分岐 if (p) then f else g 「条件 p が成り立つな ら f ,さもなくば g」 反復実行 while (p) { f } 「条件 p が成り立つ限り f を繰り返す」 石井大海 ものまね鳥を愛でる
  • 46. 本編 まとめとその他の話題 参考文献 計算能力 - SK-計算でどの程度の事が計算出来るのか? 実は理論上計算機と同じ計算が出来る! Theorem 2 (構造化定理) 計算機で計算可能なアルゴリズムを実装するには次の三つ の要素があればよい: 逐次実行 f; g 「処理 f の後に g をやる」 条件分岐 if (p) then f else g 「条件 p が成り立つな ら f ,さもなくば g」 反復実行 while (p) { f } 「条件 p が成り立つ限り f を繰り返す」 逐次実行は明らかなので,SK-計算で条件分岐と反復操作が 出来ることがわかればよい! 石井大海 ものまね鳥を愛でる
  • 47. 本編 まとめとその他の話題 参考文献 条件分岐と反復操作 ? 条件分岐 石井大海 ものまね鳥を愛でる
  • 48. 本編 まとめとその他の話題 参考文献 条件分岐と反復操作 ? 条件分岐 ◎ 基本戦略:if p then t else f と書く代わりに ptf (= (pt)f ) と書こう. 石井大海 ものまね鳥を愛でる
  • 49. 本編 まとめとその他の話題 参考文献 条件分岐と反復操作 ? 条件分岐 ◎ 基本戦略:if p then t else f と書く代わりに ptf (= (pt)f ) と書こう. true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い. 石井大海 ものまね鳥を愛でる
  • 50. 本編 まとめとその他の話題 参考文献 条件分岐と反復操作 ? 条件分岐 ◎ 基本戦略:if p then t else f と書く代わりに ptf (= (pt)f ) と書こう. true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い. ? 反復操作……while p f x が「px が偽になるまで f を x に繰 り返し適用」になるような while を得ればよい. 石井大海 ものまね鳥を愛でる
  • 51. 本編 まとめとその他の話題 参考文献 条件分岐と反復操作 ? 条件分岐 ◎ 基本戦略:if p then t else f と書く代わりに ptf (= (pt)f ) と書こう. true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い. ? 反復操作……while p f x が「px が偽になるまで f を x に繰 り返し適用」になるような while を得ればよい. ◎ 観察:while p f x = if (p x) then x else f (while p f x) 石井大海 ものまね鳥を愛でる
  • 52. 本編 まとめとその他の話題 参考文献 条件分岐と反復操作 ? 条件分岐 ◎ 基本戦略:if p then t else f と書く代わりに ptf (= (pt)f ) と書こう. true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い. ? 反復操作……while p f x が「px が偽になるまで f を x に繰 り返し適用」になるような while を得ればよい. ◎ 観察:while p f x = if (p x) then x else f (while p f x) λ z. if (p x) then x else f z の不動点があればよい. 石井大海 ものまね鳥を愛でる
  • 53. 本編 まとめとその他の話題 参考文献 条件分岐と反復操作 ? 条件分岐 ◎ 基本戦略:if p then t else f と書く代わりに ptf (= (pt)f ) と書こう. true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い. ? 反復操作……while p f x が「px が偽になるまで f を x に繰 り返し適用」になるような while を得ればよい. ◎ 観察:while p f x = if (p x) then x else f (while p f x) λ z. if (p x) then x else f z の不動点があればよい. B, M は S, K で書ける.すると,最初の問題から,SK-計算で も任意の項に対して不動点が存在する! 石井大海 ものまね鳥を愛でる
  • 54. 本編 まとめとその他の話題 参考文献 条件分岐と反復操作 ? 条件分岐 ◎ 基本戦略:if p then t else f と書く代わりに ptf (= (pt)f ) と書こう. true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い. ? 反復操作……while p f x が「px が偽になるまで f を x に繰 り返し適用」になるような while を得ればよい. ◎ 観察:while p f x = if (p x) then x else f (while p f x) λ z. if (p x) then x else f z の不動点があればよい. B, M は S, K で書ける.すると,最初の問題から,SK-計算で も任意の項に対して不動点が存在する! ◎ よって反復操作も実現可能! 石井大海 ものまね鳥を愛でる
  • 55. 本編 まとめとその他の話題 参考文献 条件分岐と反復操作 ? 条件分岐 ◎ 基本戦略:if p then t else f と書く代わりに ptf (= (pt)f ) と書こう. true :≡ λ t f . t ≡ K, false ≡ λ t f . f ≡ KI とすれば良い. ? 反復操作……while p f x が「px が偽になるまで f を x に繰 り返し適用」になるような while を得ればよい. ◎ 観察:while p f x = if (p x) then x else f (while p f x) λ z. if (p x) then x else f z の不動点があればよい. B, M は S, K で書ける.すると,最初の問題から,SK-計算で も任意の項に対して不動点が存在する! ◎ よって反復操作も実現可能! 構造化定理より SK-計算の能力は計算機と「等価」. 石井大海 ものまね鳥を愛でる
  • 56. 本編 まとめとその他の話題 参考文献 Table Of Contents 1 本編 2 まとめとその他の話題 石井大海 ものまね鳥を愛でる
  • 57. 本編 まとめとその他の話題 参考文献 まとめとその他の話題 計算が出来るフレンズ - SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則 に従って式変形をする操作. 石井大海 ものまね鳥を愛でる
  • 58. 本編 まとめとその他の話題 参考文献 まとめとその他の話題 計算が出来るフレンズ - SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則 に従って式変形をする操作. ◎ こういうのを結合子計算とか結合子論理という. 石井大海 ものまね鳥を愛でる
  • 59. 本編 まとめとその他の話題 参考文献 まとめとその他の話題 計算が出来るフレンズ - SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則 に従って式変形をする操作. ◎ こういうのを結合子計算とか結合子論理という. SK は計算機と同等の計算能力を持つ. 石井大海 ものまね鳥を愛でる
  • 60. 本編 まとめとその他の話題 参考文献 まとめとその他の話題 計算が出来るフレンズ - SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則 に従って式変形をする操作. ◎ こういうのを結合子計算とか結合子論理という. SK は計算機と同等の計算能力を持つ. - 発展的話題 石井大海 ものまね鳥を愛でる
  • 61. 本編 まとめとその他の話題 参考文献 まとめとその他の話題 算数が出来るフレンズ - SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則 に従って式変形をする操作. ◎ こういうのを結合子計算とか結合子論理という. SK は計算機と同等の計算能力を持つ. - 発展的話題 ◎ 自然数 n ∈ N と「n 回反復」関数 λfx. n f (f (f . . . (f x))) と n を 同一視して,自然数の算数を実現出来る(Church 符号化) 石井大海 ものまね鳥を愛でる
  • 62. 本編 まとめとその他の話題 参考文献 まとめとその他の話題 論理が出来るフレンズ - SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則 に従って式変形をする操作. ◎ こういうのを結合子計算とか結合子論理という. SK は計算機と同等の計算能力を持つ. - 発展的話題 ◎ 自然数 n ∈ N と「n 回反復」関数 λfx. n f (f (f . . . (f x))) と n を 同一視して,自然数の算数を実現出来る(Church 符号化) ◎ S, K を関数だと思って「型」をつけてみると, S : (α → β → γ) → (α → β) → α → γ, K : α → β → α. 石井大海 ものまね鳥を愛でる
  • 63. 本編 まとめとその他の話題 参考文献 まとめとその他の話題 論理が出来るフレンズ - SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則 に従って式変形をする操作. ◎ こういうのを結合子計算とか結合子論理という. SK は計算機と同等の計算能力を持つ. - 発展的話題 ◎ 自然数 n ∈ N と「n 回反復」関数 λfx. n f (f (f . . . (f x))) と n を 同一視して,自然数の算数を実現出来る(Church 符号化) ◎ S, K を関数だと思って「型」をつけてみると, S : (α → β → γ) → (α → β) → α → γ, K : α → β → α. これは通常の命題論理の公理から排中律を除いた公理と同じ! 石井大海 ものまね鳥を愛でる
  • 64. 本編 まとめとその他の話題 参考文献 まとめとその他の話題 論理が出来るフレンズ - SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則 に従って式変形をする操作. ◎ こういうのを結合子計算とか結合子論理という. SK は計算機と同等の計算能力を持つ. - 発展的話題 ◎ 自然数 n ∈ N と「n 回反復」関数 λfx. n f (f (f . . . (f x))) と n を 同一視して,自然数の算数を実現出来る(Church 符号化) ◎ S, K を関数だと思って「型」をつけてみると, S : (α → β → γ) → (α → β) → α → γ, K : α → β → α. これは通常の命題論理の公理から排中律を除いた公理と同じ! ● これに「例外処理」「短絡評価」を入れると普通の論理になる. 石井大海 ものまね鳥を愛でる
  • 65. 本編 まとめとその他の話題 参考文献 まとめとその他の話題 論理が出来るフレンズ - SK-計算:Sxyz xz(yz), Kxy x なる二つの書き換え規則 に従って式変形をする操作. ◎ こういうのを結合子計算とか結合子論理という. SK は計算機と同等の計算能力を持つ. - 発展的話題 ◎ 自然数 n ∈ N と「n 回反復」関数 λfx. n f (f (f . . . (f x))) と n を 同一視して,自然数の算数を実現出来る(Church 符号化) ◎ S, K を関数だと思って「型」をつけてみると, S : (α → β → γ) → (α → β) → α → γ, K : α → β → α. これは通常の命題論理の公理から排中律を除いた公理と同じ! ● これに「例外処理」「短絡評価」を入れると普通の論理になる. ! 論理と計算の深い関係を示唆している(Curry-Howard 対応) 石井大海 ものまね鳥を愛でる
  • 66. 本編 まとめとその他の話題 参考文献 参考文献 I [1] J. Roger Hindley and J. P Seldin, Lambda-calculus and combinators, an introduction, Cambridge, UK: Cambridge University Press, 2008, isbn: 9780521898850, url: http://www.loc.gov/catdir/toc/ecip0810/2008006276.html. [2] Jean-Louis Krivine, Realizability algebras: a program to well order R, version 0, Logical Methods in Computer Science 7 (3:2 Aug. 10, 2011), doi: 10.2168/LMCS-7(3:2)2011, arXiv: 1005.2395 [cs.LO]. [3] 古森雄一, 汎用システムとしての「ラムダ計算 + 論理」, 2006, url: http://www.math.s.chiba- u.ac.jp/~komori/symposium/suukaiken/komori8.pdf. [4] 古森雄一 and 小野寛晰, 現代数理論理学序説, 日本評論社, 2010. [5] R・スマリヤン, ものまね鳥をまねる, trans. by 阿部剛久 et al., 原著:To Mock a Mockingbird, 森北出版, 1998. [6] 魔法少女, 命題論理, 2015. 石井大海 ものまね鳥を愛でる