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

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

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

参照用 記事

圏論的ドクトリンの安直な導入

圏論的な意味でのドクトリン〈doctrine〉が必要になることは割とあるんですが、ドクトリンをちゃんと導入するのは大変です。安直に、「ドクトリンとは圏の種別のことだよ」という方針でドクトリンの話をしてみます。

内容:

過去記事

圏論テクニカルタームとして、ドクトリン〈doctrine〉とセオリー〈theory〉はほぼ同義語です(「ほぼ」の理由は後述)。自然数 n (n = 0, 1, 2, 3, ...)に対して n-セオリーがあります。特に n = 2 のケースで「ドクトリン」と呼ぶことが多いようですが、n-ドクトリンを考えれば「n-ドクトリン = n-セオリー」です*1

ドクトリン=セオリーがどんな場面で出てくるかと言うと:

コンピュータッド〈computad〉もドクトリン/セオリーと同義語ですが、区別をする人もいます。微妙な区別が気になる人は、まずコンピュータッドの定義を確認して、次のような“用語のゆらぎ”に気をつければいいでしょう。

  • n-コンピュータッドのことを、n-ドクトリンまたはn-セオリーと呼ぶ場合がある*2
  • n-コンピュータッドから生成されたn-圏のことを、n-ドクトリンまたはn-セオリーと呼ぶ場合がある。
  • n = 2 の場合に限ってドクトリンを使う人がいる。
  • n = 1 の場合に限ってセオリーを使う人がいる。

コンピュータッドに関しては、比較的最近、次の記事を書きました。

圏の種別としてのドクトリン

ドクトリン〈2-セオリー〉が必要な場合、難しい議論は無しにして、「圏」という言葉の前に付く形容詞がドクトリンだと考えればだいたい大丈夫です。「ナントカ圏」のナントカにはどんなものがあったでしょうか。ナントカ部分をブラケットで囲んで強調するとして:

  1. [モノイド]圏
  2. [厳密モノイド]圏
  3. [対称モノイド]圏
  4. [コンパクト閉]圏
  5. [マルコフ]圏
  6. [デカルト]圏

これらのナントカ部分を、英字大文字からはじまり英字小文字で終わるキーワードにします。

  1. Mon モノイド
  2. Str 厳密
  3. Sym 対称
  4. Comp コンパクト閉
  5. Markov マルコフ
  6. Cart デカルト

他に、あまり馴染みがないかも知れませんが:

  1. Dagg ダガー
  2. QMarkov 準マルコフ
  3. Seq シーケント

ダガー圏はダガーオペレーターを持った圏です(詳細は https​://ncatlab.org/nlab/show/dagger+category)。

準マルコフ圏は、マルコフ圏から半デカルト性〈semicartesian {condition | property}〉を除いたものです。

シーケント圏は、僕の造語です。以下の記事で、モノイド圏から簡約多圏を作る構成を紹介しました。これは、モノイド圏の厳密化〈strictification〉になっています。この方法で作られた厳密モノイド圏をシーケント圏と呼ぶことにします*3

ドクトリン達の階層構造

前節で挙げたドクトリン〈圏の種別〉は独立ではなくて階層があります。その階層構造をツリーの形に図示すると次のようになります*4

矢印は特殊な(狭い)種別から一般的な(広い)種別に向かいます。ツリーのルートは形容詞無しを意味し、一番一般的な(一番広い)圏を表します。

この図のドクトリンを形容詞として使う場合、「単一のキーワードだけでよい」とします。ルールをハッキリ言うと:

  • 単一のキーワードだけで、そのキーワードより上位のキーワードを含むと解釈する。

事例を挙げると:

  • [Str] category (厳密圏)で、[Mon] category (モノイド圏)であることを含む。
  • [Sym] catetory (対称圏)で、[Mon] category (モノイド圏)であることを含む。
  • [Comp] category (コンパクト閉圏)で、[Sym] catetory (対称圏)、[Mon] category (モノイド圏)であることを含む。

ただし、通常は厳密圏とは言わず厳密モノイド圏、対称圏とは言わず対称モノイド圏です。なので、次のルールも設けます。

  • あるキーワードに対して、それより上位のキーワードを指定してもよい。上位のキーワードは区切り記号無しで併置する。

例を挙げると:

  • [Str] category = [StrMon] category
  • [Sym] catetory = [SymMon] category
  • [Comp] category = [CompSym] category = [CompSymMon] category

デカルト圏は次のように書いてもいいことになります(書きませんけどね)。

  • [Cart] category = [CartMarkovQMarkovSymMon] category

このような書き方は、事前に階層構造が与えられていることを前提しています。

ドクトリンの複合

前節のドクトリンの階層構造において、上位下位の関係にないドクトリンがあります。例えば:

  • Dagg と Sym
  • Seq と QMarkov
  • Comp と Markov

上位下位の関係にない2つのドクトリンを形容詞として並べるときは空白区切りとします。

  • [Dagg Sym] category
  • [Seq QMarkov] cateogry
  • [Comp Markov] cateogry

3つ以上のドクトリンでも同様で、例えば:

  • [Dagg Seq QMarkov] category

書き方はこれでいいのですが、複数のドクトリンが複合した圏の種別はどう定義されるのでしょう? これは簡単ではなく、自動的に出来るとかの話ではありません。

[Dagg Sym] category を定義するには、ダガー構造と対称モノイド構造が相互に協調するような法則を付け足してやる必要があります。うまく協調するように調整するのは容易じゃないです。

もっとも、なかには容易に複合できる場合もあります。[Str Sym] category (厳密対称圏=厳密対称モノイド圏)の定義は簡単です。

ドクトリンの複合、つまり、複数の形容詞で修飾される圏の具体的な定義法には踏み込みませんが、うまいこと定義ができれば、複数の形容詞による修飾、例えば [Dagg Sym] category (ダガー対称圏=ダガー対称モノイド圏)が使えることになります。

まとめ

「ドクトリンとは、圏の種別を表す形容詞だ」という立場で説明しました。この説明は荒っぽすぎて正確さに欠けますが、それでも役に立ちます。ドクトリン概念が必要となる場面で、この解釈でもなんとかなることは多い気がします。

*1:番号の付け方が人によりずれる可能性はあります。n-ドクトリン = (n + 1)-セオリー とか。

*2:やはり、番号がずれる可能性はあります。

*3:「モノイド多圏」とか単に「多圏」と呼んだこともありますが、本物の多圏ではないので別な呼び名に変えました。

*4:graphviz online のURLは https​://bit.ly/3EHIfy0