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

A summary on “On choosing and bounding probability metrics”
A summary on “On choosing and bounding probability metrics”A summary on “On choosing and bounding probability metrics”
A summary on “On choosing and bounding probability metrics”
Kota Matsui
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド
Yoshihiro Mizoguchi
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
Masahiro Sakai
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
AtCoder Inc.
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)
RCCSRENKEI
 
統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-
Shiga University, RIKEN
 
最適化計算の概要まとめ
最適化計算の概要まとめ最適化計算の概要まとめ
最適化計算の概要まとめ
Yuichiro MInato
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
ohken
 
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
gree_tech
 
PRML 8.2 条件付き独立性
PRML 8.2 条件付き独立性PRML 8.2 条件付き独立性
PRML 8.2 条件付き独立性
sleepy_yoshi
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
Kenjiro Sugimoto
 
双対性
双対性双対性
双対性
Yoichi Iwata
 
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理
Taiji Suzuki
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
 
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
Shiga University, RIKEN
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
joisino
 
A3C解説
A3C解説A3C解説
A3C解説
harmonylab
 
Counterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイCounterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイ
ARISE analytics
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門Kawamoto_Kazuhiko
 
Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドRe永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライド
Masaki Hara
 

What's hot (20)

A summary on “On choosing and bounding probability metrics”
A summary on “On choosing and bounding probability metrics”A summary on “On choosing and bounding probability metrics”
A summary on “On choosing and bounding probability metrics”
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)
 
統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-
 
最適化計算の概要まとめ
最適化計算の概要まとめ最適化計算の概要まとめ
最適化計算の概要まとめ
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
 
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
 
PRML 8.2 条件付き独立性
PRML 8.2 条件付き独立性PRML 8.2 条件付き独立性
PRML 8.2 条件付き独立性
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
双対性
双対性双対性
双対性
 
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
A3C解説
A3C解説A3C解説
A3C解説
 
Counterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイCounterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイ
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドRe永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライド
 

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
 
PRML セミナー
PRML セミナーPRML セミナー
PRML セミナー
sakaguchi050403
 
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
 
「型の理論」と証明支援システム -- COQの世界
「型の理論」と証明支援システム -- COQの世界「型の理論」と証明支援システム -- COQの世界
「型の理論」と証明支援システム -- COQの世界maruyama097
 
Topic model
Topic modelTopic model
Topic model
saireya _
 
数学教材(中間発表)
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)Mizuguchi1205
 
不動点×不動点×不動点コンビネータ
不動点×不動点×不動点コンビネータ不動点×不動点×不動点コンビネータ
不動点×不動点×不動点コンビネータ
Kazuhiro Hishinuma
 
ガンマ分布族のなす空間の曲率
ガンマ分布族のなす空間の曲率ガンマ分布族のなす空間の曲率
ガンマ分布族のなす空間の曲率Masaki Asano
 
Stochastic Variational Inference
Stochastic Variational InferenceStochastic Variational Inference
Stochastic Variational Inference
Kaede 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
Newtsulideprint
tononro
 
Linera lgebra
Linera lgebraLinera lgebra
Linera lgebra
Shin Asakawa
 
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29)
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29) 2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29)
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29)
Akira Asano
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
統計的学習の基礎 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回スキル養成講座講義資料
 
「型の理論」と証明支援システム -- COQの世界
「型の理論」と証明支援システム -- COQの世界「型の理論」と証明支援システム -- COQの世界
「型の理論」と証明支援システム -- COQの世界
 
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)
 

More from Hiromi Ishii

Freer Monads, More Extensible Effects
Freer Monads, More Extensible EffectsFreer Monads, More Extensible Effects
Freer Monads, More Extensible Effects
Hiromi 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
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底
Hiromi Ishii
 
数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由
Hiromi Ishii
 
Algebraic DP: 動的計画法を書きやすく
Algebraic DP: 動的計画法を書きやすくAlgebraic DP: 動的計画法を書きやすく
Algebraic DP: 動的計画法を書きやすく
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
 
最終発表
最終発表最終発表
最終発表
Hiromi Ishii
 
Metaprogramming in Haskell
Metaprogramming in HaskellMetaprogramming in Haskell
Metaprogramming in Haskell
Hiromi Ishii
 
Template Haskell とか
Template Haskell とかTemplate Haskell とか
Template Haskell とか
Hiromi Ishii
 
実践・完全犯罪のつくり方
実践・完全犯罪のつくり方実践・完全犯罪のつくり方
実践・完全犯罪のつくり方
Hiromi Ishii
 

More from 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 とか
 
実践・完全犯罪のつくり方
実践・完全犯罪のつくり方実践・完全犯罪のつくり方
実践・完全犯罪のつくり方
 

Recently uploaded

FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 

Recently uploaded (15)

FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 

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

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