seifert van kampen theorem in homotopy type theory
play

Seifert-van Kampen Theorem in Homotopy Type Theory [ Toronto - PowerPoint PPT Presentation

Seifert-van Kampen Theorem in Homotopy Type Theory [ Toronto version ] Michael Shulman @ U of San Diego * Favonia @ CMU 1 Homotopy Type Theory * Type theory <-> topology - types ~= spaces - terms ~= points - functions ~= continuous


  1. Seifert-van Kampen Theorem in Homotopy Type Theory [ Toronto version ] Michael Shulman @ U of San Diego * Favonia @ CMU 1

  2. Homotopy Type Theory * Type theory <-> topology - types ~= spaces - terms ~= points - functions ~= continuous maps - identifications ~= paths * Non-trivial identifications 2

  3. Iterated Paths a terms b 3

  4. Iterated Paths a terms paths b 3

  5. Iterated Paths a terms paths b 3

  6. Iterated Paths a terms paths paths of paths b 3

  7. Functorial a f(a) f ~> b f(b) A B 4

  8. Subject of Study fundamental groups of pushouts 5

  9. Subject of Study fundamental groups of pushouts "structure of loops" 5

  10. Subject of Study fundamental groups of pushouts "structure of loops" "disjoint union added with bridges" 5

  11. Fundamental Groups (unique) ways to a travel from a to a 6

  12. Fundamental Groups (unique) ways to a travel from a to a here they correspond to integers positive <--> clockwise negative <--> counter zero <--> staying 6

  13. Fundamental Groups (unique) ways to a travel from a to a here they correspond to integers positive <--> clockwise negative <--> counter zero <--> staying Trunc 0 (a == a) ~= Z 6

  14. Fundamental Groups (unique) ways to a travel from a to a much more if a new path is added Trunc 0 (a == a) ~= Z * Z (free product) 7

  15. (Homotopy) Pushouts B A C 8

  16. (Homotopy) Pushouts g(c) B c f(c) A C data Pushout (A B C : Type) (f : C -> A) (g : C -> B) : Type where left : A -> Pushout A B C f g right : B -> Pushout A B C f g glue : (c : C) -> left (f c) == right (g c) 8

  17. (Homotopy) Pushouts B A C ways to travel from to ? 9

  18. (Homotopy) Pushouts B A C 10

  19. (Homotopy) Pushouts B A C alternative paths in A and B 10

  20. Theorem Statement for any A, B, C, f and g, fund.grp(pushout) ~= ?(??(A), ??(B), C) ??: paths between any two points 11

  21. Fundamental Groupoids (unique) ways to a travel from a to b b Trunc 0 (a == b) 12

  22. Theorem Statement for any A, B, C, f and g, fund.groupoid(pushout) ~= ?(fund.groupoid(A), fund.groupoid(B), C) ?: "seqs of alternative elems" 13

  23. Alternative Sequences [p1, p2, ..., pn] induction on both ends: A to A, A to B, B to A, B to B A B 14

  24. Alternative Sequences quotients of = alternative A B A B sequences by killing trivial = identifications A B A B 15

  25. Alternative Sequences [p1, p2, ..., pn] induction on both ends: A to A, A to B, B to A, B to B A B each case is a quotient of alternative sequences 16

  26. Alternative Sequences next: unify four cases into one type family alt.seq 17

  27. Alternative Sequences next: unify four cases into one type family alt.seq show respects for bridges by C. ex: alt.seq a (f c) ~= alt.seq a (g c) ~= 17

  28. alt.seq a (f c) ~= alt.seq a (g c) ~= 18

  29. alt.seq a (f c) ~= alt.seq a (g c) ~= [..., p] |--> [..., p, trivial] |--> 18

  30. alt.seq a (f c) ~= alt.seq a (g c) ~= [..., p] |--> [..., p, trivial] |--> [..., p, trivial] <--| [..., p] <--| 18

  31. Alternative Sequences seq a (f c) ~= seq a (g c) A -> A A -> B seq (f c) a ~= seq (g c) a seq (f c) b ~= seq (g c) b commutes B -> A B -> B seq b (f c) ~= seq b (g c) 19

  32. Theorem for any A, B, C, f and g, fund.groupoid(pushout) ~= alt.seqs(fund.groupoid(A), fund.groupoid(B), C) (zero pages left before the proofs) 20

  33. Recipe of Equivalences * two functions back and forth ("decode" and "encode") * round-trips are identity 21

  34. fund.groupoid -> alt.seqs encode (all paths) Trunc 0 (p == q) -> alt.seqs p q 22

  35. fund.groupoid -> alt.seqs encode (all paths) Trunc 0 (p == q) -> alt.seqs p q path induction: consider only trivial paths (p : Pushout) -> alt.seqs p p 22

  36. fund.groupoid -> alt.seqs encode (all paths) Trunc 0 (p == q) -> alt.seqs p q path induction: consider only trivial paths (p : Pushout) -> alt.seqs p p pushout induction bridges by C A B (next page) A B A B 22

  37. case A A B =? case B A B A B applying the diagonal in coherence square 23

  38. case A A B =? case B A B A B applying the diagonal in coherence square witnessed by the quotient 23

  39. alt.seq -> fund.groupoid decode just compositions! 24

  40. alt.seq -> fund.groupoid decode just compositions! grpd -> seqs -> grpd encode decode again by path induction (similar to "encode") 24

  41. alt.seq -> fund.groupoid decode just compositions! grpd -> seqs -> grpd encode decode again by path induction (similar to "encode") seqs -> grpd -> seqs decode encode induction on sequences lemma: encode(decode[p1,p2,...]) = p1 :: encode(decode[p2,...]) 24

  42. Theorem for any A, B, C, f and g, fund.groupoid(pushout) = alt.seqs(fund.groupoid(A), fund.groupoid(B), C) 25

  43. Final Notes * Refined version: Can focus on just the set of base points of C covering its components. * All mechanized in Agda github.com/HoTT/HoTT-Agda/blob/1.0/Homotopy/VanKampen.agda * Submitted to CSL 2016 www.cs.cmu.edu/~kuenbanh/files/vankampen.pdf 26

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend