文脈自由文法(CFG)から生成される言語と、解釈表現文法(PEG)にて解釈される言語の関係についてのopen problem をみんなで証明してみるオンラインでのバーチャルな会合。参考↓
ノリで参加してみたけど、楽しかったのです。
概要
当初は、PEGのチェッカとかジェネレータとかこさえたりへんちくりんな反例考えてみたり、とかいうまっとうな(?)方向での参加を考えていたのですが、途中でLingrの部屋のログを読み返してて
kinaba
連接 e1 e2 はだいたい e1>>=e2 で、選択 e1|e2 や e1/e2 はだいたい e1 `mplus` e2 で、
リストモナドにすればCFGでMaybeモナドにすればPEGになると思うんですけど
そういう方向でHaskellerやカテゴラーが頑張ってどうにか何か示す未来を期待
とかいう発言から、あーそういやCFGって圏論的にどうなの?とか超脱線気味に思い始め…
歴史の浅いPEGとは違って、どうせ過去に誰か仕事してんだろ、と思っていろいろぐぐってたら、Lambek計算とCFGがequivalentらしい*1事を発見。ぶっちゃけ最終的に、これが自分の一番の成果だったという話も。
なので、そこから急速に方針転換。他の人たちと全く趣を異に、Lambek計算の圏とPEGの圏を比較して何とかしようというアプローチを取ってみた。
でも結論としては、問題の定式化(っぽいもの)をしただけで終わってしまいました。
以下はその痕跡。勢いでやったので、細かいところとか多分いろいろありそうな気はしますが、ひとまず今日の作業メモということで。
圏の定義
基本的に、* が連接、+ が選択 に対応。この2つの間には分配則 X*(Y+Z) → X*Y+X*Z が成り立つ。
各規則は冪によって表現される。終端での受理を便宜的に$で表す。(例えば、A→b は追加で b → $ があるという想定)
圏:Lambek計算で受理できる型の圏
- 対象
- 任意の終端記号∈ΣTと任意の非終端記号∈ΣN
- 任意の対象X, Yに対して:
- : ふつーの直積からsymmetryをとったもの
- : ふつーの直和
- : 左冪
- : 右冪
- : * の単位(左=右)
- 射 恒等射以外
- 自然変換 が適用できるところ
- 自然変換 が適用できるところ
- 同型射、
解きたい問題
かどうか。
where
-
- LC内の任意の対象から$への射の全集合
- PEG内の任意の対象から$への射の全集合
解答
To be developed ハゲワラ