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

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

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

参照用 記事

Propositions-As-Typesを曲解しないで理解するために

贅沢なグロタンディーク宇宙とPropositions-As-Types」に対して、老婆心的な補足をします。$`\newcommand{\mrm}[1]{\mathrm{#1} }
\newcommand{\mbf}[1]{\mathbf{#1} }
\newcommand{\In}{\text{ in }}
`$

内容:

「命題」を排除したい!

贅沢なグロタンディーク宇宙とPropositions-As-Types」より:

"logic"はそのまま形容詞的にも使います。logical〈ロジカル〉を使って、「論理的な人」とか「論理的に考える」とかを連想されるとチョット困るからです。言葉の印象による誤解・曲解は非常に多いので、気を使ってます

テクニカルタームとして使う言葉の選択には気を使います。テクニカルタームは定義により約束される符牒(同業者内、仲間内でのみ通用する言葉 →Wikipedia項目)なんだから、なんだっていいじゃないか -- と、そう思うでしょ。僕もそう思っていました。が、実際はそうもいかないのです。

テクニカルタームを見て、国語辞書的意味が最初に連想されることがどうも多いのです。形式的定義がチャンとあると分かっていても、言葉の解釈が国語辞書的意味にどんどん寄っていってしまい、正確な形式的定義からはズレてしまう、という現象を僕はけっこう観察します(サンプルの絶対数は少ないですが)。

また、テクニカルタームが曖昧多義語(オーバーロードされた言葉)だと、曖昧性解決〈オーバーロード解決〉にしくじったときにトンデモナイ誤解・曲解をまねいたりします。

テクニカルタームは次のような方針で選んでいます。

  1. 国語辞書、日常的用法、他分野での用法などが連想されやすい言葉は避ける。当該分野とかけ離れた分野の言葉の借用はむしろリスクが少ない。例えば、型理論で「宇宙」を使っても、天文学用語だとして解釈する人はいないだろう。が、型理論で「インスタンス」や「項」を使うと、既存の知識で解釈されるリスクが高い。
  2. 曖昧多義語はできるだけ使わない。“2つの意味を持つ言葉”くらいはまー許容するとしても、“3つ以上の意味を持つ言葉”は避ける。

この基準から言うと、「命題」は使いたくないよね。

贅沢なグロタンディーク宇宙とPropositions-As-Types」より:

「命題」の意味は曖昧で、少なくとも次の3つの用法があります。

  1. 真偽値
  2. 述語
  3. 論理式

数学の本や論文では、定理の意味で「命題」を使うこともあります; 「命題 2.3 より‥‥」とか。日常的用法としては、「課題」とか「ミッション」の意味で「我々に課せられた命題は‥‥」とか言うし。

上の引用のように、「真偽値」「述語」「論理式」を使って、「命題」を(テクニカルタームとしては)使用禁止にしてしまえば曖昧性は回避できます。が、「真偽値」がクセモノです。

「真」「偽」「値」の三文字から、多くの人は「真〈True〉と偽〈False〉の二つの値からなる二値ブール型」と解釈するでしょう。それは間違いではないです。それでいいんです; 多くの場面では。しかし、Propositions-As-Types について語る文脈においては、真偽値が二値だとは言えません。だからといって、真でも偽でもない中間(シロクロはっきりしない)を認めているわけでもないのです。

ベリティ型とその型宇宙

Propositions-As-Types において使う真偽値に相当するモノをベリティ型〈verity type〉と呼ぶことにします。これは、「贅沢なグロタンディーク宇宙とPropositions-As-Types」で「論理型〈locig type〉」と呼んでいたモノと同じです。「ベリティ」は聞いたことない言葉でしょうから、「論理」に比べて余計な連想を避けられます。

"verity" は英語辞書的に "truth" の(ほぼ)同義語です。"truth value"〈「真偽値」〉から、"truth" → "verity"、"value" → "type" と置き換えて "verity type"〈ベリティ型〉です*1。初見では「意味不明」「何も連想できない」ところがメリットです。

ベリティ型は、実体としてはデータ型と同じです。集合論ベースの意味論では単に集合です。

  ベリティ型 = データ型 = 集合

集合圏 $`\mbf{Set}`$ を使って表すなら:

$`\quad \mbf{Verity} = \mbf{Type} = |\mbf{Set}|`$

贅沢なグロタンディーク宇宙とPropositions-As-Types」で $`\mbf{Logic}`$ と書いていた型宇宙を $`\mbf{Verity}`$ にリネームしました。

贅沢なグロタンディーク宇宙とPropositions-As-Types」では、「実際は同じだけど、用途が違う」と説明しました。宇宙の上部構造である銀河を考えると、用途の違いが実際の違いとなって現れます。

銀河〈型銀河 | {type}? galaxy〉は圏のことです。型理論において、(特に宇宙と一緒に使うとき)適切な構造を備えた圏を銀河と呼ぶ、という用法です(以下の過去記事参照)。

$`\mbf{Logic}`$ → $`\mbf{Verity}`$ とリネームしたので、$`\mbf{Logic}`$ に別な意味を与えます。宇宙 $`\mbf{Verity}`$ の上部構造である銀河を $`\mbf{Logic}`$ とします。次が成立します。

$`\quad \mbf{Verity} = |\mbf{Logic}|`$

銀河〈圏〉 $`\mbf{Logic}`$ は、銀河〈圏〉 $`\mbf{Set}`$ と同じではありません。クラッシュモナドのクライスリ圏が $`\mbf{Logic}`$ です。

$`\quad \mbf{Logic} := \mbf{SetThin} := \mrm{Kl}(\,(\mrm{Crush, \mu, \eta}) \,)`$

クラッシュモナドについては:

モナドやクライスリ圏を知らなくても、圏 $`\mbf{Logic}`$ は次のように定義できます。

  • 対象の集合: $`|\mbf{Logic}| = |\mbf{Set}|`$
  • ホムセット:
    • $`\mbf{Logic}(\emptyset, \emptyset)`$ は単元集合
    • $`X`$ が空でないとき $`\mbf{Logic}(X, \emptyset)`$ は空集合
    • $`Y`$ が空でないとき($`X`$ は空でもよい) $`\mbf{Logic}(X, Y)`$ は単元集合

述語 = ベリティ型ファミリー

Propositions-As-Types の立場・手法で論理を行うときは、$`0, 1`$ の2つの値からなる二元集合 $`\mbf{B} = \{0, 1\}`$ に代えて、ベリティ型からなる宇宙 $`\mbf{Verity}`$ を使います。そうなると、Propositions-As-Types の立場・手法における述語〈predicate〉は次の形になります。

$`\quad p : X \to \mbf{Verity} \In \mbf{SET}\\
\quad \text{where }X \in \mbf{Type}
`$

銀河〈圏〉を使って書けば:

$`\quad p : X \to |\mbf{Logic}| \In \mbf{SET}\\
\quad \text{where }X \in |\mbf{Set}|
`$

圏〈銀河〉としては、$`\mbf{Set}`$ と $`\mbf{Logic}`$ は違いますが、対象の集合は同じなので、次のようにも書けます。

$`\quad p : X \to |\mbf{Set}| \In \mbf{SET}\\
\quad \text{where }X \in |\mbf{Set}|
`$

$`p`$ は述語だと言いましたが、実際には $`p`$ は型ファミリー(集合論的には集合達のインデックス付きファミリー〈indexed family of sets〉)に過ぎません。データ型とベリティ型は、同じ宇宙に住んでますが、異なる銀河に住んでいる型です。データ型が同型であることは、集合のあいだの全単射があることですが、ベリティ型が同型であることは、「空集合かそうでないか」だけで決まります。

データ型とベリティ型は“同じだけど違う”のです。矛盾しているわけではなくて、ある観点からは同じだが、別の観点からは区別できるだけです。同様に、型ファミリーと述語(ベリティ型ファミリー)は“同じだが違う”のです。

同義語・曖昧多義語

型理論のように、非常に多くの観点〈POV | Point Of View | perspective〉から記述・観察ができる対象物では、観点を文脈としてたくさんの同義語・曖昧多義語が発生します。同義語・曖昧多義語をさばいて整理するのはなかなか大変です。事前に多少なりとも整理しておきたいとは思うのですが、それもけっこう大変(愚痴)。

*1:Verity が人名でもあるところがちょっと問題です。Dominic Verity にちなんだなにかに、形容詞としての Verity が付くかも知れません。