このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

形式言語系の例

この話。

ラベル付き遷移系と多項式の例を出す。(多項式インスティチューションについては、多項式インスティチューション - 檜山正幸のキマイラ飼育記 メモ編参照。)まず全体的な対応。

形式言語 ラベル付き遷移系 多項式
指標Σ ラベル集合Σ 変数集合x ={x1, ..., xn}(無限でもいい)
指標の射 ラベル集合間の写像 変数集合間の写像
Mod[Σ] Σラベル付き遷移系 X上のK付値=レコード=点
構文モナドT クリーネスタ 多項式生成関手
Kleisli射 ラベルのマクロ定義 多項式による変数変換
モデルの自然拡張 Σ*への拡張 多項式上の付値

以前に出した多項式インスティチューションでは指標の圏を制限していたが、あまり気にしなくていい。

重要なのはモデルの自然拡張なので、そこを中心に以下にメモ。

ラベル付き遷移系の場合

ラベル集合Σに対して、モデルのアンビアント〈アンビエント〉圏は集合と部分写像の圏だとする。部分写像の圏のt:Σ×S→Sが遷移系を定義する。f:S→SがΣ作用を保つとき、ラベル付き遷移系の射として、ラベル付き遷移系の圏TS(Σ)を定義する。tからt':Σ*×S→Sは自明に定義できる。この拡張を関手と考えて、ξΣ:TS(Σ)→TS(Σ*)とする。

TS(Σ)の形の圏の全体がレルムTSになっている。

ξΣのΣを動かすと、指標の圏(この場合はSet)からレルムTSへの関手の自然変換になる。つまり、Nat(TS(-), TS(-*):SetTS)。TSは遷移系の圏の圏。


φ:Δ→Σ
以下が可換:
TS(Σ)-(ξΣ)→TS(Σ*)
↓TS(φ) ↓TS(φ*)
TS(Δ)-(ξΔ)→TS(Δ*)

多項式の場合

体Kは固定する。変数の集合Xに対して、Mod[X](単なる集合)は、X上で定義されたK値関数。X上のK値関数をK付値*1と呼んで、Val(X)と書くことにする。もちろん、Val(X) = Mod[X]。

P(X)を多項式集合とする。付値v∈Val(X)に対して、付値v':P(X)→K も代入計算として自然に定義できる。これにより、ξX:Val(X)→Val(P(X))を定義する。


φ:Y→X
以下が可換:
Val(X)-(ξX)→Val(P(X))
↓Val(φ) ↓Val(P(φ))
Val(Y)-(ξY)→Val(P(Y))

命題論理の簡易インスティチューションの場合も多項式と同じだろう。

*1:全然別な意味の「付値」もあるが。