“red or blue” の意味を考える
【 “red or blue” の意味を考える】
このセッションでは、これまで見てきたフレーム上で、言語の論理的な構造を表す、"A or B", "A and B" ... といった表現の意味を扱うことができることを見ていきたいと思います。今回扱うのは、"red or blue" という表現の意味です。
【 集合の和”A∪B”と論理の”A or B”】
一対の集合A, Bがあるとします。例えば、
集合A:赤い色を持つすべてのものの集合
(赤い口紅、フランス国旗、一時停止標識など)。
集合B: 青い色を持つすべてのものの集合
(コマドリの卵、フランス国旗、ブルーベリーなど)。
赤か青のどちらかを持つすべてのものの集合は何か?それは別の集合、それらの和 A∪B です。集合 A∪B は、”red or blue”という概念に対応する集合です。
【 集合の和に対応するfunctor-- coproduct 】
集合の和を取ることができるように、functorに対しても同様の操作を行うことができます。
それを「集合の和」と呼ぶ代わりに、”coproduct” という別の名前をつけ、’⊔’ という記号で表します。
”red"と ”blue"を表す2つのfunctorのcoproductは、それらの論理和、つまり ”red or blue"という概念を表すもう1つのfunctorです。
coproductというのは、productの名前が入っていますが、基本的には、和、ユニオン、直和、 ..といった概念の抽象化で、categorical sum と呼ばれることもあります。
coproductの定義を、挙げておきましたが、今回は詳しく説明していません。それについては、後日、limit, colimit といった概念の紹介を予定していますので、その時に触れたいと思います。
【 基本的なアイデア 】
functor L(red, − )は、意味 “red”を表し、functor L(blue, − )は、意味 “blue”を表します。
そこで、”red or blue” の意味を表すfunctor は、 functor L(red, − ) と functor L(blue, − ) のcoproduct L(red, − ) ⊔ L(blue, − )であると考えます。
【 意味のカテゴリー copresheaf で考える】
“red or blue” の意味は、意味のカテゴリー copresheaf Set^L のオブジェクトである functor L(red, − ) ⊔ L(blue, − ) で表されるということです。
--------------------------------
https://drive.google.com/file/d/10ZexNPLEjw9Pa0miC4g0YC9GMR3ilkZ-/view?usp=sharing
https://www.marulabo.net/docs/llm-math2/
https://www.youtube.com/playlist?list=PLQIrJ0f9gMcPmrJ3B0LEXJ_SHPP-ak_hw
コメント
コメントを投稿