Successfully reported this slideshow.
Your SlideShare is downloading. ×

正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 140 Ad

正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem

Download to read offline

正規表現やオートマトンが正規言語の表現方法であることは情報系の方々には広く知られていますが,一方で代数や論理でも正規言語が特徴づけられるということはあまり知られていません.本資料では variety という視点から眺めることで,言語・代数・論理の三つの異なる概念が非常に美しい対応を見せることを紹介していきます.

正規表現やオートマトンが正規言語の表現方法であることは情報系の方々には広く知られていますが,一方で代数や論理でも正規言語が特徴づけられるということはあまり知られていません.本資料では variety という視点から眺めることで,言語・代数・論理の三つの異なる概念が非常に美しい対応を見せることを紹介していきます.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

More from Ryoma Sin'ya (11)

Advertisement

Recently uploaded (20)

正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem

  1. 1. 正規言語と代数と論理の対応 An Introduction to Eilenberg’s Variety Theorem
  2. 2. 序言 正規表現やオートマトンが正規言語の表現方法であることは 情報系の方々には広く知られていますが,一方で代数や論理 でも正規言語が特徴づけられるということはあまり知られて いません.本資料では variety という視点から眺めることで, 言語・代数・論理の三つの異なる概念が非常に美しい対応を 見せることを紹介していきます. 本資料は正規表現やオートマトンの知識をほとんど仮定して いませんので,構える必要はありません!入門者向けの資料 です. あなたがもし論理や代数の素養がある人ならば,正規 表現を知らなくても楽しめるはずです. 本資料で紹介する全ての定理に適切な論文・書籍への参照を 記しています.本資料は「難しい証明を丁寧に解説する」とい うより「噛み砕いた解説と多くの具体例で読者を分かった気 にさせる」というものです.厳密な定義・証明は本資料末尾 の参考文献リストから参照してください.
  3. 3. 作者 新屋 良磨 (Ryoma Sin’ya) @sinya8282 東工大博士2年. 学部からずっと正規言語の 研究してます. 日本酒と京都が大好きです (写真は京都の建仁寺にて).
  4. 4. 導入 General Introduction
  5. 5. 正規言語の基本 正規言語とは? ! 正規表現で書ける言語 ! オートマトンで受理できる言語
  6. 6. 正規言語の基本 正規言語とは? 例:bの個数が偶数個の文字列 ! 正規表現で書ける言語 ! オートマトンで受理できる言語
  7. 7. 正規言語の基本 正規言語とは? 例:bの個数が偶数個の文字列 ! 正規表現で書ける言語 ! オートマトンで受理できる言語
  8. 8. 正規言語の基本 正規言語とは? 例:bの個数が偶数個の文字列 ! 正規表現で書ける言語 ! オートマトンで受理できる言語 a a b q0 q1 b
  9. 9. 正規表現以外の表現法 正規言語 (文字列の集合) {ε, a, aa, bb, aaa, abb, bab, bbb, ...} 有限オートマトン (計算モデル) a 0 1 b b a 有限モノイド (代数モデル) 正規文法 (生成文法) 単項二階述語論理 (論理式) 正規表現 (表現式) a*(ba*ba*)* Profinite words 上の開閉集合 (トポロジー) 多様な特徴付け 式,文法,計算モデ ル,代数モデル,論 理式,トポロジー... 「普遍的な構造は多様 な特徴付けを持つ」
  10. 10. 正規表現以外の表現法 正規言語 (文字列の集合) {ε, a, aa, bb, aaa, abb, bab, bbb, ...} 有限オートマトン (計算モデル) a 0 1 b b a 有限モノイド (代数モデル) 正規文法 (生成文法) 単項二階述語論理 (論理式) 正規表現 (表現式) a*(ba*ba*)* Profinite words 上の開閉集合 (トポロジー) 多様な特徴付け 式,文法,計算モデ ル,代数モデル,論 理式,トポロジー... 本日のメインは   表現・代数・論理の 三つ. いざ魅惑のVarietyの世界へ!
  11. 11. 目録 一,導入 二,正規言語と代数 三,正規言語族と半群集合の一対一対応 四,正規言語と論理 五,正規言語と代数と論理の対応 六,〆
  12. 12. 正規言語と代数 Regular ⇔ Finite Monoid Recognisable
  13. 13. 半群とは,モノイドとは 群を一般化した代数構造 結合律単位律可逆律 群 モノイド 半群
  14. 14. 半群とは,モノイドとは 群を一般化した代数構造 結合律単位律可逆律 群 モノイド 半群 「可逆律はチート」
  15. 15. 半群とは,モノイドとは 群を一般化した代数構造 結合律単位律可逆律 群 モノイド 半群 「可逆律はチート」 「単位律は飾り」
  16. 16. 半群とは,モノイドとは 群を一般化した代数構造 結合律単位律可逆律 群 モノイド 半群 「うわっ… 私の要求,  高すぎ…?」 「可逆律はチート」 「単位律は飾り」
  17. 17. 単位元はかざり 任意の半群に対して,一つの元を追加するだけで モノイドにすることができる(結果は一意). 半群の構造を含んだモノイド なので,まぁ,すごく大雑把に言うと(計算的には) 半群の議論とモノイドの議論はあまり区別しなくて 良い.あと半群の方が語感が良い(重要).
  18. 18. 群・モノイド・半群(例) :(0を含まない)自然数と足し算 :(0を含めた)自然数と足し算 :整数と足し算
  19. 19. 群・モノイド・半群(例) :(0を含まない)自然数と足し算 これは半群.単位元も逆元もない. :(0を含めた)自然数と足し算 :整数と足し算
  20. 20. 群・モノイド・半群(例) :(0を含まない)自然数と足し算 これは半群.単位元も逆元もない. :(0を含めた)自然数と足し算 これはモノイド.単位元は0.逆元はない. :整数と足し算
  21. 21. 群・モノイド・半群(例) :(0を含まない)自然数と足し算 これは半群.単位元も逆元もない. :(0を含めた)自然数と足し算 これはモノイド.単位元は0.逆元はない. :整数と足し算 これは群.単位元は0で の逆元は .
  22. 22. 半群とは(計算の視点) 計算の視点から見ると半群とは「並列計算しやすい 代数構造(結合律)」 ! この辺の話は僕が昔作った           「AVX2時代の正規表現マッチング~半群でぐんぐん!~」 という資料に色々書いてあります(割愛). http://www.slideshare.net/sinya8282/avx2
  23. 23. 半群とは(計算の視点) 計算の視点から見ると半群とは「並列計算しやすい 代数構造(結合律)」 ! この辺の話は僕が昔作った           「AVX2時代の正規表現マッチング~半群でぐんぐん!~」 という資料に色々書いてあります(割愛). http://www.slideshare.net/sinya8282/avx2
  24. 24. 文字列=自由モノイドの元=語 有限集合(生成系と呼ぶ) の要素を組合せて作るこ とができる有限長の語全体の集合を と書く. は長さが0の文字列「空文字列」も含む. 空文字列は と表記する. !   は文字列の「連結」操作 (・) によって自然に    無限モノイドとなる.このモノイド を   生成系 上の自由モノイドと呼ぶ. もちろん単位元は空文字列 .
  25. 25. (例)自由モノイド 生成系(文字集合)
  26. 26. (例)自由モノイド 生成系(文字集合) 自由モノイド(文字列集合)
  27. 27. (例)自由モノイド 生成系(文字集合) 自由モノイド(文字列集合) 二項演算(文字列の連結)
  28. 28. (例)自由モノイド 生成系(文字集合) 自由モノイド(文字列集合) 二項演算(文字列の連結)
  29. 29. (例)自由モノイド 生成系(文字集合) 自由モノイド(文字列集合) 二項演算(文字列の連結)
  30. 30. (例)自由モノイド 生成系(文字集合) 自由モノイド(文字列集合) 二項演算(文字列の連結) ←結合律
  31. 31. (例)自由モノイド 単位律 → 生成系(文字集合) 自由モノイド(文字列集合) 二項演算(文字列の連結) ←結合律
  32. 32. 自由モノイドは全てのモノイド の素となる 任意のモノイド は( を生成する集合上の)自 由モノイドの準同型写像の像となる. 「生成系と関係式」で任意のモノイドは記述でき る.表示(presentation)と呼ぶ.群も同様. 「どの元をどういう順番で掛けたか」みたいな情 報を全て持っている.積の情報の損失が全くない.
  33. 33. 自由モノイドは全てのモノイド の素となる(例)
  34. 34. 自由モノイドは全てのモノイド の素となる(例)
  35. 35. 自由モノイドは全てのモノイド の素となる(例) モノイドはこのような 演算規則を記述した表 (積表)で記述できる.
  36. 36. 自由モノイドは全てのモノイド の素となる(例) モノイドはこのような 演算規則を記述した表 (積表)で記述できる.
  37. 37. 自由モノイドは全てのモノイド の素となる(例) モノイドはこのような 演算規則を記述した表 (積表)で記述できる.
  38. 38. 自由モノイドからの準同型はそ の生成系の像で一意に定まる [5]より引用
  39. 39. 自由モノイドからの準同型はそ の生成系の像で一意に定まる つまり,準同型のお約束「演算の整合性を保つ」 という制約から,生成系の像をそのまま自然に拡 張するしかないということ. 自由モノイドの元 = 文字列 = 生成系の元の並び.  準同型はその元の並び通りにそのまま演算を適用 するしかない.
  40. 40. 自由モノイドからの準同型はそ の生成系の像で一意に定まる つまり,準同型のお約束「演算の整合性を保つ」 という制約から,生成系の像をそのまま自然に拡 張するしかないということ. 自由モノイドの元 = 文字列 = 生成系の元の並び.  準同型はその元の並び通りにそのまま演算を適用 するしかない. (注)[5]では を と書く流儀.
  41. 41. 正規言語=有限モノイドの逆像 [Myhil-Nerode] 自由モノイド の部分集合 について以下の条件 は同値である. は 上の正規言語 ある有限モノイド と準同型    が 存在し, のある部分集合 に対して
  42. 42. 正規言語=有限モノイドの逆像 (例) [Myhil-Nerode] 自由モノイド
  43. 43. 正規言語=有限モノイドの逆像 (例) [Myhil-Nerode] 自由モノイド 有限モノイドとその部分集合及び準同型.
  44. 44. 正規言語=有限モノイドの逆像 (例) [Myhil-Nerode] 自由モノイド 有限モノイドとその部分集合及び準同型.
  45. 45. 正規言語=有限モノイドの逆像 (例) [Myhil-Nerode] 自由モノイド 有限モノイドとその部分集合及び準同型. 準同型の逆像は正規言語
  46. 46. 正規言語=有限モノイドの逆像 (例) [Myhil-Nerode] 自由モノイド 有限モノイドとその部分集合及び準同型. 準同型の逆像は正規言語 bの個数が偶数個の文字列!:
  47. 47. Syntactic Monoid 与えられた正規言語 について, を認識する有限 モノイドの中で最小のモノを の syntactic monoid と呼ぶ.syntactic monoid は言語に から一意に定 まるため,これを   と表す. Syntactic monoid は対応する言語の最小オートマト ン(最小DFA)の遷移モノイドと同型である. Syntactic monoid や遷移モノイドの説明は省略. http://www.slideshare.net/sinya8282/avx2 「半群でぐんぐん!」を読もう!
  48. 48. オートマトン解る人向けの説明 (正規である必要はない)言語 に対してMyhil-Nerode relation と言う次の同値関係が定義できる. ! 有名なMyhil-Nerode の定理は,この同値関係の同値 類が有限個ならばかつその時に限り が正規言語で あるということを述べている. その同値類が最小オートマトンの状態に対応.
  49. 49. オートマトン解る人向けの説明 Myhil-Nerode relation は文字列を「右側からの連結」 で区別した同値関係.そのため右同値関係とも呼ば れる. Myhil-Nerode relation を「両側からの連結」に拡張 した次の同値関係を考えることが出来る. !  のsyntactic monid とは, を  で割ったモノ.
  50. 50. オートマトン解る人向けの説明 Myhil-Nerode relation は文字列を「右側からの連結」 で区別した同値関係.そのため右同値関係とも呼ば れる. Myhil-Nerode relation を「両側からの連結」に拡張 した次の同値関係を考えることが出来る. !  のsyntactic monid とは, を  で割ったモノ. イド
  51. 51. 章まとめ
  52. 52. 章まとめ 自由モノイド   (文字列集合)から
  53. 53. 章まとめ 自由モノイド   (文字列集合)から 有限モノイドの部分集合の
  54. 54. 正規言語族と半群集合の 一対一対応 Eilenberg’s Variety Theorem
  55. 55. 正規言語と有限モノイドは多対 多の関係 一つの有限モノイドは無数の正規言語に対応する. ! 一つの正規言語は無数の有限モノイドに対応する.
  56. 56. 一つの有限モノイドは無数の 正規言語に対応 自由モノイド の部分集合 について以下の条件 は同値である. は 上の正規言語 ある有限モノイド と準同型    が 存在し, のある部分集合 に対して
  57. 57. 一つの有限モノイドは無数の 正規言語に対応 を固定した場合,単純に考えて  準同型の数 × 部分集合の数 分正規言語を は受理する.さらに は自由 に動くため,実際は無限に相異なる正規言語 を受理する. 自由モノイド の部分集合 について以下の条件 は同値である. は 上の正規言語 ある有限モノイド と準同型    が 存在し, のある部分集合 に対して
  58. 58. 一つの正規言語は無数の 有限モノイドに対応 与えられた正規言語(正規表現やオートマトン)か ら,その言語を認識するような有限モノイドとそ の部分集合及び準同型を構成できるか? -> でき る! オートマトンから遷移モノイドを計算する. 最小オートマトンの遷移モノイドを特に syntactic monoid と呼ぶ. 「半群でぐんぐん!」を読めば解かりやすい! http://www.slideshare.net/sinya8282/avx2
  59. 59. 一つの正規言語は無数の 有限モノイドに対応 与えられた正規言語(正規表現やオートマトン)か ら,その言語を認識するような有限モノイドとそ の部分集合及び準同型を構成できるか? -> でき る! オートマトンから遷移モノイドを計算する. 最小オートマトンの遷移モノイドを特に syntactic monoid と呼ぶ. 「半群でぐんぐん!」を読めば解かりやすい! http://www.slideshare.net/sinya8282/avx2 本資料では説明を省いたが,正規言語 を受理 する(状態数や遷移関係が異る)オートマトン が無数に存在するため, を受理するモノイド (オートマトンの遷移モノイド)も無限に存在する.
  60. 60. 正規言語と有限モノイドの対応 関係は色々ややこしい 自由モノイド の部分集合Lについて以下の条件は 同値である. は 上の正規言語 ある有限モノイド と準同型    が 存在し, のある部分集合 に対して
  61. 61. 正規言語と有限モノイドの対応 関係は色々ややこしい 自由モノイド の部分集合Lについて以下の条件は 同値である. 準同型とか部分集合とか逆 像とか五月蝿い(極端な意見) は 上の正規言語 ある有限モノイド と準同型    が 存在し, のある部分集合 に対して
  62. 62. 正規言語と有限モノイドの対応 関係は色々ややこしい 相異なるオートマトンの数以上に相異なるモノ イドがあるのも五月蝿い(極端な意見). 自由モノイド の部分集合Lについて以下の条件は 同値である. 準同型とか部分集合とか逆 像とか五月蝿い(極端な意見) は 上の正規言語 ある有限モノイド と準同型    が 存在し, のある部分集合 に対して
  63. 63. 正規言語と有限モノイドの素直 な対応関係が知りたい 多対多よりも素直な一対一対応が欲しい. モノイドの準同型や部分集合の取り方をいちいち 気にしたくない. 同様に,同じ正規言語を受理するオートマトンの 違い(遷移モノイドの違い)をいちいち気にしたくな い.
  64. 64. 正規言語と有限モノイドの素直 な対応関係が知りたい 多対多よりも素直な一対一対応が欲しい. モノイドの準同型や部分集合の取り方をいちいち 気にしたくない. 同様に,同じ正規言語を受理するオートマトンの 違い(遷移モノイドの違い)をいちいち気にしたくな い. そんな綺麗な対応ってあるの?
  65. 65. 個々の対応から集合の対応へ 「個々の正規言語」と「個々の有限モノイド」は 多対多の対応. ! ある「正規言語の族」と「有限モノイドの集合」 には綺麗な一対一の対応が存在する! ! もちろん,ここでいう「族」「集合」はある特別 な性質(いくつかの演算に対する閉包性)を持つ.
  66. 66. 個々の対応から集合の対応へ 「個々の正規言語」と「個々の有限モノイド」は 多対多の対応. 正規言語のVariety ! ある「正規言語の族」と「有限モノイドの集合」 には綺麗な一対一の対応が存在する! ! もちろん,ここでいう「族」「集合」はある特別 な性質(いくつかの演算に対する閉包性)を持つ.
  67. 67. 個々の対応から集合の対応へ 「個々の正規言語」と「個々の有限モノイド」は 多対多の対応. 正規言語のVariety 有限モノイドの(pseudo-)Variety ! ある「正規言語の族」と「有限モノイドの集合」 には綺麗な一対一の対応が存在する! ! もちろん,ここでいう「族」「集合」はある特別 な性質(いくつかの演算に対する閉包性)を持つ.
  68. 68. 正規言語のVariety 正規言語の族        ここで は 上の正規言語の集合,が以下の閉包性を満たす 時, を varietyと呼ぶ.
  69. 69. 正規言語のVariety 正規言語の族        ここで は 上の正規言語の集合,が以下の閉包性を満たす 時, を varietyと呼ぶ. 任意の有限文字集合 について, を構成する  が和集合・積集合・補集合について閉じている. 任意の有限文字集合 について, を構成する  に属する任意の言語 が, に属する任意の文字  での左右両方の quotient について閉じている. 任意のモノイド準同型      と言語    について,      となる.
  70. 70. 正規言語のVariety 正規言語の族        ここで は 上の正規言語の集合,が以下の閉包性を満たす 時, を 複variety雑? とこ呼こぶろ. は後で説明します! 任意の有限文字集合 について, を構成する  が和集合・積集合・補集合について閉じている. 任意の有限文字集合 について, を構成する  に属する任意の言語 が, に属する任意の文字  での左右両方の quotient について閉じている. 任意のモノイド準同型      と言語    について,      となる.
  71. 71. 正規言語のQuotient Quotient とは言語に属する全ての文字列から指定し た接頭辞(接尾辞)を消す操作. 対象文字列が指定された接頭辞(接尾辞)を持たない 場合は,文字列そのものを消してしまう. 接頭辞を消す場合は左側quotient,接尾辞を消す場 合は右側quotientと呼ぶ.
  72. 72. 正規言語のQuotient (例) による左側 quotient :
  73. 73. 正規言語のQuotient (例) による左側 quotient : による右側 quotient :
  74. 74. 有限モノイドのPseudovariety 有限モノイドの空でない集合  が以下の閉包性を 満たす時, を pseudovariety と呼ぶ.
  75. 75. 有限モノイドのPseudovariety 有限モノイドの空でない集合  が以下の閉包性を 満たす時, を pseudovariety と呼ぶ. 部分モノイドについて閉じている. 準同型(の像)について閉じている. (有限個の)直積について閉じている.
  76. 76. Eilenberg’s Variety Theorem 正規言語の全てのvarietyの集合と有限モノイド の全てのpseudovarietyの集合の間には全単射が 存在する.   (S. Eillenberg, 1976 [6]) 「Varietyからそれに属す言語のsyntactic monid達で生 成されるpseudovarietyに写す写像」と「Pseudovariety からsyntactic monoidがそれに属す全ての正規言語を集 めたvarietyに写す写像」という写像がそれぞれの逆写 像になっている.証明は [1] の12章を参照.
  77. 77. 一対一対応のこゝろ 個々の正規言語と個々の有限モノイドはそれぞれ 多対多の関係.一対一対応を作るためにはこの多 対多の関係を含む程に正規言語・有限モノイドの 集合をそれぞれ大きくする必要がある. 凄く大雑把に言うと,(pseudo)varietyに求められ ている演算は適切に集合を大きくする演算. この程度の説明で納得するにはオートマトンと有 限モノイドをきちんと理解している必要がある.  納得したければ[1]読みましょう!
  78. 78. Varietyの例:Star-free 言語 Star-free 言語とは,Kleene閉包(スター演算,*)が 使えない代わりに補集合演算が使える正規表現で表 現することの出来る言語クラスのこと. ! Star-free 言語が variety となる(閉包性を満たす)こと を確認するのは良い練習問題になるはず(宿題). ! Star-free言語については「正規表現入門 星の高さを 求めて」を読もう! http://www.slideshare.net/sinya8282/ss-32629428
  79. 79. Varietyの例:Star-free 言語 Star-free 言語とは,Kleene閉包(スター演算,*)が 使えない代わりに補集合演算が使える正規表現で表 現することの出来る言語クラスのこと. ! Star-free 言語が variety となる(閉包性を満たす)こと を確認するのは良い練習問題になるはず(宿題). ! Star-free言語については「正規表現入門 星の高さを 求めて」を読もう! http://www.slideshare.net/sinya8282/ss-32629428
  80. 80. Star-free 言語に対応する Pseudovariety 言語 がstar-free言語である ⇔ の syntactic monoid が aperiodic. (M.P. Schützenberger, 1965 [7]) モノイド が            という条件 を満たす時 を aperiodic と呼ぶ.「nontrivialな部 分群が存在しない」と言う同値な言い換えも. 「全てのaperiodicなモノイドの集合」 が pseudovarietyとなる(閉包性を満たす)ことを確認す るのはたやすい(宿題).
  81. 81. Star-free 言語に対応する Pseudovariety 言語 がstar-free言語である ⇔ の syntactic monoid が aperiodic. (M.P. Schützenberger, 1965 [7]) いわゆるSchützenberge’s theorem.証明は難しい  (証明はいくつか存在する. [1] を読むのを薦める). Star-free ⇒ Aperiodicを示すのに比べて,Aperiodic ⇒ Star-freeを示すのが難しい.
  82. 82. Star-free 言語(例) 例えば は star-free 言語.なぜなら と書けるため.ここで は和集合(正規表現でいう 所の | ). は「空集合の補集合」と考えればスター は不要だし,差集合演算 も補集合と和集合演算の みで表現することができるため,この正規表現は実 質スター演算を一切使わない形で書かれている.
  83. 83. Star-free 言語(例) 例えば は star-free 言語.なぜなら と書けるため.ここで は和集合(正規表現でいう 所の | ). は「空集合の補集合」と考えればスター は不要だし,差集合演算 も補集合と和集合演算の みで表現することができるため,この正規表現は実 質スター演算を一切使わない形で書かれている. 一方,良く似た言語   はstar-freeでない.証明に は Schützenberge’s theorem を使う必要がある.
  84. 84. 章まとめ 一対一対応 正規言語の variety とは 和集合・積集合・ 補集合(ブール代数) quotient 自由モノイドの準同 型の逆像 に閉じた言語族のこと. 有限モノイドの pseudovariety とは 部分モノイド 準同型の像 (有限個の)直積 に閉じた有限モノイドの 集合のこと. Eilenberg’s Variety Theorem
  85. 85. 正規言語と論理 Regular ⇔ Monadic Second Order Definable
  86. 86. 文字列とはモデルであ�る 有限長の文字列は有限モデルとして見ることが出来 る. Universe は文字列のインデックス集合(自然数 要素). Vocabulary は インデックスに対応する文字が である時の み真となる述語  と インデックスの大小比較を行う二項関係<.
  87. 87. 文字列とはモデルであ�る(例) 文字列
  88. 88. 文字列とはモデルであ�る(例) 文字列 モデル
  89. 89. 文字列とはモデルであ�る(例) 文字列 文字列の長さが6なので, universeは1~6までの集合. モデル
  90. 90. 文字列とはモデルであ�る(例) 文字列 文字列の長さが6なので, universeは1~6までの集合. モデル インデックスと文字を紐付 ける述語.
  91. 91. 文字列とはモデルであ�る(例) 文字列 文字列の長さが6なので, universeは1~6までの集合. モデル インデックスと文字を紐付 ける述語. Vocabularyを固定すれば文字列からモデルが一意 に定まる.逆方向も述語  がそれぞれuniverseの 分割(partition)になっていれば一意に定まる. 以降,文字列 に対応するモデルを  と書く.
  92. 92. 論理式で言語を記述する 正規表現が文字列の集合を記述するように,論理式 は(自身を充足する)モデルの集合を記述する. ! つまり,文字列をモデルと見なす先ほどのような vocabularyを考えれば,論理式は言語の記述に他な らない. ! 論理式 を満たす文字列の集合を   と記述する:
  93. 93. 論理式で言語を記述する(例)
  94. 94. 論理式で言語を記述する(例)  の後ろに が来ないという論理式.
  95. 95. 論理式で言語を記述する(例)  の後ろに が来ないという論理式. とすると    なので
  96. 96. 論理式で言語を記述する(例)  の後ろに が来ないという論理式. とすると    なので
  97. 97. 論理式で言語を記述する(例)  の後ろに が来ないという論理式. とすると    なので つまり は正規表現でいう所の  に他ならない!
  98. 98. 正規言語=一階論理?    という正規表現は一階論理の範囲で記述する ことが出来た: ! では全ての正規表現は一階論理の範囲で記述できる のか?またその逆はどうなのか?
  99. 99. 正規言語=一階論理?    という正規表現は一階論理の範囲で記述する ことが出来た: ! では全ての正規表現は一階論理の範囲で記述できる のか?またその逆はどうなのか? 実は,一階論理で記述できる言語のクラスは正規 言語のサブクラスにしかならない.つまり      正規言語を記述するのに一階論理では弱すぎる!
  100. 100. 正規言語=二階論理? では単純に二階に上がってみるとどうか?実際,一 階で記述できる範囲よりはるかに広い範囲で言語の 記述できる.
  101. 101. 正規言語=二階論理? では単純に二階に上がってみるとどうか?実際,一 階で記述できる範囲よりはるかに広い範囲で言語の 記述できる. しかし,実は,二階論理は正規言語より真に広い言 語クラスを記述できる能力を持つ.つまり,      正規言語を記述するのに二階論理では強すぎる!
  102. 102. 正規言語=二階論理? では単純に二階に上がってみるとどうか?実際,一 階で記述できる範囲よりはるかに広い範囲で言語の 記述できる. しかし,実は,二階論理は正規言語より真に広い言 語クラスを記述できる能力を持つ.つまり,      正規言語を記述するのに二階論理では強すぎる! 例えば,以下の論理式は非正規言語「 と の出現 回数が等しい文字列の集合」を記述している.
  103. 103. 正規言語=二階論理? では単純に二階に上がってみるとどうか?実際,一 階で記述できる範囲よりはるかに広い範囲で言語の 記述できる. しかし,実は,二階論理は正規言語より真に広い言 語クラスを記述できる能力を持つ.つまり,      正規言語を記述するのに二階論理では強すぎる! 例えば,以下の論理式は非正規言語「 と の出現 回数が等しい文字列の集合」を記述している. 二項関係を量化できるぐらい強いと「全単射の 存在」まで記述できる.そのため「集合の元の 個数が等しい」のようなモノが書けて正規言語 の範囲を超えてしまう.
  104. 104. 正規言語=二階論理? なら単項関係,つまり集合の量化のみに制限し た二階論理ならばいけるのでは(直感)? では単純に二階に上がってみるとどうか?実際,一 階で記述できる範囲よりはるかに広い範囲で言語の 記述できる. しかし,実は,二階論理は正規言語より真に広い言 語クラスを記述できる能力を持つ.つまり,      正規言語を記述するのに二階論理では強すぎる! 例えば,以下の論理式は非正規言語「 と の出現 回数が等しい文字列の集合」を記述している. 二項関係を量化できるぐらい強いと「全単射の 存在」まで記述できる.そのため「集合の元の 個数が等しい」のようなモノが書けて正規言語 の範囲を超えてしまう.
  105. 105. 正規言語=単項二階論理! 言語 が正規言語である ⇔ は単項二階論理 (Monadic Second Order Logic, MSO)で記述 可能である. ( J.R. Büchi, 1960 [8]) 「正規言語 ⇒ MSO記述可能」は簡単.オート マトンをシミュレートする論理式が素直にMSO で記述することが出来る. その逆「MSO記述可能⇒正規言語」がやや難し い.MSOとオートマトンの対応がとても面白い ので是非[3]の7章の証明を参照されたし.
  106. 106. FO vs. MSO FO(一階論理)で記述できなくてMSOで記述できる 言語,すなわちFOで記述できないとはどういうも のか? ! 例えば   はFOで記述できるが,  はMSOで なければ記述できない!
  107. 107. FO vs. MSO FO(一階論理)で記述できなくてMSOで記述できる 言語,すなわちFOで記述できないとはどういうも のか? Star-free 言語 ! 例えば   はFOで記述できるが,  はMSOで なければ記述できない!
  108. 108. FO vs. MSO FO(一階論理)で記述できなくてMSOで記述できる 言語,すなわちFOで記述できないとはどういうも のか? Star-free 言語非 star-free 言語 ! 例えば   はFOで記述できるが,  はMSOで なければ記述できない!
  109. 109. Star-free言語=一階論理! 言語 がstar-free言語である ⇔ は一階論理 で記述可能である. (R. McNaughton and S. Papert, 1971 [9]) これも正規言語⇔MSOと同様に「star-free言語 ⇒ FO記述可能」が簡単でその逆を示すのがや や難しい.証明は[3]の7章を参照.
  110. 110. 章まとめ 論理 言語Büchi’s theorem Regular MSO Star-free FO McNaughton-Papert’s theorem
  111. 111. 正規言語と代数と論理の対応 On Small Fragments of First-Order Logic
  112. 112. 言語と論理の対応 Regular MSO Star-free FO
  113. 113. 言語と論理の対応 Regular MSO Star-free FO 言語 がstar-free言語である ⇔ の syntactic monoid が aperiodic. (M.P. Schützenberger, 1965 [7])
  114. 114. 言語と代数と論理の対応 Regular mFoinnoitied s MSO Star-free Aperiodic FO
  115. 115. 一階論理の階層 一階論理は二階論理の真の部分クラスである.一 階論理の中にも無限に多くの部分クラスが存在す る(論理の階層).論理の階層の研究は古くから盛ん に行われており,様々な成果がある. 論理式自体が「命題を記述するためのもの」とい う純粋なものであるし,一階論理の階層はとても systematic に定められているものが多く,言語の 階層等に比べて「その階層がなにを表しているの か」の感覚が掴みやすい(と僕は思っています).
  116. 116. 一階論理の階層(例) 一階論理の中にも無限に多くの論理の部分クラス がある.
  117. 117. 一階論理の階層(例) 一階論理の中にも無限に多くの論理の部分クラス がある. 使える変数を 個以下に限定したクラス:
  118. 118. 一階論理の階層(例) 一階論理の中にも無限に多くの論理の部分クラス がある. 使える変数を 個以下に限定したクラス:
  119. 119. 一階論理の階層(例) 一階論理の中にも無限に多くの論理の部分クラス がある. 使える変数を 個以下に限定したクラス: 存在量化 と全称量化 がたかだか 回しか交代 しないクラス:  (存在から始まる場合)と  (全 称から始まる場合),さらに
  120. 120. 一階論理の階層(例) 一階論理の中にも無限に多くの論理の部分クラス がある. 使える変数を 個以下に限定したクラス: 存在量化 と全称量化 がたかだか 回しか交代 しないクラス:  (存在から始まる場合)と  (全 称から始まる場合),さらに
  121. 121. 一階論理の階層(例) 一階論理の中にも無限に多くの論理の部分クラス がある. 使える変数を 個以下に限定したクラス: 存在量化 と全称量化 がたかだか 回しか交代 しないクラス:  (存在から始まる場合)と  (全 称から始まる場合),さらに   のブール演算による閉包:
  122. 122. 論理階層からVarietyを眺める 見事なことに,これら一階論理の階層は正規言語 と有限モノイドの(pseudo)varietyに綺麗に対応す る. 正規言語と有限モノイドの(pseudo)varietyを感覚 的に理解するのはなかなか大変であるが,論理の 視点から見ると非常に素直に特徴づけされている と感じるかもしれない.
  123. 123. 論理階層からVarietyを眺める 見事なことに,これら一階論理の階層は正規言語 と有限モノイドの(pseudo)varietyに綺麗に対応す る. 正規言語と有限モノイドの(pseudo)varietyを感覚 的に理解するのはなかなか大変であるが,論理の 視点から見ると非常に素直に特徴づけされている と感じるかもしれない. それでは,言語・代数・論理の美しい 対応を観て本講義を終わりにしよう.
  124. 124. 言語と代数と論理の対応[4] Varieties Pseudovarieties Logical fragments Regular Finite monoids
  125. 125. 言語と代数と論理の対応[4] Varieties Pseudovarieties Logical fragments Regular Finite monoids Star-free Aperiodic
  126. 126. 言語と代数と論理の対応 Regular Finite monoids Star-free Aperiodic Polynomial [4] Varieties Pseudovarieties Logical fragments
  127. 127. 言語と代数と論理の対応 Regular Finite monoids Star-free Aperiodic Polynomial Unambiguous polynomial DA [4] Varieties Pseudovarieties Logical fragments
  128. 128. 言語と代数と論理の対応 Regular Finite monoids Star-free Aperiodic Polynomial Unambiguous polynomial DA Piecewise testable -trivial [4] Varieties Pseudovarieties Logical fragments
  129. 129. 言語と代数と論理の対応 Regular Finite monoids Star-free Aperiodic Polynomial Unambiguous polynomial DA Piecewise testable -trivial Simple polynomial [4] Varieties Pseudovarieties Logical fragments
  130. 130. 言語と代数と論理の対応 Regular Finite monoids Star-free Aperiodic Polynomial Unambiguous polynomial DA Piecewise testable -trivial Simple polynomial Commutative and idempotent [4] Varieties Pseudovarieties Logical fragments
  131. 131. 〆 Conclusion
  132. 132. 結言 正規言語と有限モノイドと単項二階論理の等価な関 係を眺めてきました. Variety というモノを考えることで,言語と代数と論 理が非常に綺麗な対応を見せることをが上手く伝え られたでしょうか? 言語・代数・論理の階層を variety を通して紐付け る研究は現在も盛んに行われています[10]. 本資料は variety theory のほんの導入にしかすぎま せん.証明の詳細や理論のより深い部分に興味が有 る方は是非本資料で引用していた文献を参照してく ださい(次ページから紹介).Enjoy 正規言語!
  133. 133. 参考資料 References
  134. 134. [1] Lawson先生の教 科書 オートマトンとモノイド の関係がしっかり書かか れている入門書. 半群の研究者が書いた本. 最終章に Eilenberg’s Variety Theorem の証明 が載っている.全体的に 丁寧で読みやすくVariety theory の入門に最適.
  135. 135. [2] Pin先生の教科書 Variety theory でいくつも 成果を出されている先生 の本. [1] を読み終えて進むのが 良い,らしい. 僕も読み始めたばかり.
  136. 136. [3] Libkin先生の教 科書 有限モデル理論の標準的 入門書. モデル理論とかロジック の知識がない人でも読み 始められるはず.とても 読みやすい. 正規言語とMSO,star-free 言語とFOの対応の証 明が載ってる.
  137. 137. A Survey on Small Fragments of First-Order Logic over Finite Words Volker Diekert1, Paul Gastin2, Manfred Kufleitner1,3 1 FMI, Universit¨at Stuttgart Universit¨atsstr. 38, D-70569 Stuttgart, Germany {diekert,kufleitner}@fmi.uni-stuttgart.de 2 LSV, ENS Cachan, CNRS 61, Av. du Pr´esident Wilson, F-94230 Cachan, France Paul.Gastin@lsv.ens-cachan.fr 3 LaBRI, Universit´e de Bordeaux & CNRS 351, Cours de la Lib´eration, F-33405 Talence Cedex, France Abstract We consider fragments of first-order logic over finite words. In particu-lar, we deal with first-order logic with a restricted number of variables and with the lower levels of the alternation hierarchy. We use the algebraic ap-proach to show decidability of expressibility within these fragments. As a byproduct, we survey several characterizations of the respective frag-ments. We give complete proofs for all characterizations and we provide all necessary background. Some of the proofs seem to be new and simpler than those which can be found elsewhere. We also give a proof of Simon’s theorem on factorization forests restricted to aperiodic monoids because this is simpler and su

×