Yoneda embeddingと意味の表現
【 言語と意味の関係をカテゴリー論で整理する 】 前回のセッションで、意味のcategory M の形を見てきました。 それは、言語のcategory L のオブジェクト x から、Lの射 x → y によってうつされるすべてのオブジェクト yの集合によって表現されます。 Lのオブジェクトxを、その意味を表すcategory Setのあるオブジェクトに割り当てる functor を L(x, − )で表すと、 L(x, − ) : L → Set と表すことができます。 意味のcategory M のオブジェクトは、この L(x, − ) : Set^L に他なりません。 【 もとの問題意識に戻る】 意味のcategory M の構造は定義できたのですが、それで問題が片付いたわけではありません。 もともとの問題意識は、言語のcategory Lと意味のcategory M を関連づけようということでした。 L → M のように。 Mが定義できたので、これが今度はこうなります。 L → Set^L これを図で表してみましょう。この説明は、スライドをご覧ください。 まず、 言語のcategoryと意味のcategory の関係を図に表してみました。 次に、この図の上で、語 red の意味がどう扱われるのか、具体例で説明しています。言語のcategory L と意味のcategory Set^L との対応は、Lのオブジェクト red をSet^Lのオブジェクト L(red, − )に対応づけるものです。 一般に、Lのオブジェクト x をSet^Lのオブジェクト L(x, − )に割り当てることを「Yoneda Embedding」と言います。 後半では、こうした構成を一般的な視点から説明しようと思います。 【 表現可能なfunctor 】 ここでは、これらの構成のアイデアのもとにあるYoneda lemmaについて、簡単に説明したいと思います。 category Cから集合のcategory Set へのfunctor F : C → Set が存在する時、このF を表現可能なfunctor と呼びます。 category Cの性質が最初はよく分からなくとも、性質のよくわかっているSet へのfunctor を考えると、Cの性質がSetの