[HoTT]HoTTをこっそり学ぶ その5

今回はHoTT Bookにもどってみる。このテキストは"HoTT Book"でぐぐれば公式でPDFを無料でゲットできる。さて、まだ1章のFoundationを少しずつ読み進めている段階であるが、Introductionを読み返してみるとちょっとわかった部分があったので備忘録として書いておきたい。無論、今の理解の及ぶ範囲なので間違いもあるかもしれないのでそこはご容赦を。


Homotopy type theory
a:Aを"a is a point of the space A"と解釈するのがHoTTの発想である。ただ、そうなるとtype Aとは何ぞや、どうやって位相空間(もどき)をtypeとして実現するのかという点が疑問となる。ただ、どうやらここでの話は前回紹介したidentity type a=_A bをHomotopy equivalenceと解釈するモデルの話のようで、文献の一つとして

Awodey and Warren."Homotopy theoretic models of identity types.",Mathematical Proceedings of the Cambridge Philosophical Society, 146:45-55, 2009
(これもぐぐれば arxiv.orgから無料で入手できる。いい時代になったものである。)

があげられている。これも論文つんどくリストにいれておこう。

spaceとしてのtype Aの構成に関してはどうやら Higher induction typesの話のように思われる。ただ、ここでの説明はなんだかイメージっぽい話で数学ではないし、文献もあがっていない。ぐぐってみると唐突にCoqでの実装の話になってみたり、非常にアヤシイ感じがする。HoTT本の6章がそれにあたっているが、ちらっと覗いてみてもなんじゃらほいな印象。 Quillen のmodel categories と関連がある部分と想像しているが、今のところは保留。


Univalent foundations
最初読んだときはまったく理解不能であったが、今ならすこしは理解できそうである。
universe \mathcal{U}のelementとしてtype AA:\mathcal{U}と表記する。あたかもtypeとそのelementの関係のような表記であるが、実際にそのように、つまり\mathcal{U}をtypeとして解釈するのである。もちろん前回紹介したようにそのままだと理論が矛盾してしまうので、\mathcal{U}はある階層のuniverse \mathcal{U_i}のことであり、添え字を省略していると理解しなくてはならない。さてその時にidentity type A=_{\mathcal{U}} Bを考えてみよう。今度はtype間の同一性を問題にしているわけである。ところが話がややこしいのは、もうひとつまったく別の基準から2つのtype A, Bがequivalentであることを表現している type Equiv(A,B)が与えられているとしているのである。これがあんまり具体的に述べられていないのでなんだかよくわからないわけであるが、実はHoTT本の2.4節にその記述がある。そこでの構成ではEquiv(A,B)はtype A, BがHomotopy equivalentであるというような意味を持っているとのことである(今は深入りはすまい)。さて、テキストではA=_{\mathcal{U}} BId_{\mathcal{U}}(A,B)と書いているが、Id_{\mathcal{U}}(A,B)Equiv(A,B)もtypeなので、

Id_{\mathcal{U}}(A,B)\to Equiv(A,B)

というtype が作れる。identity が成立すればEquivも成立するのでこのtypeはelementを持っているが、Univalent Axiomはこの逆も成立するという公理である。ただ、Introductionでコメントされているように、あるobjectがequvalentだったら実はidenticalであるという意味なので構造がスカスカ(skeletal)である。テキストではこれは逆にidentityが拡張されているのだと述べているが、なんだかなぁである。この同値類を同一視して扱うような発想は以前にもこのブログでアブナイ思想と述べたことがあるが、それは2つのobjectが同値かどうかの判定を行うアルゴリズムが存在しない場合があるためである。HoTTはどうであろうか? この逆\phi: Equiv(A,B) \to Id_{\mathcal{U}}(A,B) とは、proof p \in Equiv(A,B)が与えられたとき、proof \phi(p) \in Id_{\mathcal{U}}(A,B)が構成できるという意味であり、そもそもproof p \in Id_{\mathcal{U}}(A,B)が構成できる時点でアルゴリズムの存在は大丈夫そうである。ただ、Id_{\mathcal{U}}(A,B)が任意のA,Bに対して構成的に判定できるアルゴリズムがあるというのはかなり強い制限である。これは結局Aとかの構成がどうなっているかに依っているのであり、ここは注意が必要と個人的には思っている。