このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

マイクロコスモ原理とクリーネ構造

昨日の記事は妄想に近い話でしたね。とりとめのない雑感/思いつき/妄想のたぐいは、積極的に書こうとは思わないのだけど、後でなんかのヒントになる可能性がある事は書き留めておこうかな、と。

十数年前から、クリーネ代数にある種の“違和感”をいだいているんですよ。マイクロコスモ原理により、その違和感の正体がわかるかも知れない。(分からないかも知れない。)

内容:

クリーネ代数

このブログは2005年初頭から始めました。始めた当時から最近まで、散発的にクリーネ代数〈Kleene algebra〉の話題を取り上げています。クリーネ代数は、形式言語やプログラムの意味論に使えます。よく出来た代数系だと思うのですが、一方で、「なんか違う」感がつきまとってました。その“違和感”に言及した記事を3つ挙げれば:

クリーネ代数に対する僕の印象は、「クリーネ代数という代数系は、現象の一部をうまくモデル化しているが、現実的には不十分なことが多い」というものです。不十分な感じに対しては、「より強力なトレース付きデカルト圏に乗り換えればいい」と思っていました。このような印象や対処は、間違っているとは思いませんが、別な見方がありそうです。

別な見方とは、マイクロコスモ原理の観点からの解釈です。マイクロコスモ原理は、次のように主張します。(例えば「マイクロコスモ原理の恐怖」参照)

  • 特定の代数構造は、その代数構造を圏化した構造を備える圏のなかで定義可能である。

クリーネ代数も代数構造なので、次のように言えます。

  • クリーネ代数は、クリーネ代数を圏化した構造を備える圏のなかで定義可能である。

「クリーネ圏」〈Kleene category〉という言葉は、既に定義して使っている人がいますが、ここでは、マイクロコスモ原理で言うところの「クリーネ代数を圏化した構造を備える圏」という(若干曖昧な)意味で使います。

クリーネ代数に関するマイクロコスモ原理を信じるなら、クリーネ代数という構造は、必然的にクリーネ圏という圏論的構造を要求することになります。

クリーネ行列とクリーネ圏

クリーネ代数は、ベキ等な足し算と可換とは限らない掛け算、それとクリーネスターを備えた代数構造(代数系)です。ベキ等な足し算から順序が入り、クリーネ代数は順序半環になります。クリーネ代数を K = (K, +, 0, ・, 1, (-)*, ≦) のように書きましょう。≦ は、足し算 + から導かれた順序です(x ≦ y ⇔ x + y = y)。

クリーネスターを仮定する代わりに、次のように言っても同じです。

  • a, b∈K に対するアフィン線形不動点方程式 x = ax + b は、常に唯一の最小解を持つ。

b = 1 の場合の不動点方程式 x = ax + 1 の解を a* と定義することによりクリーネスターは後から導入できます。

アフィン線形不動点方程式は1次方程式(の特殊形)なので、多次元化したくなります。連立の不動点方程式は次の形になります。

x1 = a1,1x1 + ... + a1,nxn + b1

...

xn = an,1x1 + ... + an,nxn + bn

クリーネ代数Kを係数域とするn×nの正方行列 [aj,i] が出てきます。正方行列に対してもクリーネスターが定義できて、有限オートマトン理論とうまく繋がります。

行列計算をするなら、正方行列に限定する必然性はありません。任意の n, m に対するn×m行列を考えることができます。クリーネ代数K上の行列線形代数が構成できます。行列線形代数は、K上の有限次元自由加群を議論していることになります。単なる線形代数というわけではなくて、アフィン線形不動点方程式/クリーネスターの話も入ります。

クリーネ代数Kを調べるには、K上の行列線形代数は必須です。よって、クリーネ代数を定義して調べることができる環境は、少なくとも行列線形代数を展開できるような環境ということになります。そんな環境は半加法圏〈semiadditive category〉だと言っていいでしょう。次の記事で書いています。

クリーネ圏が在るとすれば、それは半加法圏の構造を備えているはずです。

クリーネ圏とクリーネ構造のタワー

クリーネ代数Kを、K = (K, +, 0, ・, 1, (-)*, ≦) と書きました。これは、足し算(中立元は0)/掛け算(中立元は1)/クリーネスター/順序を持つ構造であることを表しています。クリーネ代数の圏化〈categorification〉を仮にクリーネ圏と呼ぶことにしたのですが、クリーネ圏の構成素〈constituents | stuff〉はまだハッキリしません。クリーネ代数との対応を考えるなら:

代数系
足し算 双積(半加法構造)
掛け算
クリーネスタ
順序

足し算に対応する双積以外は不明です。が、以前に半加法圏を考えたとき、テンソル積〈モノイド積〉も一緒に考えてました。掛け算の対応物は、双積と協調するテンソル積でしょう。

クリーネスターは不動点方程式の解なので、圏論的対応物は(圏論的)不動点オペレーターでしょう。もし、圏がデカルト圏なら、カザネスク/ステファネスク/ハイランド/長谷川の定理より、不動点オペレーターはトレースと同じことになります。ここいらのことは:

半加法構造(双積)とデカルト構造はうまく両立しない(たぶん)ので、カザネスク/ステファネスク/ハイランド/長谷川の定理が使えるのか? は現状よく分かりません。よく分からないながらも、先の対応表を(暫定的に)埋めてみると:

代数系
足し算 双積(半加法構造)
掛け算 テンソル
クリーネスタ 不動点オペレーター
順序 EPペア

EPペアについては、次を参照してください。

今までは「クリーネ代数は不十分だ、代わりにもっと強力な圏を考えよう」というだけの発想でした。クリーネ代数が不十分なのは、その環境を一緒に考えてなかったからかも知れません。「クリーネ代数を圏化する」、あるいは「クリーネ代数達に、適切な棲息環境を見つけてあげる」と考えると、別な景色が見えるかも知れません。

クリーネ代数が定義される環境であるクリーネ圏が定義できたとして、マイクロコスモ原理の無限階層性から、クリーネ圏が定義される環境であるメタ・クリーネ圏が必要になります。実は、半加法圏に関してはメタ圏を考えたことがあります。

マイクロコスモ原理を信じるなら、1-クリーネ構造=クリーネ代数、2-クリーネ構造=クリーネ圏、3-クリーネ構造=メタ・クリーネ圏、… というクリーネ構造の無限タワーがあるはずです。構造の無基底性・多様性から、無限タワーが一意ではなくてたくさんのバリアントがあるかも知れません。

マイクロコスモ原理を信じてみようかと宗旨変えしたのは割と最近(2018年9月13日あたりから)で、その有効性を確信はしてないのですが、クリーネ構造タワーが見つかれば面白いし、マイクロコスモ原理への確信が生まれるかも。