SLIDE 1 1
The Seifert-van Kampen Theorem in Homotopy Type Theory
* Favonia, Carnegie Mellon University, USA Michael Shulman, University of San Diego, USA
[ CSL 2016 ]
SLIDE 2 2
Homotopy Type Theory
Do homotopy theory in type theory
Hopf fibrations, Eilenberg-Mac Lane spaces, homotopy groups of spheres, Mayer-Vietoris sequences, Blakers–Massey... [HoTT book; Cavallo 14; Hou (Favonia), Finster, Licata & Lumsdaine 16; ...]
- 2. Translations to other models
synthetic homotopy theory
SLIDE 3
3
a b
terms
Every type is an ∞-groupoid
SLIDE 4
3
a b
terms paths
Every type is an ∞-groupoid
SLIDE 5
3
a b
terms paths
Every type is an ∞-groupoid
SLIDE 6
3
a b
terms paths paths of paths
Every type is an ∞-groupoid
SLIDE 7
4
a b f(a) f(b) f
A B
Every function is a functor
p q
SLIDE 8
5 Type Space Function Continuous Mapping Term Point Dependent Type Fibration Identification Path Fiber A a : A f : A → B C : A → Type C(a) p : a =A b
Types and Spaces
SLIDE 9
6
[ subject of study ] Fundamental groups of pushouts
SLIDE 10
6
[ subject of study ]
sets of loops at some point
Fundamental groups of pushouts
SLIDE 11
6
[ subject of study ]
sets of loops at some point
Fundamental groups of pushouts
two spaces glued together
SLIDE 12
7
Fundamental Group
a
Ways to travel from a to a
(circle)
SLIDE 13
7
Fundamental Group
a
Ways to travel from a to a
stay (circle)
SLIDE 14
7
Fundamental Group
a
Ways to travel from a to a
...
stay (circle)
SLIDE 15
7
Fundamental Group
a
Ways to travel from a to a
... ...
stay (circle)
SLIDE 16 7
Fundamental Group
a
Ways to travel from a to a Here they correspond to integers
1
2
... ...
stay (circle)
SLIDE 17
8
Fundamental Group
a
Much more if a new path ( ) is added Ways to travel from a to a
SLIDE 18
9
Pushout
A B
two spaces glued together
SLIDE 19
9
Pushout
A B C
two spaces glued together
SLIDE 20
9
Pushout
A B C
c f(c) g(c)
two spaces glued together
SLIDE 21
9
Pushout
A B C
two spaces glued together
SLIDE 22
10 ways to travel from a to a?
A B C a
Pushout
two spaces glued together
SLIDE 23
10 ways to travel from a to a?
A B C a
Pushout
two spaces glued together
alternative paths in A and B!
SLIDE 24
11
Theorem (drafted)
fund-group(pushout) ~= ?(??(A), ??(B), C)
??: paths between any two points
for any A, B, C, f and g,
?: "seqs of alternative elems"
SLIDE 25
12
Fundamental Groupoid
a
Ways to travel from a to b
b
SLIDE 26
13
Theorem (revised)
fund-groupoid(pushout) ~= ?(fund-groupoid(A), fund-groupoid(B), C) ?: "seqs of alternative elems"
for any A, B, C, f and g,
SLIDE 27
14
Alternative Sequences
consider four cases: A to A, A to B, B to A, B to B [p1, p2, ..., pn]
A B
SLIDE 28
15 A B
=
A B A B
=
A B
quotients by squashing superfluous trivial paths
Alternative Sequences
going back immediately = not going at all
SLIDE 29 16
Alternative Sequences
consider four cases: A to A, A to B, B to A, B to B [p1, p2, ..., pn]
A B
each case is a quotient
SLIDE 30 17 next: unify four cases into
Alternative Sequences
SLIDE 31 17 next: unify four cases into
alt-seq a (f c) ~= alt-seq a (g c)
~=
show that it respects bridges, ex:
Alternative Sequences
f(c) g(c)
{ { } }
SLIDE 32
18
Recipe of Equivalences
* two functions back and forth * round-trips are identity
SLIDE 33 19
~=
f(c) g(c)
{ { } }
SLIDE 34 19
[..., p] [..., p, trivial]
~=
f(c) g(c)
{ { } }
[..., p, trivial] [..., p]
SLIDE 35 19
[..., p] [..., p, trivial]
~=
f(c) g(c)
{ { } }
[..., p, trivial] [..., p]
round-trips are identity due to quotient relation (squashing trivials)
SLIDE 36 20
Alternative Sequences
A to A A to B B to A B to B
seq a (f c) ~= seq a (g c) seq b (f c) ~= seq b (g c) seq (f c) a ~= seq (g c) a seq (f c) b ~= seq (g c) b
commutes
SLIDE 37 21
(zero pages left before the proofs)
Theorem (final)
fund-groupoid(pushout) ~= alt-seq(fund-groupoid(A), fund-groupoid(B), C)
for any A, B, C, f and g,
SLIDE 38 22
fund-groupoid -> alt-seqs
(all paths)
encode
SLIDE 39 22
fund-groupoid -> alt-seqs
Path induction principle: consider only trivial paths
(all paths)
encode
For any point p in pushout find an alt-seq from p to p representing the trivial path at p
SLIDE 40 23
fund-groupoid -> alt-seqs
(all paths)
encode
A B
in A
A B
in B next: respecting bridges
Path induction principle: consider only trivial paths
[trivial] [trivial]
SLIDE 41 24
A B A B
in A in B
related by the bridge?
SLIDE 42 25
A to A A to B B to A B to B
seq a (f c) ~= seq a (g c) seq b (f c) ~= seq b (g c) seq (f c) a ~= seq (g c) a seq (f c) b ~= seq (g c) b
commutes
SLIDE 43 26
A B A B A B
(after applying the diagonal in the commuting square)
=?
in A in B witnessed by the quotient relation (squashing trivials) in A
related by the bridge?
SLIDE 44 27
alt-seq -> fund-groupoid
just compositions!
decode
SLIDE 45 27
alt-seq -> fund-groupoid
just compositions!
decode
grpd -> seqs -> grpd
again by path induction (similar to "encode")
decode encode
SLIDE 46 27
alt-seq -> fund-groupoid
just compositions!
decode
grpd -> seqs -> grpd
again by path induction (similar to "encode")
seqs -> grpd -> seqs
induction on sequences
lemma: encode(decode[p1,p2,...]) = p1 :: encode(decode[p2,...])
decode encode encode decode
SLIDE 47
28
Seifert-van Kampen
fund-groupoid(pushout) ~= alt-seq(fund-groupoid(A), fund-groupoid(B), C)
for any A, B, C, f and g,
SLIDE 48 29
Final Notes
* Refined version: Can focus on just the set of base points of C covering its components.
github.com/HoTT/HoTT-Agda/blob/1.0/Homotopy/VanKampen.agda
* All mechanized in Agda