【 Functorが意味を捉える】
このセッションでは、 意味を扱う理論で、なぜカテゴリー論が好まれるかについて述べてみたいと思います
結論を先に述べれば、それはカテゴリー論のfunctor という概念が意味の意味を数学的に捉える上で、とても強力なツールとなるからです。
「意味の意味を数学的に捉える?」
「Functorが意味を捉える?」
「意味わからない!」
【「意味がわからない」ということ】
LLMや言語のことを考えていると、意味というと「言葉の意味」のことだと、つい考えてしまいます。
ただ、誰かが「意味がわからない!」と言ったとします。この時、意味がわからないのは、「言葉の意味」とは限りません。趣味にも仕事にも人生にも、いろんなものに意味があります。色々な意味に応じて、「意味がわからない」の意味は多様です。
ここでは、数学の意味について考えてみます。そこでは、「意味がわからない」の意味は、「私には理解できない」という意味に近いものです。
【 小学生は足し算をどう学ぶのか】
次の図は、小学生の算数の教科書からとったものです。265 + 178 = 443 という筆算の学習をしています。
大事なことは、下一桁の 5 + 8 = 13 という計算では、上の桁への「繰り上がり」が発生することです。
さらに、下二桁の 6 + 7 = 13 という計算では、下の桁からの繰り上がりの1も加えること、さらにここでも上の桁への繰り上がりが発生することです。
【 「ルール」で理解する vs. 「たとえ」で理解する】
ここで理解の目標は、繰り上がりを含む三桁の足し算の「ルール」なのですが、それを「一本の鉛筆」「十本の鉛筆の束」「百本の鉛筆の束」という具体的なものの「たとえ」で説明しています。
2+3が5になるのを、「りんご二つと、みかん三つで、全部で五つ」というように、具体的なものをあげて、「たとえ」で説明することができます。数学のルールは、基本的には現実の具体的な関係から抽象されたものですので、理解しやすい具体的関係から、ルールを導入・説明するのは有効です。
「ルール」は、抽象的なものですが、「たとえ」は、ルールの「意味」を理解させます。
【「ルール」と「たとえ」の対応関係】
「ルールの世界」と「たとえの世界」の二つの世界は、お互いに関連しています。「ルールの世界」は「たとえの世界」に、具体的対応物を持ち、「たとえの世界」は「ルールの世界」に抽象的な対応物を持ちます。その構造は同じものです。
【 二つの「世界」の対応関係が、「意味」を与える】
二つの世界に同じ構造を持つという対応関係があり、一方の世界がより具体的で、もう一方の世界がより抽象的な場合、この対応関係は、抽象的な世界に、具体的な「意味」を与えます。あるいは、この対応関係は、抽象的なものに具体的な「解釈」を与えることになります。
ここでの対応関係は、まだ「ルールの世界」と「たとえの世界」の対応をイメージしたものですが、この関係を数学的に整理しましょう。
それが「理論」と「モデル」の対応関係です。
【 「理論」と「モデル」】
ある世界で、基本的な計算規則が与えられているとしましょう。この世界を「理論 Theory」と呼ぶことにします。この「理論」の世界で、ある命題φが成り立つのは、この理論の中で、命題φが証明される場合に限ることにします。
今度は、もう一つ別の世界を考えましょう。この世界では、ある命題φが妥当する(「真」である)ことが、何らかの方法で定義されているとします。こうした世界を「モデル 「Model」と呼びます。
ある理論TとあるモデルMについて、すべての命題φについて、次の関係が成り立つとします。
Tにおいてφは証明可能 → Mにおいてφは真である
この時、TはモデルMを持つ。あるいは、MはTのモデルである。といいます。
【 ゲーデルの完全性定理】
理論とモデルの関係を、「すべてのモデルで真になる命題は、一階の述語論理で証明可能である」という形で初めて述べたのは、ゲーデルです。これをゲーデルの「完全性定理」といいます。
この定理から、「ある理論が無矛盾ならそれはモデルを持つ」ことが導かれます。
モデルの存在定理では、次の「レーベンハイム=スコーレムの定理」が有名である。
「理論が非可算濃度のモデルを持つなら、それは可算モデルも持つ。」
【 LawvereのFunctorial Semantics
】
Lawvereは、ある一般的な条件(Doctrine)のもとで、カテゴリーCからカテゴリーDへの、構造を保存するようなFunctor Fは、Dの中でCのある「解釈」を与えることに気づきました。
そうした条件のもとでは、Cが記号の結合方法を”Syntax”として記述し、Dは、その”Semantics”を与えるという考えることができます。Functor Fは、Syntax → Semantics として働き、Syntaxにそれが成り立つ「意味」を持つ世界の「モデル」を与えます。
【 LawvereのFunctorial Semantic についてBaezのコメント 】
普遍代数は、群、環、格子、ベクトル空間、リー代数など、多くの馴染みのある代数的な構造を同時に扱うための試みとして始まりました。これらの構造の多くには同じ定理が成立します -- では、それらをすべて一度に証明してしまえばいいのでは?実はそれが可能であることがわかったのです!
1963年の有名な論文で、Bill Lawvereは、普遍代数をカテゴリー論を用いて定式化する方法を示しました:
F. William Lawvere, Functorial Semantics of Algebraic Theories.
彼は、普遍代数が有限積を持つ任意のカテゴリーにおいて意味を成す代数的装置(gadget)に関するものだと気づきました。
驚くべきことに、そのようなすべてのカテゴリー𝐶は、そのような装置の「理論」として見なすことができます。もし𝐷が有限積を持つ別のカテゴリーであり、積を保つfunctor𝐹:𝐶→𝐷が存在するなら、そのfunctorは𝐷におけるそのような装置を与えます。これを𝐶の𝐷における「モデル」と呼ぶことができます。
しかし、有限積を持つカテゴリー以外にも、他の種類の代数的装置をサポートする他の種類のカテゴリーが存在します。そのため、1969年ごろ、Lawvereは普遍代数を大幅に一般化しました --その程度は「ある種のカテゴリー」の正確な定義を必要とするほどでした。彼はそのようなものを「Doctrine」と呼びました。
Doctrine :John Baez
−−−−−−----−−−−--−−−−-−−
blog 「Functorが意味を捉える」
https://maruyama097.blogspot.com/2025/08/functor.html
スライド「Functorが意味を捉える」のpdf ファイルhttps://drive.google.com/file/d/1V4fPP-OxedsZIJUaVWNjVLGbEQhagLim/view?usp=sharing
ショートムービー「Functorが意味を捉える」
https://youtu.be/36lBOSRzotM?list=PLQIrJ0f9gMcOZLKdK6IfNYLNClKCYoYWb
コメント
コメントを投稿