mathematical and computational applications of homotopy ...drl/tmp/iowa.pdfapplications of homotopy...

179
Mathematical and Computational Applications of Homotopy Type Theory Dan Licata Wesleyan University Department of Mathematics and Computer Science

Upload: others

Post on 25-Jul-2020

1 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

category theory homotopy theory

type theory

Homotopy Type Theory

66

new computer-checked proofs

new programsand types