SlideShare a Scribd company logo
1 of 66
Download to read offline
本編 まとめとその他の話題 参考文献
ものまね鳥を愛でる
結合子論理と計算
石井大海
筑波大学博士後期課程一年
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.
石井大海 ものまね鳥を愛でる

More Related Content

What's hot

ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門Eita Sugimoto
 
金融リスクとポートフォリオマネジメント
金融リスクとポートフォリオマネジメント金融リスクとポートフォリオマネジメント
金融リスクとポートフォリオマネジメントKei Nakagawa
 
定理証明支援系Coqについて
定理証明支援系Coqについて定理証明支援系Coqについて
定理証明支援系CoqについてYoshihiro Mizoguchi
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列Kenjiro Sugimoto
 
Probabilistic Graphical Models 輪読会 #1
Probabilistic Graphical Models 輪読会 #1Probabilistic Graphical Models 輪読会 #1
Probabilistic Graphical Models 輪読会 #1Takuma Yagi
 
アセットアロケーションの未来
アセットアロケーションの未来アセットアロケーションの未来
アセットアロケーションの未来Kei Nakagawa
 
「統計的学習理論」第1章
「統計的学習理論」第1章「統計的学習理論」第1章
「統計的学習理論」第1章Kota Matsui
 
カステラ本勉強会 第三回
カステラ本勉強会 第三回カステラ本勉強会 第三回
カステラ本勉強会 第三回ke beck
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底Hiromi Ishii
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)Takao Yamanaka
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明Haruka Ozaki
 
行列計算を利用したデータ解析技術
行列計算を利用したデータ解析技術行列計算を利用したデータ解析技術
行列計算を利用したデータ解析技術Yoshihiro Mizoguchi
 
クラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンクラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンHiroshi Nakagawa
 
統計的学習の基礎 3章前半
統計的学習の基礎 3章前半統計的学習の基礎 3章前半
統計的学習の基礎 3章前半Kazunori Miyanishi
 
【輪読】Bayesian Optimization of Combinatorial Structures
【輪読】Bayesian Optimization of Combinatorial Structures【輪読】Bayesian Optimization of Combinatorial Structures
【輪読】Bayesian Optimization of Combinatorial StructuresTakeru Abe
 
「ゲーム理論」講義スライド
「ゲーム理論」講義スライド「ゲーム理論」講義スライド
「ゲーム理論」講義スライドYosuke YASUDA
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)Yasunori Ozaki
 
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013Shuyo Nakatani
 

What's hot (20)

ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門
 
金融リスクとポートフォリオマネジメント
金融リスクとポートフォリオマネジメント金融リスクとポートフォリオマネジメント
金融リスクとポートフォリオマネジメント
 
定理証明支援系Coqについて
定理証明支援系Coqについて定理証明支援系Coqについて
定理証明支援系Coqについて
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
圏とHaskellの型
圏とHaskellの型圏とHaskellの型
圏とHaskellの型
 
Probabilistic Graphical Models 輪読会 #1
Probabilistic Graphical Models 輪読会 #1Probabilistic Graphical Models 輪読会 #1
Probabilistic Graphical Models 輪読会 #1
 
Coqチュートリアル
CoqチュートリアルCoqチュートリアル
Coqチュートリアル
 
アセットアロケーションの未来
アセットアロケーションの未来アセットアロケーションの未来
アセットアロケーションの未来
 
「統計的学習理論」第1章
「統計的学習理論」第1章「統計的学習理論」第1章
「統計的学習理論」第1章
 
カステラ本勉強会 第三回
カステラ本勉強会 第三回カステラ本勉強会 第三回
カステラ本勉強会 第三回
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 
行列計算を利用したデータ解析技術
行列計算を利用したデータ解析技術行列計算を利用したデータ解析技術
行列計算を利用したデータ解析技術
 
クラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンクラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシン
 
統計的学習の基礎 3章前半
統計的学習の基礎 3章前半統計的学習の基礎 3章前半
統計的学習の基礎 3章前半
 
【輪読】Bayesian Optimization of Combinatorial Structures
【輪読】Bayesian Optimization of Combinatorial Structures【輪読】Bayesian Optimization of Combinatorial Structures
【輪読】Bayesian Optimization of Combinatorial Structures
 
「ゲーム理論」講義スライド
「ゲーム理論」講義スライド「ゲーム理論」講義スライド
「ゲーム理論」講義スライド
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
 
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
 

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

2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)Akira Asano
 
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)Akira Asano
 
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~ 【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~ TOKITA Shinichi
 
生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333Issei Kurahashi
 
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転Yoshihiro Mizoguchi
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料keiodig
 
数学教材(中間発表)
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)Mizuguchi1205
 
不動点×不動点×不動点コンビネータ
不動点×不動点×不動点コンビネータ不動点×不動点×不動点コンビネータ
不動点×不動点×不動点コンビネータKazuhiro Hishinuma
 
ガンマ分布族のなす空間の曲率
ガンマ分布族のなす空間の曲率ガンマ分布族のなす空間の曲率
ガンマ分布族のなす空間の曲率Masaki Asano
 
Stochastic Variational Inference
Stochastic Variational InferenceStochastic Variational Inference
Stochastic Variational InferenceKaede Hayashi
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門Tatsuki SHIMIZU
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Masahiro Sakai
 
Newtsulideprint
NewtsulideprintNewtsulideprint
Newtsulideprinttononro
 
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29)
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29) 2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29)
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29) Akira Asano
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナドYoshihiro Mizoguchi
 
統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)Kota Mori
 

Similar to ものまね鳥を愛でる 結合子論理と計算 (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
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド
 
統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)
 

More from Hiromi Ishii

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

More from Hiromi Ishii (16)

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 の結果に必要な記述集合論のごく基本的な事項
 
数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由
 
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 とか
 
実践・完全犯罪のつくり方
実践・完全犯罪のつくり方実践・完全犯罪のつくり方
実践・完全犯罪のつくり方
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (10)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

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

  • 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. 石井大海 ものまね鳥を愛でる