SlideShare une entreprise Scribd logo
1  sur  16
ホモトピー型理論入門
2016/09/09
H Koba
1
アウトライン
• ホモトピー型理論(HoTT)入門
• 集合論
• 関連する話題・触れなかった話題
• 主にThe HoTT book
(https://homotopytypetheory.org/book/)に沿った説
明を行う
2
ホモトピー型理論(HoTT)入門
• 型を空間としてみなす
• 高階コンストラクタ(点ではなく、点の間の等式を生成する)を持つ型
を作ることができる
• 例: S1: base ∶ 𝑆1, loop: base = base (Section 6.1)
• Interval: 0𝐼: 𝐼, 1𝐼: 𝐼, seg: 0𝐼 = 1𝐼 (Section 6.3)
• 等式を道だと思って、コンストラクタで生成される空間を考える
3
ホモトピー型理論(HoTT)入門
• 型 = 空間について
• 型を亜群(groupoid, 射がすべて可逆な圏)だと思うことができる
• 実際は射の間に2-cell,3-cell,…がある場合があるので、∞-亜群というべき
• 亜群は空間っぽい(対象が点、射が道、2-cellが道の間に張られた膜、…)
(Chapter 2)
• コンストラクタから帰納的に定義する型の上では帰納法や再帰を行
うことができる(Chapter 6)
• 高階コンストラクタの扱いに注意が必要
4
ホモトピー型理論(HoTT)入門
• 型の構成
• Uは型の型(宇宙と呼ばれる)
• 0,1,2,…は型(帰納的に与えることができる)
• ∏, ∑, ×, +, →, ¬などで型から型を作れる
• 例:
• ∏ 𝐴: 𝑈 𝑥: 𝐴 𝑥 = 𝑥は型
• ∏ 𝐴: 𝑈 𝐴 + ¬𝐴は型
• また、道も型になる
• 𝑥, 𝑦: 𝐴のとき、𝑥 = 𝑦は型
• 2個のオブジェクトが定義から等しい(definitionally equal)ときは𝑥 ≡ 𝑦と表記して区
別する
5
ホモトピー型理論(HoTT)入門
• 道帰納法(path induction)について
• 道帰納法(Chapter 2)は以下のような公理:
• ind=: ∏ 𝐷: ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 → 𝑈 (∏ 𝑥: 𝐴 𝐷(𝑥, 𝑥, refl 𝑥)) →
∏ 𝑥, 𝑦: 𝐴 (𝑝: 𝑥 = 𝑦) 𝐷(𝑥, 𝑦, 𝑝)
• ind= 𝐷, 𝑑, 𝑥, 𝑥, refl 𝑥 ≡ 𝑑 (Definitional equality)
• 𝑥, 𝑦に関して全称量化された道𝑝: 𝑥 = 𝑦について命題Pを示したい(型Pの値
を与えたい)ときは、
xとyを固定してpがrefl(道の結合の単位元となる道)だと仮定してよい
• 直観: Aの上を端点を固定せずに自由に動ける道があるとき、その道でパラ
メータ付けされた型P(x, y, p)の値はp=reflのときの値で決まる
• 一見強そうだが、バランスが取れている
6
ホモトピー型理論(HoTT)入門
• 道帰納法で示せるものの例
• ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 → 𝑦 = 𝑥 (逆)
• ∏ 𝑥, 𝑦, 𝑧: 𝐴 𝑥 = 𝑦 → 𝑦 = 𝑧 → 𝑥 = 𝑧 (連結)
• transport: ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 → 𝑃 𝑥 → 𝑃(𝑦)
• ap 𝑓: ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 → (𝑓 𝑥 = 𝑓 𝑦 ) (関数を道に持ち上げる)
• apd 𝑓: ∏ 𝑥, 𝑦: 𝐴 𝑝: 𝑥 = 𝑦 transport 𝑝, 𝑓 𝑥 = 𝑓 𝑦
• 道帰納法で示せないものの例
• ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 (何の上の帰納法?)
• ∏ 𝑝: base = base (𝑝 = reflbase) (2点が固定されているのでダメ)
• ∏ 𝑥: 𝑆1 base = 𝑥 (一見よさそうなのになぜ?)
7
ホモトピー型理論(HoTT)入門
• 高階帰納型の上の帰納法・再帰(Chapter 6)
• 例: 𝑓: 𝑆1 → 𝐴を再帰的に定める
• 𝑓 base : 𝐴を定める
• 𝑓 loop : 𝑓 base = 𝑓(base)を定める
• Aの上に円を描く
• 𝑓: ∏ 𝑥: 𝑆1
𝑃(𝑥)も同様
• ただし依存積なのでloopの扱いが面倒
• 𝑓 base : 𝑃(base)を定める
• 𝑓 loop : transport loop, 𝑓 base = 𝑓(base)を定める
• 詳しくは黒板で…
8
ホモトピー型理論(HoTT)入門
• 高階帰納型の上の帰納法・再帰(Chapter 6)
• 例: 𝑓: 𝐼 → 𝐴を再帰的に定める
• 𝑓 0𝐼 , 𝑓(1𝐼): 𝐴を定める
• 𝑓 seg : 𝑓 0𝐼 = 𝑓(1𝐼)を定める
• Aの上に始点と終点、およびそれらを結ぶ道を描く
• 𝑓: ∏ 𝑥: 𝐼 𝑃(𝑥)も同様
• ただし依存積なのでsegの扱いが面倒
• 𝑓 0𝐼 : 𝑃 0𝐼 , 𝑓 1𝐼 : 𝑃(1𝐼)を定める
• 𝑓 0𝐼 と𝑓(1𝐼)は比較不能なので、transportで持ち上げて
• 𝑓 loop : transport seg, 𝑓 0𝐼 = 𝑓(1𝐼)を定める
• 詳しくは黒板で…
9
ホモトピー型理論(HoTT)入門
• 公理
• HoTTに必要なのはUnivalence(同型な型は等しい、 𝐴 = 𝐵 ≃ (𝐴 ≃
𝐵))
• Funext(関数外延性、(∏ 𝑥: 𝐴 𝑓 𝑥 = 𝑔 𝑥 ) → (𝑓 = 𝑔))
• Axiom of choice (ZFCの選択公理と同値であることが知られている)
• Law of excluded middle(排中律、∏ 𝐴: 𝑈 isProp 𝐴 → 𝐴 + ¬𝐴)
• ここでは紹介にとどめる
10
集合論
• 集合っぽいふるまいをする型
• ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦を満たすAを単なる命題(mere proposition)という
• ∏ 𝑥, 𝑦: 𝐴 𝑝, 𝑞: 𝑥 = 𝑦 𝑝 = 𝑞を満たすAを集合という
• 道空間𝑥 = 𝑦がmere proposition
• 型の構成を使って集合も構成できる
• ∏, ∑, +, ×, →, ¬, ⋯
• ただし、ZF(C)の集合のようなふるまいをするわけではない
• 2つの異なる集合を比較する方法がない
• 𝐴 ∈ 𝐵などの命題を表現できない
11
集合論
• 集合をすべて一つの集合𝑉に埋め込んで、membershipもその上で
定義する
• 累積的階層(cumulative hierarchy)𝑉: (Def. 10.5.1)
• 𝐴: 𝑈, 𝑓: 𝐴 → 𝑉に対してset 𝐴, 𝑓 : 𝑉
• 𝐴, 𝐵: 𝑈, 𝑓: 𝐴 → 𝑉, 𝑔: 𝐵 → 𝑉に対して、𝑓と𝑔の像が同じならset 𝐴, 𝑓 =
set 𝐵, 𝑔
• ∏ 𝑥, 𝑦: 𝑉 𝑝, 𝑞: 𝑥 = 𝑦 𝑝 = 𝑞
• Construction:
• rec0(𝑉): 0 → 𝑉からset 0, rec0 𝑉 : 𝑉 (空集合)
• …
12
集合論
• 累積的階層(cumulative hierarchy)𝑉はZFの公理の一部を構成的にし
たものを満たす(Thm.10.5.8)
• 外延性、空集合、対、無限、和集合、関数集合、∈-帰納法、置換、分出
• 関数集合:集合𝑢, 𝑣に対し𝑣 𝑢は集合
• ∈-帰納法: ∀ 𝑥 ∈ 𝑎 . 𝐶 𝑥 → 𝐶 𝑎 → ∀𝑣. 𝐶(𝑣)
• 分出: 集合𝑎と有界な論理式𝐶(𝑥)に対して、 𝑥 ∈ 𝑎 𝐶(𝑥)}は集合
• 有界: ∀と∃がすべて∀(𝑥 ∈ 𝑎)や∃(𝑦 ∈ 𝑏)の形で出現すること
• ACを認めれば、𝑉はZFCのモデルになる
• 分出公理が有界な論理式以外にも適用できるようになる
• ACからLEMは証明できる
13
関連する話題・触れなかった話題
• 位相幾何学的な観点
• Chapter 6で定義されている型の紹介(球、トーラス、etc.)
• 型を空間としてみなしたときの位相幾何学的な操作 (連結性、ホモトピー
群)(Chapter 7,8)
• 𝑛-type, 𝑛-connected type,…
• 命題/集合、道連結/単連結の一般化
14
関連する話題・触れなかった話題
• 宇宙の階層について
• すべての型に単一の型𝑈がつくと仮定するとパラドックスが発生する
• 𝑈: 𝑈を仮定した型システムではジラール(Girard)のパラドックスが発生するこ
とが知られている
• 宇宙の階層構造𝑈0: 𝑈1: 𝑈2: 𝑈3: ⋯が必要
• 実は𝑉の構成は危ない
• すべての型𝐴: 𝑈についてのコンストラクタがあるので、𝑉には1段階上の宇宙
の型がつく
• Propositional resizingという公理を追加することで多少回避することができる
15
補足
• 道帰納法(path induction) (2.0.1):
• ind=: ∏ 𝐷: ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 → 𝑈 (∏ 𝑥: 𝐴 𝐷(𝑥, 𝑥, refl 𝑥)) →
∏ 𝑥, 𝑦: 𝐴 (𝑝: 𝑥 = 𝑦) 𝐷(𝑥, 𝑦, 𝑝)
• ind= 𝐷, 𝑑, 𝑥, 𝑥, refl 𝑥 ≡ 𝑑
• 基点付き道帰納法(based path induction) (1.12.1)
• ind=
′
: ∏ 𝑎: 𝐴 𝐶: ∏ 𝑥: 𝐴 𝑎 = 𝑥 → 𝑈 𝐶 𝑎, refl 𝑎 →
∏ 𝑥: 𝐴 𝑝: 𝑎 = 𝑥 𝐶(𝑥, 𝑝)
• ind=
′ 𝑎, 𝐶, 𝑐, 𝑎, refl 𝑎 ≡ 𝑐
16

Contenu connexe

Tendances

数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由Hiromi Ishii
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門Eita Sugimoto
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門natrium11321
 
証明プログラミング超入門
証明プログラミング超入門証明プログラミング超入門
証明プログラミング超入門Kyoko Kadowaki
 
Scala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみたScala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみたKazuyuki TAKASE
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章Hakky St
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みMasahiro Sakai
 
「統計的学習理論」第1章
「統計的学習理論」第1章「統計的学習理論」第1章
「統計的学習理論」第1章Kota Matsui
 
グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習Ichigaku Takigawa
 
私を SKI に連れてって
私を SKI に連れてって私を SKI に連れてって
私を SKI に連れてってSusisu
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Preferred Networks
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxpsMITSUNARI Shigeo
 
ブラックボックス最適化とその応用
ブラックボックス最適化とその応用ブラックボックス最適化とその応用
ブラックボックス最適化とその応用gree_tech
 
すごい配列楽しく学ぼう
すごい配列楽しく学ぼうすごい配列楽しく学ぼう
すごい配列楽しく学ぼうxenophobia__
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換AtCoder Inc.
 

Tendances (20)

π計算
π計算π計算
π計算
 
数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
証明プログラミング超入門
証明プログラミング超入門証明プログラミング超入門
証明プログラミング超入門
 
Scala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみたScala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみた
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
「統計的学習理論」第1章
「統計的学習理論」第1章「統計的学習理論」第1章
「統計的学習理論」第1章
 
グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習
 
私を SKI に連れてって
私を SKI に連れてって私を SKI に連れてって
私を SKI に連れてって
 
線形計画法入門
線形計画法入門線形計画法入門
線形計画法入門
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
 
Coqチュートリアル
CoqチュートリアルCoqチュートリアル
Coqチュートリアル
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
 
ブラックボックス最適化とその応用
ブラックボックス最適化とその応用ブラックボックス最適化とその応用
ブラックボックス最適化とその応用
 
すごい配列楽しく学ぼう
すごい配列楽しく学ぼうすごい配列楽しく学ぼう
すごい配列楽しく学ぼう
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
 

Similaire à ホモトピー型理論入門

Yoneda's lemma tutorial
Yoneda's lemma tutorialYoneda's lemma tutorial
Yoneda's lemma tutorialtetsuya_komota
 
Operad and Recognition Principle
Operad and Recognition PrincipleOperad and Recognition Principle
Operad and Recognition PrincipleTatsuki SHIMIZU
 
Haskell勉強会 in ie
Haskell勉強会 in ieHaskell勉強会 in ie
Haskell勉強会 in iemaeken2010
 
Introduction to Topological Data Analysis
Introduction to Topological Data AnalysisIntroduction to Topological Data Analysis
Introduction to Topological Data AnalysisTatsuki SHIMIZU
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜Hiromi Ishii
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節Hakky St
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~Takuya Akiba
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門Kimikazu Kato
 

Similaire à ホモトピー型理論入門 (10)

Yoneda's lemma tutorial
Yoneda's lemma tutorialYoneda's lemma tutorial
Yoneda's lemma tutorial
 
Operad and Recognition Principle
Operad and Recognition PrincipleOperad and Recognition Principle
Operad and Recognition Principle
 
Hott_1
Hott_1Hott_1
Hott_1
 
Haskell勉強会 in ie
Haskell勉強会 in ieHaskell勉強会 in ie
Haskell勉強会 in ie
 
Introduction to Topological Data Analysis
Introduction to Topological Data AnalysisIntroduction to Topological Data Analysis
Introduction to Topological Data Analysis
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
 

ホモトピー型理論入門

  • 2. アウトライン • ホモトピー型理論(HoTT)入門 • 集合論 • 関連する話題・触れなかった話題 • 主にThe HoTT book (https://homotopytypetheory.org/book/)に沿った説 明を行う 2
  • 3. ホモトピー型理論(HoTT)入門 • 型を空間としてみなす • 高階コンストラクタ(点ではなく、点の間の等式を生成する)を持つ型 を作ることができる • 例: S1: base ∶ 𝑆1, loop: base = base (Section 6.1) • Interval: 0𝐼: 𝐼, 1𝐼: 𝐼, seg: 0𝐼 = 1𝐼 (Section 6.3) • 等式を道だと思って、コンストラクタで生成される空間を考える 3
  • 4. ホモトピー型理論(HoTT)入門 • 型 = 空間について • 型を亜群(groupoid, 射がすべて可逆な圏)だと思うことができる • 実際は射の間に2-cell,3-cell,…がある場合があるので、∞-亜群というべき • 亜群は空間っぽい(対象が点、射が道、2-cellが道の間に張られた膜、…) (Chapter 2) • コンストラクタから帰納的に定義する型の上では帰納法や再帰を行 うことができる(Chapter 6) • 高階コンストラクタの扱いに注意が必要 4
  • 5. ホモトピー型理論(HoTT)入門 • 型の構成 • Uは型の型(宇宙と呼ばれる) • 0,1,2,…は型(帰納的に与えることができる) • ∏, ∑, ×, +, →, ¬などで型から型を作れる • 例: • ∏ 𝐴: 𝑈 𝑥: 𝐴 𝑥 = 𝑥は型 • ∏ 𝐴: 𝑈 𝐴 + ¬𝐴は型 • また、道も型になる • 𝑥, 𝑦: 𝐴のとき、𝑥 = 𝑦は型 • 2個のオブジェクトが定義から等しい(definitionally equal)ときは𝑥 ≡ 𝑦と表記して区 別する 5
  • 6. ホモトピー型理論(HoTT)入門 • 道帰納法(path induction)について • 道帰納法(Chapter 2)は以下のような公理: • ind=: ∏ 𝐷: ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 → 𝑈 (∏ 𝑥: 𝐴 𝐷(𝑥, 𝑥, refl 𝑥)) → ∏ 𝑥, 𝑦: 𝐴 (𝑝: 𝑥 = 𝑦) 𝐷(𝑥, 𝑦, 𝑝) • ind= 𝐷, 𝑑, 𝑥, 𝑥, refl 𝑥 ≡ 𝑑 (Definitional equality) • 𝑥, 𝑦に関して全称量化された道𝑝: 𝑥 = 𝑦について命題Pを示したい(型Pの値 を与えたい)ときは、 xとyを固定してpがrefl(道の結合の単位元となる道)だと仮定してよい • 直観: Aの上を端点を固定せずに自由に動ける道があるとき、その道でパラ メータ付けされた型P(x, y, p)の値はp=reflのときの値で決まる • 一見強そうだが、バランスが取れている 6
  • 7. ホモトピー型理論(HoTT)入門 • 道帰納法で示せるものの例 • ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 → 𝑦 = 𝑥 (逆) • ∏ 𝑥, 𝑦, 𝑧: 𝐴 𝑥 = 𝑦 → 𝑦 = 𝑧 → 𝑥 = 𝑧 (連結) • transport: ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 → 𝑃 𝑥 → 𝑃(𝑦) • ap 𝑓: ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 → (𝑓 𝑥 = 𝑓 𝑦 ) (関数を道に持ち上げる) • apd 𝑓: ∏ 𝑥, 𝑦: 𝐴 𝑝: 𝑥 = 𝑦 transport 𝑝, 𝑓 𝑥 = 𝑓 𝑦 • 道帰納法で示せないものの例 • ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 (何の上の帰納法?) • ∏ 𝑝: base = base (𝑝 = reflbase) (2点が固定されているのでダメ) • ∏ 𝑥: 𝑆1 base = 𝑥 (一見よさそうなのになぜ?) 7
  • 8. ホモトピー型理論(HoTT)入門 • 高階帰納型の上の帰納法・再帰(Chapter 6) • 例: 𝑓: 𝑆1 → 𝐴を再帰的に定める • 𝑓 base : 𝐴を定める • 𝑓 loop : 𝑓 base = 𝑓(base)を定める • Aの上に円を描く • 𝑓: ∏ 𝑥: 𝑆1 𝑃(𝑥)も同様 • ただし依存積なのでloopの扱いが面倒 • 𝑓 base : 𝑃(base)を定める • 𝑓 loop : transport loop, 𝑓 base = 𝑓(base)を定める • 詳しくは黒板で… 8
  • 9. ホモトピー型理論(HoTT)入門 • 高階帰納型の上の帰納法・再帰(Chapter 6) • 例: 𝑓: 𝐼 → 𝐴を再帰的に定める • 𝑓 0𝐼 , 𝑓(1𝐼): 𝐴を定める • 𝑓 seg : 𝑓 0𝐼 = 𝑓(1𝐼)を定める • Aの上に始点と終点、およびそれらを結ぶ道を描く • 𝑓: ∏ 𝑥: 𝐼 𝑃(𝑥)も同様 • ただし依存積なのでsegの扱いが面倒 • 𝑓 0𝐼 : 𝑃 0𝐼 , 𝑓 1𝐼 : 𝑃(1𝐼)を定める • 𝑓 0𝐼 と𝑓(1𝐼)は比較不能なので、transportで持ち上げて • 𝑓 loop : transport seg, 𝑓 0𝐼 = 𝑓(1𝐼)を定める • 詳しくは黒板で… 9
  • 10. ホモトピー型理論(HoTT)入門 • 公理 • HoTTに必要なのはUnivalence(同型な型は等しい、 𝐴 = 𝐵 ≃ (𝐴 ≃ 𝐵)) • Funext(関数外延性、(∏ 𝑥: 𝐴 𝑓 𝑥 = 𝑔 𝑥 ) → (𝑓 = 𝑔)) • Axiom of choice (ZFCの選択公理と同値であることが知られている) • Law of excluded middle(排中律、∏ 𝐴: 𝑈 isProp 𝐴 → 𝐴 + ¬𝐴) • ここでは紹介にとどめる 10
  • 11. 集合論 • 集合っぽいふるまいをする型 • ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦を満たすAを単なる命題(mere proposition)という • ∏ 𝑥, 𝑦: 𝐴 𝑝, 𝑞: 𝑥 = 𝑦 𝑝 = 𝑞を満たすAを集合という • 道空間𝑥 = 𝑦がmere proposition • 型の構成を使って集合も構成できる • ∏, ∑, +, ×, →, ¬, ⋯ • ただし、ZF(C)の集合のようなふるまいをするわけではない • 2つの異なる集合を比較する方法がない • 𝐴 ∈ 𝐵などの命題を表現できない 11
  • 12. 集合論 • 集合をすべて一つの集合𝑉に埋め込んで、membershipもその上で 定義する • 累積的階層(cumulative hierarchy)𝑉: (Def. 10.5.1) • 𝐴: 𝑈, 𝑓: 𝐴 → 𝑉に対してset 𝐴, 𝑓 : 𝑉 • 𝐴, 𝐵: 𝑈, 𝑓: 𝐴 → 𝑉, 𝑔: 𝐵 → 𝑉に対して、𝑓と𝑔の像が同じならset 𝐴, 𝑓 = set 𝐵, 𝑔 • ∏ 𝑥, 𝑦: 𝑉 𝑝, 𝑞: 𝑥 = 𝑦 𝑝 = 𝑞 • Construction: • rec0(𝑉): 0 → 𝑉からset 0, rec0 𝑉 : 𝑉 (空集合) • … 12
  • 13. 集合論 • 累積的階層(cumulative hierarchy)𝑉はZFの公理の一部を構成的にし たものを満たす(Thm.10.5.8) • 外延性、空集合、対、無限、和集合、関数集合、∈-帰納法、置換、分出 • 関数集合:集合𝑢, 𝑣に対し𝑣 𝑢は集合 • ∈-帰納法: ∀ 𝑥 ∈ 𝑎 . 𝐶 𝑥 → 𝐶 𝑎 → ∀𝑣. 𝐶(𝑣) • 分出: 集合𝑎と有界な論理式𝐶(𝑥)に対して、 𝑥 ∈ 𝑎 𝐶(𝑥)}は集合 • 有界: ∀と∃がすべて∀(𝑥 ∈ 𝑎)や∃(𝑦 ∈ 𝑏)の形で出現すること • ACを認めれば、𝑉はZFCのモデルになる • 分出公理が有界な論理式以外にも適用できるようになる • ACからLEMは証明できる 13
  • 14. 関連する話題・触れなかった話題 • 位相幾何学的な観点 • Chapter 6で定義されている型の紹介(球、トーラス、etc.) • 型を空間としてみなしたときの位相幾何学的な操作 (連結性、ホモトピー 群)(Chapter 7,8) • 𝑛-type, 𝑛-connected type,… • 命題/集合、道連結/単連結の一般化 14
  • 15. 関連する話題・触れなかった話題 • 宇宙の階層について • すべての型に単一の型𝑈がつくと仮定するとパラドックスが発生する • 𝑈: 𝑈を仮定した型システムではジラール(Girard)のパラドックスが発生するこ とが知られている • 宇宙の階層構造𝑈0: 𝑈1: 𝑈2: 𝑈3: ⋯が必要 • 実は𝑉の構成は危ない • すべての型𝐴: 𝑈についてのコンストラクタがあるので、𝑉には1段階上の宇宙 の型がつく • Propositional resizingという公理を追加することで多少回避することができる 15
  • 16. 補足 • 道帰納法(path induction) (2.0.1): • ind=: ∏ 𝐷: ∏ 𝑥, 𝑦: 𝐴 𝑥 = 𝑦 → 𝑈 (∏ 𝑥: 𝐴 𝐷(𝑥, 𝑥, refl 𝑥)) → ∏ 𝑥, 𝑦: 𝐴 (𝑝: 𝑥 = 𝑦) 𝐷(𝑥, 𝑦, 𝑝) • ind= 𝐷, 𝑑, 𝑥, 𝑥, refl 𝑥 ≡ 𝑑 • 基点付き道帰納法(based path induction) (1.12.1) • ind= ′ : ∏ 𝑎: 𝐴 𝐶: ∏ 𝑥: 𝐴 𝑎 = 𝑥 → 𝑈 𝐶 𝑎, refl 𝑎 → ∏ 𝑥: 𝐴 𝑝: 𝑎 = 𝑥 𝐶(𝑥, 𝑝) • ind= ′ 𝑎, 𝐶, 𝑐, 𝑎, refl 𝑎 ≡ 𝑐 16