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

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

Recommended

線形計画法入門 by
線形計画法入門線形計画法入門
線形計画法入門Shunji Umetani
59.2K views37 slides
SAT/SMTソルバの仕組み by
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みMasahiro Sakai
36.7K views51 slides
自動定理証明の紹介 by
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介Masahiro Sakai
8.3K views23 slides
ラムダ計算入門 by
ラムダ計算入門ラムダ計算入門
ラムダ計算入門Eita Sugimoto
33.7K views39 slides
文脈自由文法の話 by
文脈自由文法の話文脈自由文法の話
文脈自由文法の話kogecoo
31.4K views56 slides
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」 by
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」Ken'ichi Matsui
96.5K views233 slides

More Related Content

What's hot

敵対的学習に対するラデマッハ複雑度 by
敵対的学習に対するラデマッハ複雑度敵対的学習に対するラデマッハ複雑度
敵対的学習に対するラデマッハ複雑度Masa Kato
1.7K views18 slides
[研究室論文紹介用スライド] Adversarial Contrastive Estimation by
[研究室論文紹介用スライド] Adversarial Contrastive Estimation[研究室論文紹介用スライド] Adversarial Contrastive Estimation
[研究室論文紹介用スライド] Adversarial Contrastive EstimationMakoto Takenaka
9.5K views19 slides
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 by
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 Ken'ichi Matsui
96K views96 slides
Quine・難解プログラミングについて by
Quine・難解プログラミングについてQuine・難解プログラミングについて
Quine・難解プログラミングについてmametter
15.3K views63 slides
「日本語LaTeX」が多すぎる件について by
「日本語LaTeX」が多すぎる件について「日本語LaTeX」が多すぎる件について
「日本語LaTeX」が多すぎる件についてTakayuki Yato
4K views102 slides
「統計的学習理論」第1章 by
「統計的学習理論」第1章「統計的学習理論」第1章
「統計的学習理論」第1章Kota Matsui
4.2K views42 slides

What's hot(20)

敵対的学習に対するラデマッハ複雑度 by Masa Kato
敵対的学習に対するラデマッハ複雑度敵対的学習に対するラデマッハ複雑度
敵対的学習に対するラデマッハ複雑度
Masa Kato1.7K views
[研究室論文紹介用スライド] Adversarial Contrastive Estimation by Makoto Takenaka
[研究室論文紹介用スライド] Adversarial Contrastive Estimation[研究室論文紹介用スライド] Adversarial Contrastive Estimation
[研究室論文紹介用スライド] Adversarial Contrastive Estimation
Makoto Takenaka9.5K views
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 by Ken'ichi Matsui
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui96K views
Quine・難解プログラミングについて by mametter
Quine・難解プログラミングについてQuine・難解プログラミングについて
Quine・難解プログラミングについて
mametter15.3K views
「日本語LaTeX」が多すぎる件について by Takayuki Yato
「日本語LaTeX」が多すぎる件について「日本語LaTeX」が多すぎる件について
「日本語LaTeX」が多すぎる件について
Takayuki Yato4K views
「統計的学習理論」第1章 by Kota Matsui
「統計的学習理論」第1章「統計的学習理論」第1章
「統計的学習理論」第1章
Kota Matsui4.2K views
「型の理論」と証明支援システム -- COQの世界 by maruyama097
「型の理論」と証明支援システム -- COQの世界「型の理論」と証明支援システム -- COQの世界
「型の理論」と証明支援システム -- COQの世界
maruyama0977.5K views
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法 by Ken'ichi Matsui
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
Ken'ichi Matsui26.2K views
メタプログラミングって何だろう by Kota Mizushima
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima28.7K views
ホモトピー型理論入門 by k h
ホモトピー型理論入門ホモトピー型理論入門
ホモトピー型理論入門
k h5.7K views
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法 by Kenichi Hironaka
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
Kenichi Hironaka1.1K views
勉強か?趣味か?人生か?―プログラミングコンテストとは by Takuya Akiba
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba71.8K views
基底変換、固有値・固有ベクトル、そしてその先 by Taketo Sano
基底変換、固有値・固有ベクトル、そしてその先基底変換、固有値・固有ベクトル、そしてその先
基底変換、固有値・固有ベクトル、そしてその先
Taketo Sano31.4K views
Rubinの論文(の行間)を読んでみる-傾向スコアの理論- by Koichiro Gibo
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Koichiro Gibo6.8K views
NumPyが物足りない人へのCython入門 by Shiqiao Du
NumPyが物足りない人へのCython入門NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
Shiqiao Du36.9K views
テスト文字列に「うんこ」と入れるな by Kentaro Matsui
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui178.5K views
40歳過ぎてもエンジニアでいるためにやっていること by onozaty
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
onozaty32.3K views
幾何を使った統計のはなし by Toru Imai
幾何を使った統計のはなし幾何を使った統計のはなし
幾何を使った統計のはなし
Toru Imai29.6K views

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

2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23) by
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)Akira Asano
718 views78 slides
PRML セミナー by
PRML セミナーPRML セミナー
PRML セミナーsakaguchi050403
193 views73 slides
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25) by
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)Akira Asano
610 views50 slides
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~ by
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~ 【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~ TOKITA Shinichi
3.9K views33 slides
生物統計特論3資料 2006 ギブス MCMC isseing333 by
生物統計特論3資料 2006 ギブス MCMC isseing333生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333Issei Kurahashi
742 views11 slides
複素数・四元数と図形の回転 by
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転Yoshihiro Mizoguchi
8.7K views54 slides

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

2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23) by Akira Asano
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
Akira Asano718 views
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25) by Akira Asano
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)
2014年度秋学期 応用数学(解析) 第1回 イントロダクション (2014. 9. 25)
Akira Asano610 views
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~ by TOKITA Shinichi
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~ 【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~
【数学パズル】 無限の囚人と帽子パズル ~選択公理を使ったトリック~
TOKITA Shinichi3.9K views
生物統計特論3資料 2006 ギブス MCMC isseing333 by Issei Kurahashi
生物統計特論3資料 2006 ギブス MCMC isseing333生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333
Issei Kurahashi742 views
第9回スキル養成講座講義資料 by keiodig
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
keiodig97 views
Topic model by saireya _
Topic modelTopic model
Topic model
saireya _2.6K views
数学教材(中間発表) by Mizuguchi1205
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)
Mizuguchi12051.1K views
不動点×不動点×不動点コンビネータ by Kazuhiro Hishinuma
不動点×不動点×不動点コンビネータ不動点×不動点×不動点コンビネータ
不動点×不動点×不動点コンビネータ
Kazuhiro Hishinuma1.2K views
ガンマ分布族のなす空間の曲率 by Masaki Asano
ガンマ分布族のなす空間の曲率ガンマ分布族のなす空間の曲率
ガンマ分布族のなす空間の曲率
Masaki Asano704 views
Stochastic Variational Inference by Kaede Hayashi
Stochastic Variational InferenceStochastic Variational Inference
Stochastic Variational Inference
Kaede Hayashi6.9K views
Introduction to Categorical Programming (Revised) by Masahiro Sakai
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
Masahiro Sakai6.4K views
Newtsulideprint by tononro
NewtsulideprintNewtsulideprint
Newtsulideprint
tononro552 views
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29) by Akira Asano
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29) 2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29)
2015年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2015. 10. 29)
Akira Asano612 views
統計的学習の基礎 5章前半(~5.6) by Kota Mori
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)
Kota Mori6.7K views

More from Hiromi Ishii

Freer Monads, More Extensible Effects by
Freer Monads, More Extensible EffectsFreer Monads, More Extensible Effects
Freer Monads, More Extensible EffectsHiromi Ishii
6.3K views124 slides
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性 by
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性Lebesgue可測性に関するSoloayの定理と実数の集合の正則性
Lebesgue可測性に関するSoloayの定理と実数の集合の正則性Hiromi Ishii
3K views63 slides
実数の集合はどこまで可測になれるか? by
実数の集合はどこまで可測になれるか?実数の集合はどこまで可測になれるか?
実数の集合はどこまで可測になれるか?Hiromi Ishii
5.6K views53 slides
(数式の入った)本をつくる by
(数式の入った)本をつくる(数式の入った)本をつくる
(数式の入った)本をつくるHiromi Ishii
11.7K views145 slides
御清聴ありがとうございました by
御清聴ありがとうございました御清聴ありがとうございました
御清聴ありがとうございましたHiromi Ishii
51.8K views28 slides
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項 by
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項
Lebesgue 可測性に関する Solovay-Shelah の結果に必要な記述集合論のごく基本的な事項Hiromi Ishii
5.3K views124 slides

More from Hiromi Ishii(18)

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

Recently uploaded

SNMPセキュリティ超入門 by
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門mkoda
453 views15 slides
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
23 views36 slides
SSH応用編_20231129.pdf by
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdficebreaker4
380 views13 slides
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
29 views38 slides
Windows 11 information that can be used at the development site by
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteAtomu Hidaka
90 views41 slides

Recently uploaded(12)

SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda453 views
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4380 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka90 views
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.76 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga25 views
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」

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

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