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

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

description

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

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

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

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

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

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

本資料は正規表現やオートマトンの知識をほとんど仮定していませんので,構える必要はありません!入門者向けの資料です. あなたがもし論理や代数の素養がある人ならば,正規表現を知らなくても楽しめるはずです.

本資料で紹介する全ての定理に適切な論文・書籍への参照を記しています.本資料は「難しい証明を丁寧に解説する」というより「噛み砕いた解説と多くの具体例で読者を分かった気にさせる」というものです.厳密な定義・証明は本資料末尾の参考文献リストから参照してください.

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

作者

新屋 良磨 (Ryoma Sin’ya)

@sinya8282

東工大博士2年.

学部からずっと正規言語の研究してます.

日本酒と京都が大好きです(写真は京都の建仁寺にて).

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

General Introduction導入

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

正規言語の基本

正規言語とは?

!

正規表現で書ける言語

!

オートマトンで受理できる言語

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

正規言語の基本

正規言語とは?

!

正規表現で書ける言語

!

オートマトンで受理できる言語

例:bの個数が偶数個の文字列

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

正規言語の基本

正規言語とは?

!

正規表現で書ける言語

!

オートマトンで受理できる言語

例:bの個数が偶数個の文字列

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

正規言語の基本

正規言語とは?

!

正規表現で書ける言語

!

オートマトンで受理できる言語

q0 q1b

b

a a

1

例:bの個数が偶数個の文字列

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

正規表現以外の表現法

正規言語(文字列の集合)

{ε, a, aa, bb, aaa, abb, bab, bbb, ...}

0

a

1bb

a

有限オートマトン(計算モデル)

有限モノイド(代数モデル)

単項二階述語論理(論理式)

正規文法(生成文法)

正規表現(表現式)

a*(ba*ba*)*

Profinite words上の開閉集合(トポロジー)

多様な特徴付け

式,文法,計算モデル,代数モデル,論理式,トポロジー...

「普遍的な構造は多様な特徴付けを持つ」

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

正規表現以外の表現法

正規言語(文字列の集合)

{ε, a, aa, bb, aaa, abb, bab, bbb, ...}

0

a

1bb

a

有限オートマトン(計算モデル)

有限モノイド(代数モデル)

単項二階述語論理(論理式)

正規文法(生成文法)

正規表現(表現式)

a*(ba*ba*)*

Profinite words上の開閉集合(トポロジー)

多様な特徴付け

式,文法,計算モデル,代数モデル,論理式,トポロジー...

本日のメインは  表現・代数・論理の三つ.

いざ魅惑のVarietyの世界へ!

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

一,導入� �

二,正規言語と代数� �

三,正規言語族と半群集合の一対一対応� �

四,正規言語と論理� �

五,正規言語と代数と論理の対応� �

六,〆

目録

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

正規言語と代数Regular ⇔ Finite Monoid Recognisable

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

半群とは,モノイドとは

群を一般化した代数構造

結合律 単位律 可逆律

モノイド

半群

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

半群とは,モノイドとは

群を一般化した代数構造

結合律 単位律 可逆律

モノイド

半群

「可逆律はチート」

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

半群とは,モノイドとは

群を一般化した代数構造

結合律 単位律 可逆律

モノイド

半群

「可逆律はチート」

「単位律は飾り」

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

半群とは,モノイドとは

群を一般化した代数構造

結合律 単位律 可逆律

モノイド

半群

「可逆律はチート」

「単位律は飾り」

「うわっ… 私の要求,  高すぎ…?」

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

単位元はかざり

任意の半群に対して,一つの元を追加するだけでモノイドにすることができる(結果は一意).

半群 の構造を含んだモノイド

なので,まぁ,すごく大雑把に言うと(計算的には)半群の議論とモノイドの議論はあまり区別しなくて良い.あと半群の方が語感が良い(重要).

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

群・モノイド・半群(例)

:(0を含まない)自然数と足し算

:(0を含めた)自然数と足し算

:整数と足し算

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

群・モノイド・半群(例)

:(0を含まない)自然数と足し算

:(0を含めた)自然数と足し算

:整数と足し算

これは半群.単位元も逆元もない.

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

群・モノイド・半群(例)

:(0を含まない)自然数と足し算

:(0を含めた)自然数と足し算

:整数と足し算

これは半群.単位元も逆元もない.

これはモノイド.単位元は0.逆元はない.

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

群・モノイド・半群(例)

:(0を含まない)自然数と足し算

:(0を含めた)自然数と足し算

:整数と足し算

これは半群.単位元も逆元もない.

これはモノイド.単位元は0.逆元はない.

これは群.単位元は0で の逆元は .

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

計算の視点から見ると半群とは「並列計算しやすい代数構造(結合律)」

!

この辺の話は僕が昔作った          「AVX2時代の正規表現マッチング~半群でぐんぐん!~」という資料に色々書いてあります(割愛).

半群とは(計算の視点)

http://www.slideshare.net/sinya8282/avx2

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

計算の視点から見ると半群とは「並列計算しやすい代数構造(結合律)」

!

この辺の話は僕が昔作った          「AVX2時代の正規表現マッチング~半群でぐんぐん!~」という資料に色々書いてあります(割愛).

半群とは(計算の視点)

http://www.slideshare.net/sinya8282/avx2

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

文字列=自由モノイドの元=語

有限集合(生成系と呼ぶ) の要素を組合せて作ることができる有限長の語全体の集合を と書く.

!

  は文字列の「連結」操作 (・) によって自然に   無限モノイドとなる.このモノイド を  生成系 上の自由モノイドと呼ぶ.

は長さが0の文字列「空文字列」も含む.空文字列は と表記する.

もちろん単位元は空文字列 .

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

(例)自由モノイド

生成系(文字集合)

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

(例)自由モノイド

生成系(文字集合)

自由モノイド(文字列集合)

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

(例)自由モノイド

生成系(文字集合)

自由モノイド(文字列集合)

二項演算(文字列の連結)

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

(例)自由モノイド

生成系(文字集合)

自由モノイド(文字列集合)

二項演算(文字列の連結)

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

(例)自由モノイド

生成系(文字集合)

自由モノイド(文字列集合)

二項演算(文字列の連結)

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

(例)自由モノイド

生成系(文字集合)

自由モノイド(文字列集合)

二項演算(文字列の連結)

←結合律

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

(例)自由モノイド

単位律 →

生成系(文字集合)

自由モノイド(文字列集合)

二項演算(文字列の連結)

←結合律

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

自由モノイドは全てのモノイドの素となる

任意のモノイド は( を生成する集合上の)自由モノイドの準同型写像の像となる.

「生成系と関係式」で任意のモノイドは記述できる.表示(presentation)と呼ぶ.群も同様.

「どの元をどういう順番で掛けたか」みたいな情報を全て持っている.積の情報の損失が全くない.

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

自由モノイドは全てのモノイドの素となる(例)

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

自由モノイドは全てのモノイドの素となる(例)

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

自由モノイドは全てのモノイドの素となる(例)

モノイドはこのような演算規則を記述した表(積表)で記述できる.

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

自由モノイドは全てのモノイドの素となる(例)

モノイドはこのような演算規則を記述した表(積表)で記述できる.

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

自由モノイドは全てのモノイドの素となる(例)

モノイドはこのような演算規則を記述した表(積表)で記述できる.

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

自由モノイドからの準同型はその生成系の像で一意に定まる

[5]より引用

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

自由モノイドからの準同型はその生成系の像で一意に定まる

つまり,準同型のお約束「演算の整合性を保つ」という制約から,生成系の像をそのまま自然に拡張するしかないということ.

自由モノイドの元 = 文字列 = 生成系の元の並び. 準同型はその元の並び通りにそのまま演算を適用するしかない.

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

自由モノイドからの準同型はその生成系の像で一意に定まる

つまり,準同型のお約束「演算の整合性を保つ」という制約から,生成系の像をそのまま自然に拡張するしかないということ.

自由モノイドの元 = 文字列 = 生成系の元の並び. 準同型はその元の並び通りにそのまま演算を適用するしかない.

(注)[5]では を と書く流儀.

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

正規言語=有限モノイドの逆像

自由モノイド の部分集合 について以下の条件は同値である.

は 上の正規言語

ある有限モノイド と準同型    が存在し, のある部分集合 に対して

[Myhil-Nerode]

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

正規言語=有限モノイドの逆像� � (例) [Myhil-Nerode]

自由モノイド

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

正規言語=有限モノイドの逆像� � (例) [Myhil-Nerode]

自由モノイド

有限モノイドとその部分集合及び準同型.

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

正規言語=有限モノイドの逆像� � (例) [Myhil-Nerode]

自由モノイド

有限モノイドとその部分集合及び準同型.

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

正規言語=有限モノイドの逆像� � (例) [Myhil-Nerode]

自由モノイド

有限モノイドとその部分集合及び準同型.

準同型の逆像は正規言語

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

正規言語=有限モノイドの逆像� � (例) [Myhil-Nerode]

自由モノイド

有限モノイドとその部分集合及び準同型.

準同型の逆像は正規言語

bの個数が偶数個の文字列!:

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

Syntactic Monoid与えられた正規言語 について, を認識する有限モノイドの中で最小のモノを の syntactic monoidと呼び.syntactic monoid は言語に から一意に定まるため,これを   と表す.

Syntactic monoid は対応する言語の最小オートマトン(最小DFA)の遷移モノイドと同型である.

Syntactic monoid や遷移モノイドの説明は省略.

http://www.slideshare.net/sinya8282/avx2「半群でぐんぐん!」を読もう!

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

オートマトン解る人向けの説明

(正規である必要はない)言語 に対してMyhil-Nerode relation と言う次の同値関係が定義できる.

!

有名なMyhil-Nerode の定理は,この同値関係の同値類が有限個ならばかつその時に限り が正規言語であるということを述べている.

その同値類が最小オートマトンの状態に対応.

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

オートマトン解る人向けの説明

Myhil-Nerode relation は文字列を「右側からの連結」で区別した同値関係.そのため右同値関係とも呼ばれる.

Myhil-Nerode relation を「両側からの連結」に拡張した次の同値関係を考えることが出来る.

!

 のsyntactic monid とは, を  で割ったモノ.

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

オートマトン解る人向けの説明

Myhil-Nerode relation は文字列を「右側からの連結」で区別した同値関係.そのため右同値関係とも呼ばれる.

Myhil-Nerode relation を「両側からの連結」に拡張した次の同値関係を考えることが出来る.

!

 のsyntactic monid とは, を  で割ったモノ.

イド

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

章まとめ

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

章まとめ自由モノイド  (文字列集合)から

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

章まとめ自由モノイド  (文字列集合)から

有限モノイドの部分集合の

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

正規言語族と半群集合の� � 一対一対応Eilenberg’s Variety Theorem

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

正規言語と有限モノイドは多対多の関係

一つの有限モノイドは無数の正規言語に対応する.

!

一つの正規言語は無数の有限モノイドに対応する.

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

一つの有限モノイドは無数の� � 正規言語に対応

自由モノイド の部分集合 について以下の条件は同値である.

は 上の正規言語

ある有限モノイド と準同型    が存在し, のある部分集合 に対して

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

一つの有限モノイドは無数の� � 正規言語に対応

自由モノイド の部分集合 について以下の条件は同値である.

は 上の正規言語

ある有限モノイド と準同型    が存在し, のある部分集合 に対して

を固定した場合,単純に考えて 準同型の数 × 部分集合の数分正規言語を は受理する.さらに は自由に動くため,実際は無限に相異なる正規言語を受理する.

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

一つの正規言語は無数の� � 有限モノイドに対応

与えられた正規言語(正規表現やオートマトン)から,その言語を認識するような有限モノイドとその部分集合及び準同型を構成できるか? -> できる!

オートマトンから遷移モノイドを計算する.

最小オートマトンの遷移モノイドを特に syntactic monoid と呼ぶ.

「半群でぐんぐん!」を読めば解かりやすい!http://www.slideshare.net/sinya8282/avx2

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

一つの正規言語は無数の� � 有限モノイドに対応

与えられた正規言語(正規表現やオートマトン)から,その言語を認識するような有限モノイドとその部分集合及び準同型を構成できるか? -> できる!

オートマトンから遷移モノイドを計算する.

最小オートマトンの遷移モノイドを特に syntactic monoid と呼ぶ.

「半群でぐんぐん!」を読めば解かりやすい!http://www.slideshare.net/sinya8282/avx2

本資料では説明を省いたが,正規言語 を受理する(状態数や遷移関係が異なる)オートマトンが無数に存在するため, を受理するモノイド(オートマトンの遷移モノイド)も無限に存在する.

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

正規言語と有限モノイドの対応関係は色々ややこしい

自由モノイド の部分集合Lについて以下の条件は同値である.

は 上の正規言語

ある有限モノイド と準同型    が存在し, のある部分集合 に対して

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

正規言語と有限モノイドの対応関係は色々ややこしい

自由モノイド の部分集合Lについて以下の条件は同値である.

は 上の正規言語

ある有限モノイド と準同型    が存在し, のある部分集合 に対して

準同型とか部分集合とか逆像とか五月蝿い(極端な意見)

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

正規言語と有限モノイドの対応関係は色々ややこしい

自由モノイド の部分集合Lについて以下の条件は同値である.

は 上の正規言語

ある有限モノイド と準同型    が存在し, のある部分集合 に対して

準同型とか部分集合とか逆像とか五月蝿い(極端な意見)

相異なるオートマトンの数以上に相異なるモノイドがあるのも五月蝿い(極端な意見).

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

正規言語と有限モノイドの素直な対応関係が知りたい

多対多よりも素直な一対一対応が欲しい.

モノイドの準同型や部分集合の取り方をいちいち気にしたくない.

同様に,同じ正規言語を受理するオートマトンの違い(遷移モノイドの違い)をいちいち気にしたくない.

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

正規言語と有限モノイドの素直な対応関係が知りたい

多対多よりも素直な一対一対応が欲しい.

モノイドの準同型や部分集合の取り方をいちいち気にしたくない.

同様に,同じ正規言語を受理するオートマトンの違い(遷移モノイドの違い)をいちいち気にしたくない.そんな綺麗な対応ってあるの?

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

個々の対応から集合の対応へ

「個々の正規言語」と「個々の有限モノイド」は多対多の対応.

!

ある「正規言語の族」と「有限モノイドの集合」には綺麗な一対一の対応が存在する!

!

もちろん,ここでいう「族」「集合」はある特別な性質(いくつかの演算に対する閉包性)を持つ.

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

個々の対応から集合の対応へ

「個々の正規言語」と「個々の有限モノイド」は多対多の対応.

!

ある「正規言語の族」と「有限モノイドの集合」には綺麗な一対一の対応が存在する!

!

もちろん,ここでいう「族」「集合」はある特別な性質(いくつかの演算に対する閉包性)を持つ.

正規言語のVariety

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

個々の対応から集合の対応へ

「個々の正規言語」と「個々の有限モノイド」は多対多の対応.

!

ある「正規言語の族」と「有限モノイドの集合」には綺麗な一対一の対応が存在する!

!

もちろん,ここでいう「族」「集合」はある特別な性質(いくつかの演算に対する閉包性)を持つ.

正規言語のVariety 有限モノイドの(pseudo-)Variety

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

正規言語のVariety正規言語の族        ここで は 上の正規言語の集合,が以下の閉包性を満たす時, を varietyと呼ぶ.

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

正規言語のVariety正規言語の族        ここで は 上の正規言語の集合,が以下の閉包性を満たす時, を varietyと呼ぶ.任意の有限文字集合 について, を構成する が和集合・積集合・補集合について閉じている.任意の有限文字集合 について, を構成する  に属する任意の言語 が, に属する任意の文字 での左右両方の quotient について閉じている.任意のモノイド準同型      と言語   について,      となる.

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

正規言語のVariety正規言語の族        ここで は 上の正規言語の集合,が以下の閉包性を満たす時, を varietyと呼ぶ.任意の有限文字集合 について, を構成する が和集合・積集合・補集合について閉じている.任意の有限文字集合 について, を構成する  に属する任意の言語 が, に属する任意の文字 での左右両方の quotient について閉じている.任意のモノイド準同型      と言語   について,      となる.

複雑? こころは後で説明します!

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

正規言語のQuotientQuotient とは言語に属する全ての文字列から指定した接頭辞(接尾辞)を消す操作.

対象文字列が指定された接頭辞(接尾辞)を持たない場合は,文字列そのものを消してしまう.

接頭辞を消す場合は左側quotient,接尾辞を消す場合は右側quotientと呼ぶ.

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

正規言語のQuotient (例)

による左側 quotient :

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

正規言語のQuotient (例)

による左側 quotient :

による右側 quotient :

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

有限モノイドのPseudovariety有限モノイドの空でない集合  が以下の閉包性を満たす時, を pseudovariety と呼ぶ.

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

有限モノイドのPseudovariety有限モノイドの空でない集合  が以下の閉包性を満たす時, を pseudovariety と呼ぶ.

部分モノイドについて閉じている.

準同型(の像)について閉じている.

(有限個の)直積について閉じている.

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

正規言語の全てのvarietyの集合と有限モノイドの全てのpseudovarietyの集合の間には全単射が存在する.   (S. Eillenberg, 1976 [6])

Eilenberg’s Variety Theorem

「Varietyからそれに属す言語のsyntactic monid達で生成されるpseudovarietyに写す写像」と「Pseudovarietyからsyntactic monoidがそれに属す全ての正規言語を集めたvarietyに写す写像」という写像がそれぞれの逆写像になっている.証明は [1] の12章を参照.

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

一対一対応のこゝろ個々の正規言語と個々の有限モノイドはそれぞれ多対多の関係.一対一対応を作るためにはこの多対多の関係を含む程に正規言語・有限モノイドの集合をそれぞれ大きくする必要がある.

凄く大雑把に言うと,(pseudo)varietyに求められている演算は適切に集合を大きくする演算.

この程度の説明で納得するにはオートマトンと有限モノイドをきちんと理解している必要がある. 納得したければ[1]読みましょう!

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

Varietyの例:Star-free 言語Star-free 言語とは,Kleene閉包(スター演算,*)が使えない代わりに補集合演算が使える正規表現で表現することの出来る言語クラスのこと.

!

Star-free 言語が variety となる(閉包性を満たす)ことを確認するのは良い練習問題になるはず(宿題).

!

Star-free言語については「正規表現入門 星の高さを求めて」を読もう!http://www.slideshare.net/sinya8282/ss-32629428

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

Varietyの例:Star-free 言語Star-free 言語とは,Kleene閉包(スター演算,*)が使えない代わりに補集合演算が使える正規表現で表現することの出来る言語クラスのこと.

!

Star-free 言語が variety となる(閉包性を満たす)ことを確認するのは良い練習問題になるはず(宿題).

!

Star-free言語については「正規表現入門 星の高さを求めて」を読もう!http://www.slideshare.net/sinya8282/ss-32629428

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

Star-free 言語に対応する� � Pseudovariety� �

モノイド が            という条件を満たす時 を aperiodic と呼ぶ.「nontrivialな部分群が存在しない」と言う同値な言い換えも.

「全てのaperiodicなモノイドの集合」 がpseudovarietyとなる(閉包性を満たす)ことを確認するのはたやすい(宿題).

(M.P. Schützenberger, 1965 [7])

言語 がstar-free言語である ⇔ の syntactic monoid が aperiodic.

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

Star-free 言語に対応する� � Pseudovariety� �

いわゆるSchützenberge’s theorem.証明は難しい (証明はいくつか存在する. [1] を読むのを薦める).

Star-free ⇒ Aperiodicを示すのに比べて,Aperiodic ⇒ Star-freeを示すのが難しい.

(M.P. Schützenberger, 1965 [7])

言語 がstar-free言語である ⇔ の syntactic monoid が aperiodic.

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

Star-free 言語(例)

と書けるため.ここで は和集合(正規表現でいう所の | ). は「空集合の補集合」と考えればスターは不要だし,差集合演算 も補集合と和集合演算のみで表現することができるため,この正規表現は実質スター演算を一切使わない形で書かれている.

例えば は star-free 言語.なぜなら

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

Star-free 言語(例)

と書けるため.ここで は和集合(正規表現でいう所の | ). は「空集合の補集合」と考えればスターは不要だし,差集合演算 も補集合と和集合演算のみで表現することができるため,この正規表現は実質スター演算を一切使わない形で書かれている.

例えば は star-free 言語.なぜなら

一方,良く似た言語   はstar-freeでない.証明には Schützenberge’s theorem を使う必要がある.

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

章まとめ

一対一対応

正規言語の variety とは

に閉じた言語族のこと.

和集合・積集合・補集合(ブール代数)quotient自由モノイドの準同型の逆像

有限モノイドの pseudovariety とは部分モノイド準同型の像(有限個の)直積

に閉じた有限モノイドの集合のこと.

Eilenberg’s Variety Theorem

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

正規言語と論理Regular ⇔ Monadic Second Order Definable

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

有限長の文字列は有限モデルとして見ることが出来る.

Universe は文字列のインデックス集合(自然数要素).

Vocabulary は

インデックスに対応する文字が である時のみ真となる述語  と

インデックスの大小比較を行う二項関係<.

文字列とはモデルであ�る

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

文字列とはモデルであ�る(例)文字列

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

文字列とはモデルであ�る(例)文字列

モデル

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

文字列とはモデルであ�る(例)文字列

モデル

文字列の長さが6なので, universeは1~6までの集合.

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

文字列とはモデルであ�る(例)文字列

モデル

文字列の長さが6なので, universeは1~6までの集合.

インデックスと文字を紐付ける述語.

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

文字列とはモデルであ�る(例)文字列

モデル

以降,文字列 に対応するモデルを  と書く.

Vocabularyを固定すれば文字列からモデルが一意に定まる.逆方向も述語  がそれぞれuniverseの分割(partition)になっていれば一意に定まる.

文字列の長さが6なので, universeは1~6までの集合.

インデックスと文字を紐付ける述語.

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

論理式で言語を記述する

正規表現が文字列の集合を記述するように,論理式は(自身を充足する)モデルの集合を記述する.

!

つまり,文字列をモデルと見なす先ほどのようなvocabularyを考えれば,論理式は言語の記述に他ならない.

!

論理式 を満たす文字列の集合を   と記述する:

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

論理式で言語を記述する(例)

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

論理式で言語を記述する(例)

 の後ろに が来ないという論理式.

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

論理式で言語を記述する(例)

 の後ろに が来ないという論理式.

とすると    なので

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

論理式で言語を記述する(例)

 の後ろに が来ないという論理式.

とすると    なので

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

論理式で言語を記述する(例)

 の後ろに が来ないという論理式.

とすると    なので

つまり は正規表現でいう所の  に他ならない!

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

正規言語=一階論理?

   という正規表現は一階論理の範囲で記述することが出来た:

!

では全ての正規表現は一階論理の範囲で記述できるのか?またその逆はどうなのか?

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

正規言語=一階論理?

   という正規表現は一階論理の範囲で記述することが出来た:

!

では全ての正規表現は一階論理の範囲で記述できるのか?またその逆はどうなのか?

実は,一階論理で記述できる言語のクラスは正規言語のサブクラスにしかならない.つまり     正規言語を記述するのに一階論理では弱すぎる!

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

正規言語=二階論理?

では単純に二階に上がってみるとどうか?実際,一階で記述できる範囲よりはるかに広い範囲で言語の記述できる.

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

正規言語=二階論理?

では単純に二階に上がってみるとどうか?実際,一階で記述できる範囲よりはるかに広い範囲で言語の記述できる.

しかし,実は,二階論理は正規言語より真に広い言語クラスを記述できる能力を持つ.つまり,     正規言語を記述するのに二階論理では強すぎる!

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

正規言語=二階論理?

では単純に二階に上がってみるとどうか?実際,一階で記述できる範囲よりはるかに広い範囲で言語の記述できる.

しかし,実は,二階論理は正規言語より真に広い言語クラスを記述できる能力を持つ.つまり,     正規言語を記述するのに二階論理では強すぎる!例えば,以下の論理式は非正規言語「 と の出現回数が等しい文字列の集合」を記述している.

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

正規言語=二階論理?

では単純に二階に上がってみるとどうか?実際,一階で記述できる範囲よりはるかに広い範囲で言語の記述できる.

しかし,実は,二階論理は正規言語より真に広い言語クラスを記述できる能力を持つ.つまり,     正規言語を記述するのに二階論理では強すぎる!例えば,以下の論理式は非正規言語「 と の出現回数が等しい文字列の集合」を記述している.

二項関係を量化できるぐらい強いと「全単射の存在」まで記述できる.そのため「集合の元の個数が等しい」のようなモノが書けて正規言語の範囲を超えてしまう.

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

正規言語=二階論理?

では単純に二階に上がってみるとどうか?実際,一階で記述できる範囲よりはるかに広い範囲で言語の記述できる.

しかし,実は,二階論理は正規言語より真に広い言語クラスを記述できる能力を持つ.つまり,     正規言語を記述するのに二階論理では強すぎる!例えば,以下の論理式は非正規言語「 と の出現回数が等しい文字列の集合」を記述している.

二項関係を量化できるぐらい強いと「全単射の存在」まで記述できる.そのため「集合の元の個数が等しい」のようなモノが書けて正規言語の範囲を超えてしまう.

なら単項関係,つまり集合の量化のみに制限した二階論理ならばいけるのでは(直感)?

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

正規言語=単項二階論理!

「正規言語 ⇒ MSO記述可能」は簡単.オートマトンをシミュレートする論理式が素直にMSOで記述することが出来る.

その逆「MSO記述可能⇒正規言語」がやや難しい.MSOとオートマトンの対応がとても面白いので是非[3]の7章の証明を参照されたし.

( J.R. Büchi, 1960 [8])

言語 が正規言語である ⇔ は単項二階論理(Monadic Second Order Logic, MSO)で記述可能である.

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

FO(一階論理)で記述できなくてMSOで記述できる言語,すなわちFOで記述できないとはどういうものか?

!

例えば   はFOで記述できるが,  はMSOでなければ記述できない!

FO vs. MSO

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

FO(一階論理)で記述できなくてMSOで記述できる言語,すなわちFOで記述できないとはどういうものか?

!

例えば   はFOで記述できるが,  はMSOでなければ記述できない!

FO vs. MSO

Star-free 言語

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

FO(一階論理)で記述できなくてMSOで記述できる言語,すなわちFOで記述できないとはどういうものか?

!

例えば   はFOで記述できるが,  はMSOでなければ記述できない!

FO vs. MSO

Star-free 言語 非 star-free 言語

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

Star-free言語=一階論理!

(R. McNaughton and S. Papert, 1971 [9])

言語 がstar-free言語である ⇔ は一階論理で記述可能である.

これも正規言語⇔MSOと同様に「star-free言語 ⇒ FO記述可能」が簡単でその逆を示すのがやや難しい.証明は[3]の7章を参照.

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

章まとめ

論理MSORegular

Star-free FO

言語 Büchi’s theorem

McNaughton-Papert’s theorem

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

正規言語と代数と論理の対応On Small Fragments of First-Order Logic

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

言語と論理の対応

MSORegular

Star-free FO

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

言語と論理の対応

MSORegular

Star-free FO

(M.P. Schützenberger, 1965 [7])

言語 がstar-free言語である ⇔ の syntactic monoid が aperiodic.

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

言語と代数と論理の対応

Regular MSOFinite monoids

AperiodicStar-free FO

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

一階論理は二階論理の真の部分クラスである.一階論理の中にも無限に多くの部分クラスが存在する(論理の階層).論理の階層の研究は古くから盛んに行われており,様々な成果がある.

論理式自体が「命題を記述するためのもの」という純粋なものであるし,一階論理の階層はとても systematic に定められているものが多く,言語の階層等に比べて「その階層がなにを表しているのか」の感覚が掴みやすい(と僕は思っています).

一階論理の階層

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

一階論理の中にも無限に多くの論理の部分クラスがある.

一階論理の階層(例)

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

一階論理の中にも無限に多くの論理の部分クラスがある.

一階論理の階層(例)

使える変数を 個以下に限定したクラス:

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

一階論理の中にも無限に多くの論理の部分クラスがある.

一階論理の階層(例)

使える変数を 個以下に限定したクラス:

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

一階論理の中にも無限に多くの論理の部分クラスがある.

一階論理の階層(例)

使える変数を 個以下に限定したクラス:

存在量化 と全称量化 がたかだか 回しか交代しないクラス:  (存在から始まる場合)と  (全称から始まる場合),さらに

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

一階論理の中にも無限に多くの論理の部分クラスがある.

一階論理の階層(例)

使える変数を 個以下に限定したクラス:

存在量化 と全称量化 がたかだか 回しか交代しないクラス:  (存在から始まる場合)と  (全称から始まる場合),さらに

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

一階論理の中にも無限に多くの論理の部分クラスがある.

一階論理の階層(例)

使える変数を 個以下に限定したクラス:

存在量化 と全称量化 がたかだか 回しか交代しないクラス:  (存在から始まる場合)と  (全称から始まる場合),さらに

  のブール演算による閉包:

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

見事なことに,これら一階論理の階層は正規言語と有限モノイドの(pseudo)varietyに綺麗に対応する.

正規言語と有限モノイドの(pseudo)varietyを感覚的に理解するのはなかなか大変であるが,論理の視点から見ると非常に素直に特徴づけされていると感じるかもしれない.

論理階層からVarietyを眺める

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

見事なことに,これら一階論理の階層は正規言語と有限モノイドの(pseudo)varietyに綺麗に対応する.

正規言語と有限モノイドの(pseudo)varietyを感覚的に理解するのはなかなか大変であるが,論理の視点から見ると非常に素直に特徴づけされていると感じるかもしれない.

論理階層からVarietyを眺める

それでは,言語・代数・論理の美しい対応を観て本講義を終わりにしよう.

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

Regular Finite monoids

言語と代数と論理の対応 [4]Varieties Pseudovarieties Logical fragments

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

Regular Finite monoidsStar-free Aperiodic

言語と代数と論理の対応 [4]Varieties Pseudovarieties Logical fragments

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

Regular Finite monoidsStar-free Aperiodic

言語と代数と論理の対応

Polynomial

[4]Varieties Pseudovarieties Logical fragments

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

Regular Finite monoidsStar-free Aperiodic

言語と代数と論理の対応

PolynomialUnambiguous polynomial DA

[4]Varieties Pseudovarieties Logical fragments

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

Regular Finite monoidsStar-free Aperiodic

言語と代数と論理の対応

PolynomialUnambiguous polynomial DA

Piecewise testable -trivial

[4]Varieties Pseudovarieties Logical fragments

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

Regular Finite monoidsStar-free Aperiodic

言語と代数と論理の対応

PolynomialUnambiguous polynomial DA

Piecewise testable -trivial

Simple polynomial

[4]Varieties Pseudovarieties Logical fragments

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

Regular Finite monoidsStar-free Aperiodic

言語と代数と論理の対応

PolynomialUnambiguous polynomial DA

Piecewise testable -trivial

Simple polynomial

Commutative and

idempotent

[4]Varieties Pseudovarieties Logical fragments

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

〆Conclusion

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

正規言語と有限モノイドと単項二階論理の等価な関係を眺めてきました.

Variety というモノを考えることで,言語と代数と論理が非常に綺麗な対応を見せることをが上手く伝えられたでしょうか?

言語・代数・論理の階層を variety を通して紐付ける研究は現在も盛んに行われています[10].

本資料は variety theory のほんの導入にしかすぎません.証明の詳細や理論のより深い部分に興味が有る方は是非本資料で引用していた文献を参照してください(次ページから紹介).Enjoy 正規言語!

結言

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

参考資料References

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

オートマトンとモノイドの関係がしっかり書かかれている入門書.

半群の研究者が書いた本.

最終章に Eilenberg’s Variety Theorem の証明が載っている.全体的に丁寧で読みやすくVariety theory の入門に最適.

[1] Lawson先生の教科書

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

[2] Pin先生の教科書

Variety theory でいくつも成果を出されている先生の本.

[1] を読み終えて進むのが良い,らしい.

僕も読み始めたばかり.

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

:007'�F#@'�;./���

�����������

���������� �����7���� ��!�����"#�!��� $�%���7�7&'(��������7�7&)(���*��7+,!--

� ���

)�����.��� ������/����.�������� �0��1��!���2���0

!�"���

3������4��5� ���6/�� ����"�,�!��� �0��1��!���2����0�

����������� ������������� � ���������������������,��������-�.�/00��12#34�2 � �������������������� 5���"������ � (�������������������������678�,0-�9::.�;7<�7;0. � ������������������������&�����5���"������

�������=�������������>�����?����������������'����+�������������@� ��1������������!���A��������@� ���������B�����=,C-���������DE���4���� '�����=,�-���������.0E�����������1������������!���AA��������@� ��������������������B�.8E����4���� '�:0E�������������������������&��������"�����"����1��������������������������+�����������"��!������������������������������������������

��������

�������� ������������������������ ������� ������������������������������ �������

� ��� ������������� ����������� �� ����������� ������������������ ������ ����������

����������������������������������������� �!�������������������������������"���������������#�������������������"��������������$����������� %�"���"���&�������������'����������������������&�� �!�������������������������'��������� ���� '��������������"��"��'����!���������������������������������������#����&�������������(�)��*�"����'������� ������������$���'��������� ����� ��������"��'������"��������������������&���������� '��������������"�����������"�����'�����������!����������������'�������������"��'������&��������"��'�%���������!�'������������������������'�����"&���������������������� �����&�������������������������������� �G ���������������������������������������������������+���'����������������������!����������"������������'��������������������������!������� ������$����������"������������������

[3] Libkin先生の教科書有限モデル理論の標準的入門書.

モデル理論とかロジックの知識がない人でも読み始められるはず.とても読みやすい.

正規言語とMSO,star-free言語とFOの対応の証明が載ってる.

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

A Survey on Small Fragments of First-Order

Logic over Finite Words

Volker Diekert

1, Paul Gastin

2, Manfred Kufleitner

1,3

1 FMI, Universitat StuttgartUniversitatsstr. 38, D-70569 Stuttgart, Germany{diekert,kufleitner}@fmi.uni-stuttgart.de

2 LSV, ENS Cachan, CNRS61, Av. du President Wilson, F-94230 Cachan, France

[email protected]

3 LaBRI, Universite de Bordeaux & CNRS351, Cours de la Liberation, 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�cient for our purpose.

Keywords: First-order logic, monoids, factorization forests, piecewise-

testable languages

Preamble

There are many brilliant surveys on formal language theory [36, 41, 48, 85, 86].Quite many surveys cover first-order and monadic second-order definability. Butthere are also nuggets below. There are deep theorems on proper fragments offirst-order definability. The most prominent fragment is FO2; it is the class oflanguages which are defined by first-order sentences which do not use more thantwo names for variables. Although various characterizations are known for thisclass, there seems to be little knowledge in a broad community. A reason forthis is that the proofs are spread over the literature and even in the survey [76]many proofs are referred to the original literature which in turn is sometimesquite di�cult to read.

1

[4] Diekert先生のサーベイ論文

FO以下の論理と言語・半群とのvarietyの対応のサーベイ.本資料を書くきっかけとなった.

「言語と論理と代数の対応」の章で紹介した全対応について丁寧な証明が載っている.素晴らしいサーベイ.

なかなか難しい.

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

[5] Sakarovitch先生の教科書オートマトンの話題が広く深く網羅されている.

傑作.名著.聖典.神本.

重み付きオートマトン,トランスデューサーの理論もてんこもり.

組版が綺麗.

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

[6] S.Eilenberg, Automata, languages and machines, Volume B, Academic Press, (1976).

[7] M.P.Schützenberger, On finite monoids having only trivial subgroups, Information and control 8 (1965), 190–194.

[8] J.R. Büchi. Weak second-order arithmetic and finite automata, Zeitschrift für, Mathematische Logik und Grundlagen der Mathematik, 6 (1960),66–92.

[9] R. McNaughton and S. Papert. Counter-Free Automata. MIT Press, (1971).

[10] P. Weil, From algebra to logic: There and back again the story of a hierarchy, Invited Talk in DLT 2014.

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

宣伝『Coqによる定理証明』正規言語の反復補題が出てくる

有益かつ表紙が可愛い同人誌

ぜひ買いませう

http://shop.comiczin.jp/products/detail.php?product_id=21265、。。