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

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

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

参照用 記事

コンパクト閉圏と奇妙な論理

コンパクト閉圏(compact closed categories)やその仲間の圏が、だいぶ利用されるようになってきました。それで、「なんで『コンパクト』なんだろう?」と一度は疑問に感じますよね。トポロジーのコンパクトとは関係しそうにありません。

僕は、コンパクト論理(compact logic)に由来するとどこかで読んで、それでスッカリ納得していました。が、最近、再確認しようと調べたら、コンパクト論理に関する記述が全然見つかりません。という事情で、裏を取れてないのですが、僕のうろ憶えに基づき、コンパクト論理とコンパクト閉圏の関係を書いておきます。

古典論理

論理記号(「論理記号のいろいろ」参照)として次を採用します。

  • ∧ 連言(かつ)
  • ∨ 選言 (または)
  • ¬ 否定(でない)
  • ⊃ 含意 (ならば)
  • T 真

記号「|-」は、証明可能性です。証明可能性に関しては「論理とはなにか?」「さまざまな「ならば」達」で説明してます。

まずは古典論理を考えることにして、次のような法則はお馴染みでしょう。

  • (A∧B)∧C ≡ A∧(B∧C) (∧の結合律)
  • T∧A ≡ A∧T ≡ A (真との連言)
  • ¬¬A ≡ A (二重否定)
  • ¬(A∧B) ≡ ¬A∨¬B (ド・モルガンの法則)
  • A⊃B ≡ ¬A∨B (含意の言い換え)

ここで、記号「≡」は論理的な同値を示し、A ≡ B は、 A |- B と B |- A の両方が成立することだと思えばいいでしょう。あるいは、|- (A⊃B)∧(B⊃A) と解釈しても同じです。後者の場合、表現 A ≡ B を (A⊃B)∧(B⊃A) の略記だと思い、何の仮定もなしに証明できる論理式を“法則”と呼んでいるのだ、とも理解できます。

古典論理の有名なメタ定理に、次の演繹定理(えんえきていり;deduction theorem)があります*1

  • A, B |- C ならば、B |- A⊃C

AとBを仮定することはA∧Bを仮定することだし、A⊃C は ¬A∨C だったので、次のように書いても同じです。

  • A∧B |- C ならば、B |- ¬A∨C

連言と選言が一致した奇妙な論理

僕の記憶によれば、連言∧と選言∨が一致してしまった論理がコンパクト論理です。連言でもあり選言でもある論理演算を記号×で表すことにします。

この論理は、論理としては相当に変なものです。なにしろ、真Tと偽Fも一致してしまいますから。真と偽が一致してしまった論理定数をIと書きます。すると、次は成立します。

  • (A×B)×C ≡ A×(B×C)
  • I×A ≡ A×I ≡ A

二重否定、ド・モルガンの法則、含意の言い換えも成立します(そういう論理を考えるのです)。

  • ¬¬A ≡ A
  • ¬(A×B) ≡ ¬A׬B *2
  • A⊃B ≡ ¬A×B

線形代数への翻訳からコンパクト閉圏へ

コンパクト閉圏の典型例は有限次元ベクトル空間の圏に、双対とテンソル積を考えたものです。コンパクト論理の変数や記号を、次のように線形代数の概念・用語に翻訳します。

コンパクト論理 線形代数
命題A, B ベクトル空間A, B
連言(選言)A×B テンソル積空間 A×B
否定 ¬A 双対空間 A*
含意 A⊃B 線形写像の空間*3 A --o B
論理定数 I スカラー体 K

「≡」はベクトル空間の同型とみなすと、次の法則は有限次元ベクトル空間で妥当なものです。

  • (A×B)×C ≡ A×(B×C)
  • K×A ≡ A×K ≡ A
  • A** ≡ A
  • (A×B)* ≡ A*×B*
  • A --o B ≡ A*×B

演繹定理「A∧B |- C ならば、B |- ¬A∨C 」は、次の形になります。

  • A×B → C という線形写像があれば、B → A*×C という線形写像がある

「証明できる」を「線形写像がある」と解釈するわけです。演繹定理は逆も成立するので、線形写像の集合Lin(A, B)を使って書けば:

  • Lin(A×B, C) と Lin(B, A*×C) は同型

圏論的な言葉で言えば、「A×(-) というテンソル積関手と A*×(-) という双対をテンソル積する関手が随伴になっている」ってことですね。

ベクトル空間のテンソル積を一般的なモノイド積に置き換え、ベクトル空間の双対をジグザグ恒等式を満たすスター関手(「ベル状態、少し分かった、がやっぱりよくは分からん」のまんなかへんを参照)に置き換えればコンパクト閉圏の定義になります。

[追記]線形論理の創始者ジラール(J.-Y. Girard)が、compact linear logic って言葉を確かに使っています。「コンパクト」の意味は、論理記号/論理法則が少なくて簡略化された、ということでしょう。[/追記]

*1:演繹定理が古典論理でしか成立しない、というわけではありません。

*2:×が非可換のケースも考えるなら、¬(A×B) ≡ ¬B׬A とすべきです。

*3:A --o B は指数対象です。BAと同じです。