mathematical and computational applications of homotopy ...drl/tmp/iowa.pdfapplications of homotopy...
TRANSCRIPT
![Page 1: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/1.jpg)
Mathematical and ComputationalApplications of
Homotopy Type Theory
Dan Licata
Wesleyan UniversityDepartment of Mathematics and Computer Science
![Page 2: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/2.jpg)
2
![Page 3: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/3.jpg)
Kepler Conjecture (1611)No way to pack equally-sized spheres in spacehas higher density than
3
![Page 4: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/4.jpg)
Hales’ proof (1998)
4
Reduces Kepler Conjecture to proving that a function has a lower bound on 5,000 different configurations of spheres
This requires solving 100,000linear programming problems
1998 submission: 300 pages of math + 50,000 LOC (revised 2006: 15,000 LOC)
![Page 5: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/5.jpg)
Proofs can be hard to check
5
In 2003, after 4 years’ work, 12 referees had checked lots of lemmas,but gave up on verifying the proof
![Page 6: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/6.jpg)
Proofs can be hard to check
5
In 2003, after 4 years’ work, 12 referees had checked lots of lemmas,but gave up on verifying the proof
“This paper has brought about a changein the journal's policy on computer proof.It will no longer attempt to checkthe correctness of computer code.”
![Page 7: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/7.jpg)
6
Proofchecker
Correct!
Incorrect
Logic & ProgrammingLanguage
Computer-checked math
Hales’ proofof Keplerconjecture
![Page 8: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/8.jpg)
7
Proofchecker
Correct!
Incorrect
Logic & ProgrammingLanguage
Your code, and proofs about it
Computer-checked software
![Page 9: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/9.jpg)
Computer-assisted proofs
8
Proof assistant• Interactive proof editor• Automated proofs• Libraries
![Page 10: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/10.jpg)
Kepler proof (85% done)
9
300 pages of math +15,000 lines of code
15 hours to run
350,000 lines ofmath + code
>2 years to run
Informal Computer-checked
![Page 11: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/11.jpg)
Kepler proof (85% done)
9
300 pages of math +15,000 lines of code
15 hours to run
350,000 lines ofmath + code
>2 years to run
Informal Computer-checked
~5-10x longer
![Page 12: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/12.jpg)
Kepler proof (85% done)
9
300 pages of math +15,000 lines of code
15 hours to run
350,000 lines ofmath + code
>2 years to run
Informal Computer-checked
~5-10x longer
~2000x slower
![Page 13: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/13.jpg)
Kepler proof (85% done)
9
300 pages of math +15,000 lines of code
15 hours to run
350,000 lines ofmath + code
>2 years to run
Informal Computer-checked
~5-10x longer
~2000x slower
We have some work to do!
![Page 14: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/14.jpg)
Homotopy Type Theory
10
Proofchecker
Correct!
Incorrect
Yourproof
Logic & ProgrammingLanguage
![Page 15: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/15.jpg)
Homotopy Type Theory
10
Proofchecker
Homotopy Type Theory
Correct!
Incorrect
Yourproof
![Page 16: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/16.jpg)
Type Theory
11
Basis of many successful proof assistants (Agda, Coq, NuPRL, Twelf)
Functional programming language
Unifies programming and proving:types are rich enough to do math/verification
insertsort : list<int> ! list<int>mergesort : list<int> ! list<int>
![Page 17: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/17.jpg)
Propositions as Types
12
1.A theorem is represented by a type2.Proof is represented by a program of that type
∀x. mergesort(x) = insertsort(x)
type of proofs of program equality
![Page 18: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/18.jpg)
Propositions as Types
12
1.A theorem is represented by a type2.Proof is represented by a program of that type
∀x. mergesort(x) = insertsort(x)
type of proofs of program equality
proof :
![Page 19: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/19.jpg)
Propositions as Types
12
1.A theorem is represented by a type2.Proof is represented by a program of that type
∀x. mergesort(x) = insertsort(x)proof :proof x = case x of [] => reflexivity (x :: xs) => ...
proof by case analysis represented by a function defined by cases
![Page 20: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/20.jpg)
Type are sets?
13
type theory <program> : <type> x ∈ S
<prog1> = <prog2> x = y
Traditional view:
set theory
![Page 21: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/21.jpg)
Type are sets?
13
type theory <program> : <type> x ∈ S
<prog1> = <prog2> x = y
In set theory, an equation is a proposition:it holds or it doesn’t; we don’t ask why 1+1=2
Traditional view:
set theory
![Page 22: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/22.jpg)
Type are sets?
13
type theory <program> : <type> x ∈ S
<prog1> = <prog2> x = y
In set theory, an equation is a proposition:it holds or it doesn’t; we don’t ask why 1+1=2
Traditional view:
In (intensional) type theory, an equation hasa non-trivial <proof>
set theory
<proof> :
![Page 23: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/23.jpg)
category theory homotopy theory
type theory
Homotopy Type Theory
14
![Page 24: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/24.jpg)
15
Types are ∞-groupoids
[Hofmann,Streicher,Awodey,Warren,Voevodsky Lumsdaine,Gambino,Garner,van den Berg]
![Page 25: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/25.jpg)
Types are ∞-groupoids
16
type theory <program> : <type> x ∈ S
<prog1> = <prog2> x = y
set theory
<proof> :
![Page 26: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/26.jpg)
Types are ∞-groupoids
16
type theory <program> : <type> x ∈ S
<prog1> = <prog2> x = y
set theory
<proof> : <proof1> = <proof2><2-proof> :
![Page 27: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/27.jpg)
Types are ∞-groupoids
16
type theory <program> : <type> x ∈ S
<prog1> = <prog2> x = y
set theory
<proof> : <proof1> = <proof2><2-proof> : <2-proof1> = <2-proof2><3-proof> :
![Page 28: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/28.jpg)
Types are ∞-groupoids
16
type theory <program> : <type> x ∈ S
<prog1> = <prog2> x = y
set theory
<proof> : <proof1> = <proof2><2-proof> :
...
<2-proof1> = <2-proof2><3-proof> :
![Page 29: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/29.jpg)
Types are ∞-groupoids
16
type theory <program> : <type> x ∈ S
<prog1> = <prog2> x = y
set theory
<proof> : <proof1> = <proof2><2-proof> :
...Proofs, 2-proofs, 3-proofs, … all influence how a program runs
<2-proof1> = <2-proof2><3-proof> :
![Page 30: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/30.jpg)
Types are ∞-groupoids
16
type theory <program> : <type> x ∈ S
<prog1> = <prog2> x = y
set theory
<proof> : <proof1> = <proof2><2-proof> :
...Proofs, 2-proofs, 3-proofs, … all influence how a program runs
<2-proof1> = <2-proof2><3-proof> :
∞-groupoid: each level has a
group(oid) structure, and they interact...
![Page 31: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/31.jpg)
category theory homotopy theory
type theory
Homotopy Type Theory
17
new possibilitiesfor computer-checked proofs
new programsand types
![Page 32: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/32.jpg)
Outline
18
1.Computer-checked homotopy theory
2.Computer-checked software
![Page 33: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/33.jpg)
Outline
19
1.Computer-checked homotopy theory
2.Computer-checked software
![Page 34: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/34.jpg)
Homotopy Theory
20
A branch of topology,the study of spaces and continuous deformations
[image from wikipedia]
![Page 35: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/35.jpg)
Homotopy Theory
20
A branch of topology,the study of spaces and continuous deformations
[image from wikipedia]
![Page 36: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/36.jpg)
Homotopy
21
Deformation of one path into another
α
β
![Page 37: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/37.jpg)
Homotopy
21
Deformation of one path into another
[image from wikipedia]
α
β
![Page 38: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/38.jpg)
Homotopy
21
Deformation of one path into another
[image from wikipedia]
α
β
![Page 39: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/39.jpg)
Homotopy
21
Deformation of one path into another
[image from wikipedia]
α
β
= 2-dimensional path between paths
![Page 40: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/40.jpg)
Homotopy
21
Deformation of one path into another
[image from wikipedia]
α
β
= 2-dimensional path between paths
α = β<2-proof> :
![Page 41: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/41.jpg)
Homotopy
21
Deformation of one path into another
[image from wikipedia]
α
β
= 2-dimensional path between paths
Homotopy theory is the study of spaces by way of their paths, homotopies, homotopies between homotopies, ….
α = β<2-proof> :
![Page 42: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/42.jpg)
Synthetic vs Analytic
22
Synthetic geometry (Euclid) Analytic geometry(Descartes)
[image from wikipedia]
![Page 43: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/43.jpg)
Synthetic vs Analytic
22
Synthetic geometry (Euclid) Analytic geometry(Descartes)
[image from wikipedia]
Classical homotopy theory is analytic:a space is a set of points equipped with a topologya path is a set of points, given continuously
![Page 44: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/44.jpg)
Synthetic homotopy theory
23
type theory
<program> : <type><prog1> = <prog2>
homotopy theory
<proof> : <proof1> = <proof2><2-proof> :
...pointspaths
homotopies
...
space <type>
![Page 45: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/45.jpg)
Synthetic homotopy theory
23
type theory
<program> : <type><prog1> = <prog2>
homotopy theory
<proof> : <proof1> = <proof2><2-proof> :
...pointspaths
homotopies
...
space <type>
A path is not a set of points; it is a primitive notion
![Page 46: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/46.jpg)
Spaces as types
24
M N
α
![Page 47: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/47.jpg)
Spaces as types
24
M N
α
a space is a type A
![Page 48: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/48.jpg)
Spaces as types
24
M N
α
points are programsM:A
a space is a type A
![Page 49: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/49.jpg)
Spaces as types
24
M N
α
points are programsM:A
a space is a type A
paths areproofs of equalityα : M =A N
![Page 50: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/50.jpg)
Spaces as types
24
M N
α
points are programsM:A
a space is a type A
paths areproofs of equalityα : M =A N
path operations
![Page 51: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/51.jpg)
Spaces as types
24
M N
αid
points are programsM:A
a space is a type A
paths areproofs of equalityα : M =A N
path operationsid : M = M (refl)
![Page 52: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/52.jpg)
Spaces as types
24
M N
αidα
points are programsM:A
a space is a type A
paths areproofs of equalityα : M =A N
path operationsid : M = M (refl)α-1 : N = M (sym)-1
![Page 53: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/53.jpg)
Spaces as types
24
M N
α
P
β
idα
points are programsM:A
a space is a type A
paths areproofs of equalityα : M =A N
path operationsid : M = M (refl)α-1 : N = M (sym)β o α : M = P (trans)
-1
![Page 54: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/54.jpg)
Spaces as types
24
M N
α
P
β
idα
points are programsM:A
a space is a type A
paths areproofs of equalityα : M =A N
path operationsid : M = M (refl)α-1 : N = M (sym)β o α : M = P (trans)
-1
homotopiesid o p = pp-1 o p = idr o (q o p) = (r o q) o p
![Page 55: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/55.jpg)
Homotopy in HoTT
25
π1(S1) = ℤ
πk<n(Sn) = 0
π2(S2) = ℤ Hopf fibration
π3(S2) = ℤ
πn(Sn) = ℤ
Freudenthal
π4(S3) = ℤ?
James Construction
K(G,n)
Blakers-Massey
Van Kampen
Covering spaces
Whiteheadfor n-typesCohomology
axioms
[Brunerie, Finster, Hou, Licata, Lumsdaine, Shulman]
![Page 56: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/56.jpg)
Homotopy in HoTT
25
π1(S1) = ℤ
πk<n(Sn) = 0
π2(S2) = ℤ Hopf fibration
π3(S2) = ℤ
πn(Sn) = ℤ
Freudenthal
π4(S3) = ℤ?
James Construction
K(G,n)
Blakers-Massey
Van Kampen
Covering spaces
Whiteheadfor n-typesCohomology
axioms
[Brunerie, Finster, Hou, Licata, Lumsdaine, Shulman]
![Page 57: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/57.jpg)
Homotopy Groups
26
Homotopy groups of a space X:π1(X) is fundamental group (group of loops)π2(X) is group of homotopies (2-dimensional loops) π3(X) is group of 3-dimensional loops…
![Page 58: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/58.jpg)
27
=|
Telling spaces apart
![Page 59: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/59.jpg)
27
=|
fundamental groupis non-trivial (ℤ × ℤ)
fundamental groupis trivial
Telling spaces apart
![Page 60: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/60.jpg)
The Circle
28
Circle S1 is a higher inductive type generated by loop
base
![Page 61: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/61.jpg)
The Circle
28
Circle S1 is a higher inductive type generated by
base : S1loop : base = base
loop
base
![Page 62: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/62.jpg)
The Circle
28
Circle S1 is a higher inductive type generated by
base : S1loop : base = base
loop
basepoint
![Page 63: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/63.jpg)
The Circle
28
Circle S1 is a higher inductive type generated by
base : S1loop : base = base
loop
basepointpath
![Page 64: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/64.jpg)
The Circle
28
Circle S1 is a higher inductive type generated by
base : S1loop : base = base
loop
base
Free type: equipped with structure
idloop-1
pointpath
inv : loop o loop-1 = ididloop-1loop o loop
...
![Page 65: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/65.jpg)
The Circle
29
Circle recursion: function S1 ! X determined by
base’ : Xloop’ : base’ = base’
loop
base
loop’base’
![Page 66: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/66.jpg)
The Circle
29
Circle recursion: function S1 ! X determined by
base’ : Xloop’ : base’ = base’
Circle induction: To prove a predicate P for all points on the circle, suffices to prove P(base),continuously in the loop
loop
base
loop’base’
![Page 67: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/67.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
loop
base
![Page 68: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/68.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
id
loop
base
![Page 69: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/69.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
idloop
loop
base
![Page 70: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/70.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
idlooploop-1
loop
base
![Page 71: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/71.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
idlooploop-1loop o loop
loop
base
![Page 72: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/72.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
idlooploop-1loop o looploop-1 o loop-1
loop
base
![Page 73: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/73.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
idlooploop-1loop o looploop-1 o loop-1loop o loop-1
loop
base
![Page 74: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/74.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
= id
idlooploop-1loop o looploop-1 o loop-1loop o loop-1
loop
base
![Page 75: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/75.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
= id
idlooploop-1loop o looploop-1 o loop-1loop o loop-1
0
loop
base
![Page 76: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/76.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
= id
idlooploop-1loop o looploop-1 o loop-1loop o loop-1
01
loop
base
![Page 77: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/77.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
= id
idlooploop-1loop o looploop-1 o loop-1loop o loop-1
01-1
loop
base
![Page 78: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/78.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
= id
idlooploop-1loop o looploop-1 o loop-1loop o loop-1
01-12
loop
base
![Page 79: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/79.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
= id
idlooploop-1loop o looploop-1 o loop-1loop o loop-1
01-12-2
loop
base
![Page 80: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/80.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
= id
idlooploop-1loop o looploop-1 o loop-1loop o loop-1
01-12-20
loop
base
![Page 81: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/81.jpg)
Fundamental group of circle
30
How many different loops are there on the circle, up to homotopy?
= id
idlooploop-1loop o looploop-1 o loop-1loop o loop-1
01-12-20
integers are “codes”for paths on the circle
loop
base
![Page 82: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/82.jpg)
Fundamental group of circle
31
Definition. Ω(S1) is the type of loops at base i.e. the type (base =S1 base)
![Page 83: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/83.jpg)
Fundamental group of circle
31
Definition. Ω(S1) is the type of loops at base i.e. the type (base =S1 base) Theorem. Ω(S1) is equivalent to ℤ, by a map that sends o to +
![Page 84: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/84.jpg)
Fundamental group of circle
31
Corollary: Fundamental group of the circle is isomorphic to ℤ
Definition. Ω(S1) is the type of loops at base i.e. the type (base =S1 base) Theorem. Ω(S1) is equivalent to ℤ, by a map that sends o to +
![Page 85: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/85.jpg)
Fundamental group of circle
31
Corollary: Fundamental group of the circle is isomorphic to ℤ
Definition. Ω(S1) is the type of loops at base i.e. the type (base =S1 base) Theorem. Ω(S1) is equivalent to ℤ, by a map that sends o to +
0-truncation (set of connected components)of Ω(S1)
![Page 86: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/86.jpg)
Fundamental group of circle
32
Theorem. Ω(S1) is equivalent to ℤProof (Shulman, L.): two mutually inverse functions
wind : Ω(S1) ! ℤ
loop- : ℤ ! Ω(S1)
![Page 87: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/87.jpg)
Fundamental group of circle
32
Theorem. Ω(S1) is equivalent to ℤProof (Shulman, L.): two mutually inverse functions
wind : Ω(S1) ! ℤ
loop0 = idloop+n = loop o loop o … loop (n times)loop-n = loop-1 o loop-1 o … loop-1 (n times)
loop- : ℤ ! Ω(S1)
![Page 88: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/88.jpg)
Universal Cover
33
wind : Ω(S1) ! ℤdefined by lifting a loopto the cover, and giving the other endpoint of 0
![Page 89: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/89.jpg)
Universal Cover
33
wind : Ω(S1) ! ℤdefined by lifting a loopto the cover, and giving the other endpoint of 0
lifting is functorial
![Page 90: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/90.jpg)
Universal Cover
33
wind : Ω(S1) ! ℤdefined by lifting a loopto the cover, and giving the other endpoint of 0
lifting loop adds 1lifting is functorial
![Page 91: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/91.jpg)
Universal Cover
33
wind : Ω(S1) ! ℤdefined by lifting a loopto the cover, and giving the other endpoint of 0
lifting loop adds 1lifting loop-1 subtracts 1
lifting is functorial
![Page 92: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/92.jpg)
Universal Cover
33
wind : Ω(S1) ! ℤdefined by lifting a loopto the cover, and giving the other endpoint of 0
lifting loop adds 1lifting loop-1 subtracts 1
Example: wind(loop o loop-1)= 0 + 1 - 1= 0
lifting is functorial
![Page 93: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/93.jpg)
Universal Cover
34
![Page 94: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/94.jpg)
Universal Cover
34
Cover : S1 ! TypeCover(base) := ℤCover1(loop) := ua(successor) : ℤ = ℤ
![Page 95: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/95.jpg)
Universal Cover
34
Cover : S1 ! TypeCover(base) := ℤCover1(loop) := ua(successor) : ℤ = ℤ
defined by circle recursion
![Page 96: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/96.jpg)
Universal Cover
34
Cover : S1 ! TypeCover(base) := ℤCover1(loop) := ua(successor) : ℤ = ℤ
interpret loop as “add 1” bijection
defined by circle recursion
![Page 97: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/97.jpg)
Universal Cover
34
Cover : S1 ! TypeCover(base) := ℤCover1(loop) := ua(successor) : ℤ = ℤ
interpret loop as “add 1” bijection
Voevodsky’sunivalence axiom
defined by circle recursion
![Page 98: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/98.jpg)
Winding number
35
wind : Ω(S1) ! ℤwind(p) = transportCover(p,0) lift p to cover,
starting at 0
![Page 99: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/99.jpg)
Winding number
35
wind : Ω(S1) ! ℤwind(p) = transportCover(p,0)
wind(loop-1 o loop)
lift p to cover, starting at 0
![Page 100: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/100.jpg)
Winding number
35
wind : Ω(S1) ! ℤwind(p) = transportCover(p,0)
wind(loop-1 o loop)
lift p to cover, starting at 0
= transportCover(loop-1 o loop, 0)
![Page 101: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/101.jpg)
Winding number
35
wind : Ω(S1) ! ℤwind(p) = transportCover(p,0)
wind(loop-1 o loop)
lift p to cover, starting at 0
= transportCover(loop-1 o loop, 0)= transportCover(loop-1, transportCover(loop,0))
![Page 102: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/102.jpg)
Winding number
35
wind : Ω(S1) ! ℤwind(p) = transportCover(p,0)
wind(loop-1 o loop)
lift p to cover, starting at 0
= transportCover(loop-1 o loop, 0)= transportCover(loop-1, transportCover(loop,0))= transportCover(loop-1, 1)
![Page 103: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/103.jpg)
Winding number
35
wind : Ω(S1) ! ℤwind(p) = transportCover(p,0)
wind(loop-1 o loop)
lift p to cover, starting at 0
= transportCover(loop-1 o loop, 0)= transportCover(loop-1, transportCover(loop,0))= transportCover(loop-1, 1)= 0
![Page 104: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/104.jpg)
36
The HoTT book Computer-checkedFundamental group of the circle
![Page 105: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/105.jpg)
Outline
37
1.Computer-checked homotopy theory
2.Computer-checked software
![Page 106: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/106.jpg)
Patches
38
abc
diff2c2< b---> d
adc
=
Patch
Version controlCollaborative editing
![Page 107: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/107.jpg)
39
abc
id abc
![Page 108: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/108.jpg)
39
abc
id abc
abc
p adc
q ade
![Page 109: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/109.jpg)
39
abc
id abc
abc
p adc
q ade
q o p
![Page 110: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/110.jpg)
39
abc
id abc
abc
p adc
q ade
q o p
abc
padc
![Page 111: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/111.jpg)
39
abc
id abc
abc
p adc
q ade
q o p
abc
padc
!p
![Page 112: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/112.jpg)
39
abc
id abc
abc
p adc
q ade
q o p
abc
padc
!p
undo/rollback
![Page 113: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/113.jpg)
39
abc
id abc
abc
p adc
q ade
q o p
abc
padc
!p
undo/rollback
Patches are paths
![Page 114: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/114.jpg)
Merging
40
abc
p
adc
q
abe
![Page 115: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/115.jpg)
Merging
40
abc
p
adc
q
abe
ade
q’ p’
![Page 116: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/116.jpg)
Merging
40
abc
p
adc
q
abe
ade
q’ p’
p=b↔d at 1q=c↔e at 2
![Page 117: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/117.jpg)
Merging
40
abc
p
adc
q
abe
ade
q’ p’
p=b↔d at 1q=c↔e at 2
p’=pq’=q
![Page 118: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/118.jpg)
Merging
40
abc
p
adc
q
abe
ade
q’ p’
=
p=b↔d at 1q=c↔e at 2
p’=pq’=q
![Page 119: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/119.jpg)
Merging
41
merge : (p q : Patch) ! Σq’,p’:Patch. Maybe(q’ o p = p’ o q)
![Page 120: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/120.jpg)
Merging
41
merge : (p q : Patch) ! Σq’,p’:Patch. Maybe(q’ o p = p’ o q)
Equational theory of patches = paths between paths
![Page 121: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/121.jpg)
Basic Patches
42
f i b r a t i o n
f i b f i a
a ↔ b @ 2
a ↔ b @ 2
![Page 122: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/122.jpg)
Basic Patches
42
“Repository” is a char vector of length n
f i b r a t i o n
Basic patch is a ↔ b @ i where i<n
f i b f i a
a ↔ b @ 2
a ↔ b @ 2
![Page 123: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/123.jpg)
Patches as a HIT
43
Generator forequality of equality
Repos:Type
![Page 124: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/124.jpg)
Patches as a HIT
43
Generator forequality of equality
Repos:Type
doc[n]
points describe repository contents
![Page 125: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/125.jpg)
Patches as a HIT
43
Generator forequality of equality
Repos:Type
a↔b@i
doc[n]
points describe repository contents
paths are patches
![Page 126: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/126.jpg)
Patches as a HIT
43
Generator forequality of equality
Repos:Type
a↔b@i
doc[n]
compressed
points describe repository contents
paths are patches
![Page 127: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/127.jpg)
Patches as a HIT
43
Generator forequality of equality
Repos:Type
a↔b@i
doc[n]
compressed
points describe repository contents
paths are patches
gzip
![Page 128: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/128.jpg)
Patches as a HIT
43
Generator forequality of equality
Repos:Type
a↔b@i
doc[n]
compressed
points describe repository contents
paths are patches
gzip
![Page 129: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/129.jpg)
Patches as a HIT
43
Generator forequality of equality
Repos:Type
a↔b@i
doc[n]
compressed
points describe repository contents
paths are patches
gzip
doc[n]
doc[n]
doc[n]
doc[n]
![Page 130: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/130.jpg)
Patches as a HIT
43
Generator forequality of equality
Repos:Type
a↔b@i
doc[n]
compressed
points describe repository contents
paths are patches
gzip
doc[n]
doc[n]
doc[n]
doc[n]a↔b@i
c↔d@j
c↔d@j
a↔b@i
![Page 131: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/131.jpg)
Patches as a HIT
43
Generator forequality of equality
Repos:Type
a↔b@i
doc[n]
compressed
points describe repository contents
paths are patches
gzip
doc[n]
doc[n]
doc[n]
doc[n]a↔b@i
c↔d@j
c↔d@j
a↔b@ipaths between paths are equations between patches
![Page 132: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/132.jpg)
Patches as a HIT
43
Generator forequality of equality
Repos:Type
a↔b@i
doc[n]
compressed
points describe repository contents
paths are patches
gzip
doc[n]
doc[n]
doc[n]
doc[n]a↔b@i
c↔d@j
c↔d@j
a↔b@i
i≠j
paths between paths are equations between patches
![Page 133: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/133.jpg)
Generators for HIT
44
Generator forequality of equality
![Page 134: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/134.jpg)
Generators for HIT
44
Repos : Type
Generator forequality of equality
![Page 135: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/135.jpg)
Generators for HIT
44
Repos : Type
doc[n] : Repos
Generator forequality of equality
compressed : Repos
![Page 136: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/136.jpg)
Generators for HIT
44
Repos : Type
doc[n] : Repos
(a↔b@i) : doc[n] = doc[n] if a,b:Char, i<n
Generator forequality of equality
compressed : Repos
gzip : doc[n] = compressed
![Page 137: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/137.jpg)
Generators for HIT
44
Repos : Type
doc[n] : Repos
(a↔b@i) : doc[n] = doc[n] if a,b:Char, i<n
commute: (a↔b at i)o(c↔d at j) if i ≠ j=(c↔d at j)o(a↔b at i)
Generator forequality of equality
compressed : Repos
gzip : doc[n] = compressed
![Page 138: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/138.jpg)
Patches Include…
45
id (identity)!p (undo)q o p (composition)
![Page 139: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/139.jpg)
Patch Equality Includes...
46
![Page 140: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/140.jpg)
Patch Equality Includes...
46
id o p = p = p o idpo(qor) = (poq)or!p o p = id = p o !p
Group laws:
![Page 141: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/141.jpg)
Patch Equality Includes...
46
id o p = p = p o idpo(qor) = (poq)or!p o p = id = p o !p
p=pp=q if q=pp=r if p=q and q=r
Group laws:
Equiv. relation
![Page 142: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/142.jpg)
Patch Equality Includes...
46
id o p = p = p o idpo(qor) = (poq)or!p o p = id = p o !p
p=pp=q if q=pp=r if p=q and q=r
!p = !p’ if p = p’p o q = p’ o q’ if p = p’ and q = q’
Group laws:
Equiv. relation Congruence
![Page 143: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/143.jpg)
47
id o p = p = p o idpo(qor) = (poq)or
!p o p = id = p o !pp=pp=q if q=p
p=r if p=q and q=r!p = !p’ if p = p’p o q = p’ o q’ if p = p’ and q = q’
(a↔b at i)o(c↔d at j)= (c↔d at j)o(a↔b at i)
...
Elements:
Equality:
Type: ReposPoints: doc[n]Paths:
a↔b@i
Paths between paths:commute :(a↔b at i)o(c↔d at j)=(c↔d at j)o(a↔b at i)
Type: Patch
![Page 144: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/144.jpg)
48
Repos ! ATo define a functionit suffices to
Generator forequality of equality
RepoDesc recursion
![Page 145: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/145.jpg)
48
Repos ! ATo define a functionit suffices to
Generator forequality of equality
map the element generators of Reposto elements of A
RepoDesc recursion
![Page 146: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/146.jpg)
48
Repos ! ATo define a functionit suffices to
Generator forequality of equality
map the element generators of Reposto elements of Amap the equality generators of Reposto equalities between the corresponding elements of A
RepoDesc recursion
![Page 147: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/147.jpg)
48
Repos ! ATo define a functionit suffices to
Generator forequality of equality
map the element generators of Reposto elements of Amap the equality generators of Reposto equalities between the corresponding elements of Amap the equality-between-equality generators to equalities between the corresponding equalities in A
RepoDesc recursion
![Page 148: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/148.jpg)
RepoDesc recursion
49
f : Repos ! ATo define a function it suffices to give
Generator forequality of equality
![Page 149: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/149.jpg)
RepoDesc recursion
49
f : Repos ! ATo define a function it suffices to give
Generator forequality of equality
f(doc[n]) := … : A
![Page 150: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/150.jpg)
RepoDesc recursion
49
f : Repos ! ATo define a function it suffices to give
Generator forequality of equality
f(doc[n]) := … : Af1(a↔b@i) := … : f(doc[n]) = f(doc[n])
![Page 151: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/151.jpg)
RepoDesc recursion
49
f : Repos ! ATo define a function it suffices to give
Generator forequality of equality
f(doc[n]) := … : Af1(a↔b@i) := … : f(doc[n]) = f(doc[n])
f2(compose a b c d i j i≠j) := … : f1((a↔b@i)o(c↔d@j)) = f1((c↔d@j)o(a↔b@j))
![Page 152: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/152.jpg)
RepoDesc recursion
49
f : Repos ! ATo define a function it suffices to give
Generator forequality of equality
f(doc[n]) := … : Af1(a↔b@i) := … : f(doc[n]) = f(doc[n])
f2(compose a b c d i j i≠j) := … : f1((a↔b@i)o(c↔d@j)) = f1((c↔d@j)o(a↔b@j))
You only specify f on generators,not id,o,!,group laws,congruence,…(1 patch and 4 basic axioms, instead of 4 and 14!)
![Page 153: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/153.jpg)
RepoDesc recursion
50
f : Repos ! ATo define a function it suffices to give
Generator forequality of equality
f(doc[n]) := … : Af1(a↔b@i) := … : f(doc[n]) = f(doc[n])
f2(compose a b c d i j i≠j) := … : f1((a↔b@i)o(c↔d@j)) = f1((c↔d@j)o(a↔b@j))
![Page 154: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/154.jpg)
RepoDesc recursion
50
f : Repos ! ATo define a function it suffices to give
Generator forequality of equality
Type-generic equality rules say that functions act homomorphically on id,o,!,…
f(doc[n]) := … : Af1(a↔b@i) := … : f(doc[n]) = f(doc[n])
f2(compose a b c d i j i≠j) := … : f1((a↔b@i)o(c↔d@j)) = f1((c↔d@j)o(a↔b@j))
![Page 155: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/155.jpg)
RepoDesc recursion
50
f : Repos ! ATo define a function it suffices to give
Generator forequality of equality
Type-generic equality rules say that functions act homomorphically on id,o,!,…
=f1(a↔b@i)o f1(c↔d@j)f(doc[n]) := … : A
f1(a↔b@i) := … : f(doc[n]) = f(doc[n])
f2(compose a b c d i j i≠j) := … : f1((a↔b@i)o(c↔d@j)) = f1((c↔d@j)o(a↔b@j))
![Page 156: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/156.jpg)
RepoDesc recursion
51
f : Repos ! ATo define a function it suffices to give
Generator forequality of equality
f(doc[n]) := … : Af1(a↔b@i) := … : f(doc[n]) = f(doc[n])
f2(compose a b c d i j i≠j) := … : f1((a↔b@i)o(c↔d@j)) = f1((c↔d@j)o(a↔b@j))
![Page 157: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/157.jpg)
RepoDesc recursion
51
f : Repos ! ATo define a function it suffices to give
Generator forequality of equality
All functions on Repos respect patchesAll functions on patches respect patch equality
f(doc[n]) := … : Af1(a↔b@i) := … : f(doc[n]) = f(doc[n])
f2(compose a b c d i j i≠j) := … : f1((a↔b@i)o(c↔d@j)) = f1((c↔d@j)o(a↔b@j))
![Page 158: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/158.jpg)
Interpreter
52
Goal is to define:
Generator forequality of equality
interp : doc[n] = doc[n] ! Bijection (Vec Char n) (Vec Char n)
![Page 159: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/159.jpg)
Interpreter
52
Goal is to define:
Generator forequality of equality
interp : doc[n] = doc[n] ! Bijection (Vec Char n) (Vec Char n)
interp(a↔b@i) = swapat a b i
interp(q o p) = (interp q) ob (interp p)interp(id) = (λx.x, …)
interp(!p) = !b (interp p)
![Page 160: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/160.jpg)
Interpreter
52
Goal is to define:
Generator forequality of equality
But only tool available is RepoDesc recursion:no direct recursion over paths
interp : doc[n] = doc[n] ! Bijection (Vec Char n) (Vec Char n)
interp(a↔b@i) = swapat a b i
interp(q o p) = (interp q) ob (interp p)interp(id) = (λx.x, …)
interp(!p) = !b (interp p)
![Page 161: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/161.jpg)
53
Generator forequality of equality
Need to pick A and define
interp : doc[n]=doc[n] ! Bijection (Vec Char n) (Vec Char n)
I(doc[n]) := … : AI1(a↔b@i) := … : I(doc[n]) = I(doc[n])
I2(compose) := …
interp(a↔b at i) = swapat a b i
![Page 162: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/162.jpg)
54
Generator forequality of equality
Key idea: pick A = Type and defineI(doc[n]) := … : TypeI1(a↔b@i) := … : I(doc[n]) = I(doc[n])
I2(compose) := …
interp : doc[n]=doc[n] ! Bijection (Vec Char n) (Vec Char n)interp(a↔b at i) = swapat a b i
![Page 163: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/163.jpg)
55
Generator forequality of equality
Key idea: pick A = Type and defineI(doc[n]) := Vec Char n : TypeI1(a↔b@i) := … : I(doc[n]) = I(doc[n])
I2(compose) := …
interp : doc[n]=doc[n] ! Bijection (Vec Char n) (Vec Char n)interp(a↔b at i) = swapat a b i
![Page 164: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/164.jpg)
56
Generator forequality of equality
Key idea: pick A = Type and defineI(doc[n]) := Vec Char n : TypeI1(a↔b@i) := … : Vec Char n = Vec Char n
I2(compose) := …
interp : doc[n]=doc[n] ! Bijection (Vec Char n) (Vec Char n)interp(a↔b at i) = swapat a b i
![Page 165: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/165.jpg)
57
Generator forequality of equality
Key idea: pick A = Type and defineI(doc[n]) := Vec Char n : TypeI1(a↔b@i) := ua(swapat a b i) : Vec Char n = Vec Char nI2(compose) := …
interp : doc[n]=doc[n] ! Bijection (Vec Char n) (Vec Char n)interp(a↔b at i) = swapat a b i
![Page 166: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/166.jpg)
57
Generator forequality of equality
Key idea: pick A = Type and defineI(doc[n]) := Vec Char n : TypeI1(a↔b@i) := ua(swapat a b i) : Vec Char n = Vec Char nI2(compose) := …
Voevodky’s univalence axiom ⊃bijective types are equal
interp : doc[n]=doc[n] ! Bijection (Vec Char n) (Vec Char n)interp(a↔b at i) = swapat a b i
![Page 167: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/167.jpg)
58
Generator forequality of equality
Key idea: pick A = Type and defineI(doc[n]) := Vec Char n : TypeI1(a↔b@i) := ua(swapat a b i) : Vec Char n = Vec Char nI2(compose) := <proof about swapat>
interp : doc[n]=doc[n] ! Bijection (Vec Char n) (Vec Char n)interp(a↔b at i) = swapat a b i
![Page 168: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/168.jpg)
59
Generator forequality of equality
Key idea: pick A = Type and defineI(doc[n]) := Vec Char n : TypeI1(a↔b@i) := ua(swapat a b i) : Vec Char n = Vec Char nI2(compose) := <proof about swapat>
interp(p) = ua-1(I1(p))
interp : doc[n]=doc[n] ! Bijection (Vec Char n) (Vec Char n)
![Page 169: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/169.jpg)
60
Generator forequality of equality
interp : vec = vec ! Bijection (Vec Char n) (Vec Char n)interp(p) = ua-1(I1(p))
interp(a↔b@i) = swapat a b i
interp(q o p) = (interp q) ob (interp p)interp(id) = (λx.x, …)
interp(!p) = !b (interp p)
Satisfies the desired equations (as propositional equalities):
![Page 170: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/170.jpg)
61
Generator forequality of equality
Summary
![Page 171: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/171.jpg)
61
Generator forequality of equality
SummaryI : Repos ! Type interprets Repos as Types,patches as bijections, satisfying patch equalities
![Page 172: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/172.jpg)
61
Generator forequality of equality
SummaryI : Repos ! Type interprets Repos as Types,patches as bijections, satisfying patch equalities
Higher inductive elim. defines functions that respect equality: you specify what happens on the generators; homomorphically extended to id,o,!,...
![Page 173: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/173.jpg)
61
Generator forequality of equality
SummaryI : Repos ! Type interprets Repos as Types,patches as bijections, satisfying patch equalities
Higher inductive elim. defines functions that respect equality: you specify what happens on the generators; homomorphically extended to id,o,!,...
Univalence lets you give a computational model of equality proofs (here, patches); guaranteed to satisfy laws
![Page 174: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/174.jpg)
61
Generator forequality of equality
SummaryI : Repos ! Type interprets Repos as Types,patches as bijections, satisfying patch equalities
Higher inductive elim. defines functions that respect equality: you specify what happens on the generators; homomorphically extended to id,o,!,...
Univalence lets you give a computational model of equality proofs (here, patches); guaranteed to satisfy laws
Shorter definition and code:1 basic patch & 4 basic axioms of equality, instead of4 patches & 14 equations
![Page 175: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/175.jpg)
Outline
62
1.Computer-checked homotopy theory
2.Computer-checked software
3.But there’s a catch!
![Page 176: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/176.jpg)
63
Generator forequality of equality
The CatchOperational semantics of univalence and HITsis an open problem in general:can’t run these programs yet
Some progress and some special cases are known:Licata&Harper, POPL’12Coquand&Barras, ’13Shulman, ’13Bezem&Coquand&Huber, ’13
Would support proof automation andprogramming applications
![Page 177: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/177.jpg)
64
Conclusion
![Page 178: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/178.jpg)
Papers and code
65
1.Fundamental group of the circle [LICS’13]πn(Sn) = ℤ [CPP’13]Formal homotopy: github.com/dlicata335/
2.Computational interpretationof 2D type theory [POPL’12]
3.Domain-specific program verification logics[thesis+MFPS’11]
4.The HoTT Book: doing math informally in Homotopy Type Theory
5.Blog: homotopytypetheory.org
![Page 179: Mathematical and Computational Applications of Homotopy ...drl/tmp/iowa.pdfApplications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer](https://reader034.vdocuments.us/reader034/viewer/2022050307/5f6fe77cf5179e4259422293/html5/thumbnails/179.jpg)
category theory homotopy theory
type theory
Homotopy Type Theory
66
new computer-checked proofs
new programsand types