127
Univalence from a Computer Science Point-of-View Dan Licata Wesleyan University 1

Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

Univalence from a Computer Science Point-of-View

Dan LicataWesleyan University

1

Page 2: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

2

Martin-Löf type theory[70s-80s]

Page 3: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

3

Proofs are programs

Page 4: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

4

cubicaltt [Cohen,Coquand, Huber,Mörtberg]

Page 5: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

4

cubicaltt [Cohen,Coquand, Huber,Mörtberg]

Page 6: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

4

“exists k : nat such that n = 2k+1”

cubicaltt [Cohen,Coquand, Huber,Mörtberg]

Page 7: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

5

Theorem: every natural number is even or oddProof: induction on n.

Base case: 0 is evenInductive case: Suppose n is even or n is odd.To show: n+1 is even or n+1 is odd.Case where n is even (n=2k): n+1 = 2k+1 is odd.Case where n is odd (n=2k+1): n+1 = 2k+2 = 2(k+1) is even.

Page 8: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

6

“for all n : nat, n is even or n is odd”

Page 9: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

6

What program is this?

“for all n : nat, n is even or n is odd”

Page 10: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

7

evenodd.ctt

Page 11: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

8

“for all” is function “or” is coproduct

What program is this?

Page 12: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

9

coproduct injection is parity

What program is this?

Page 13: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

10

floor(n/2)

What program is this?

Page 14: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

11

proof that n = 2*floor(n/2)[+1]

What program is this?

Page 15: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

12

proof that n = 2*floor(n/2)[+1]

(every element of Path nat k k is reflexivity/identity)

Page 16: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

13

Computation

function applied to argument reduces to body of definition

projection of a pair reduces to component

case distinction for coproduct reduces on injection

recursion on nat reduces on zero and suc(n)

elimination reduces on introduction

Page 17: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

13

Computation

function applied to argument reduces to body of definition

projection of a pair reduces to component

case distinction for coproduct reduces on injection

recursion on nat reduces on zero and suc(n)

elimination reduces on introduction

“definitional” rather than “typal” equalities/paths

Page 18: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

13

Computation

function applied to argument reduces to body of definition

projection of a pair reduces to component

case distinction for coproduct reduces on injection

recursion on nat reduces on zero and suc(n)

elimination reduces on introduction

“definitional” rather than “typal” equalities/pathsequality

Page 19: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

13

Computation

function applied to argument reduces to body of definition

projection of a pair reduces to component

case distinction for coproduct reduces on injection

recursion on nat reduces on zero and suc(n)

elimination reduces on introduction

“definitional” rather than “typal” equalities/pathsequality 1-simplex

Page 20: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

14

Computation

C : A → Type

elimination reduces on introduction

C

A

Page 21: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

14

Computation

C : A → Type

elimination reduces on introduction

a bp

C

A

p : Path A a b

Page 22: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

14

Computation

C : A → Type

elimination reduces on introduction

a bp

cC

A

p : Path A a b c : C(a)

Page 23: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

14

Computation

C : A → Type

elimination reduces on introduction

a bp

c tr p cC

A

p : Path A a b c : C(a)

transport C p c : C(b) then

Page 24: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

14

Computation

C : A → Type

elimination reduces on introduction

a bp

c tr p cC

A

p : Path A a b c : C(a)

transport C p c : C(b) and reduces to c when p is identity Path A a a

then

Page 25: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

14

Computation

C : A → Type

elimination reduces on introduction

original “intended model” of MLTT: every “path” is identity

a bp

c tr p cC

A

p : Path A a b c : C(a)

transport C p c : C(b) and reduces to c when p is identity Path A a a

then

Page 26: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

15

Canonicity theorem

For all (closed) t:nat in MLTT, there exists a numeral k with t definitionally equal to k

Constructive proof of:

Page 27: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

16

Univalence Axiom

(A,B : U) → Equiv A B → Path U A B~

Page 28: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

16

Univalence Axiom

(A,B : U) → Equiv A B → Path U A B~

axioms break canonicity

Page 29: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

16

Univalence Axiom

(A,B : U) → Equiv A B → Path U A B

Central question for computation with univalence:what does it mean to transport along such a path?

~

axioms break canonicity

Page 30: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

17

Voevodsky’s homotopy canonicity conjecture

[talk in Götenborg, 2011]

Page 31: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

18

Voevodsky’s homotopy canonicity conjecture

For all (closed) t:nat in MLTT+univalence, there exists a numeral k with a Path nat t k (potentially using univalence)

Constructive proof of:

Page 32: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

18

Voevodsky’s homotopy canonicity conjecture

For all (closed) t:nat in MLTT+univalence, there exists a numeral k with a Path nat t k (potentially using univalence)

Constructive proof of:

computation valid in all models

Page 33: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

18

Voevodsky’s homotopy canonicity conjecture

For all (closed) t:nat in MLTT+univalence, there exists a numeral k with a Path nat t k (potentially using univalence)

Constructive proof of:

ua already implies how ua “computes”

computation valid in all models

Page 34: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

19

Progress

Page 35: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

19

ProgressModels of MLTT+ua in a constructive metatheory (procedure for running programs implicit in proof!)

Page 36: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

19

ProgressModels of MLTT+ua in a constructive metatheory (procedure for running programs implicit in proof!)Models of MLTT+ua based on programs and operational semantics

Page 37: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

19

ProgressModels of MLTT+ua in a constructive metatheory (procedure for running programs implicit in proof!)Models of MLTT+ua based on programs and operational semanticsNew type theories including MLTT+ua that satisfy (definitional) canonicity

Page 38: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

19

ProgressModels of MLTT+ua in a constructive metatheory (procedure for running programs implicit in proof!)Models of MLTT+ua based on programs and operational semanticsNew type theories including MLTT+ua that satisfy (definitional) canonicitySeveral new experimental proof assistants

Page 39: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

19

ProgressModels of MLTT+ua in a constructive metatheory (procedure for running programs implicit in proof!)Models of MLTT+ua based on programs and operational semanticsNew type theories including MLTT+ua that satisfy (definitional) canonicitySeveral new experimental proof assistants

maybe new type theories can be interpretedin same kinds of models?

Page 40: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

19

ProgressModels of MLTT+ua in a constructive metatheory (procedure for running programs implicit in proof!)Models of MLTT+ua based on programs and operational semanticsNew type theories including MLTT+ua that satisfy (definitional) canonicitySeveral new experimental proof assistants

definitional equalities are easier to use

maybe new type theories can be interpretedin same kinds of models?

Page 41: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

20

Constructive Cubical Models

Page 42: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

20

Constructive Cubical Modelsmonoidal cube category, uniformity [Bezem,Coquand,Huber’13]

Page 43: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

20

Constructive Cubical Modelsmonoidal cube category, uniformity [Bezem,Coquand,Huber’13]de Morgan cube category, composition→filling, cofibration syntax [Cohen,Coquand,Huber,Mörtberg,’14-’15]

Page 44: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

20

Constructive Cubical Modelsmonoidal cube category, uniformity [Bezem,Coquand,Huber’13]de Morgan cube category, composition→filling, cofibration syntax [Cohen,Coquand,Huber,Mörtberg,’14-’15] cartesian cube category, homogenization, diagonal cofibs [Angiuli,Favonia,Harper,Wilson;+Brunerie,Coquand,L.,’14-’17]

Page 45: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

20

Constructive Cubical Modelsmonoidal cube category, uniformity [Bezem,Coquand,Huber’13]de Morgan cube category, composition→filling, cofibration syntax [Cohen,Coquand,Huber,Mörtberg,’14-’15] cartesian cube category, homogenization, diagonal cofibs [Angiuli,Favonia,Harper,Wilson;+Brunerie,Coquand,L.,’14-’17]canonicity/operational models [Huber,’16; Angiuli,Favonia,Harper,Wilson,’16-’17]

Page 46: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

20

Constructive Cubical Modelsmonoidal cube category, uniformity [Bezem,Coquand,Huber’13]de Morgan cube category, composition→filling, cofibration syntax [Cohen,Coquand,Huber,Mörtberg,’14-’15] cartesian cube category, homogenization, diagonal cofibs [Angiuli,Favonia,Harper,Wilson;+Brunerie,Coquand,L.,’14-’17]canonicity/operational models [Huber,’16; Angiuli,Favonia,Harper,Wilson,’16-’17]higher inductive types: syntax, fibrancy/operational semantics[Isaev’14,Coquand,Huber,Mörtberg,’14-’17;Cavallo,Harper,’17]

Page 47: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

20

Constructive Cubical Modelsmonoidal cube category, uniformity [Bezem,Coquand,Huber’13]de Morgan cube category, composition→filling, cofibration syntax [Cohen,Coquand,Huber,Mörtberg,’14-’15] cartesian cube category, homogenization, diagonal cofibs [Angiuli,Favonia,Harper,Wilson;+Brunerie,Coquand,L.,’14-’17]canonicity/operational models [Huber,’16; Angiuli,Favonia,Harper,Wilson,’16-’17]higher inductive types: syntax, fibrancy/operational semantics[Isaev’14,Coquand,Huber,Mörtberg,’14-’17;Cavallo,Harper,’17]type theory with non-fibrant types and exact equality as in Voevodsky’s HTS [AFH’17]

Page 48: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

20

Constructive Cubical Modelsmonoidal cube category, uniformity [Bezem,Coquand,Huber’13]de Morgan cube category, composition→filling, cofibration syntax [Cohen,Coquand,Huber,Mörtberg,’14-’15] cartesian cube category, homogenization, diagonal cofibs [Angiuli,Favonia,Harper,Wilson;+Brunerie,Coquand,L.,’14-’17]canonicity/operational models [Huber,’16; Angiuli,Favonia,Harper,Wilson,’16-’17]higher inductive types: syntax, fibrancy/operational semantics[Isaev’14,Coquand,Huber,Mörtberg,’14-’17;Cavallo,Harper,’17]type theory with non-fibrant types and exact equality as in Voevodsky’s HTS [AFH’17] internal language presentations (fibrancy as type)[Coquand;Orton-Pitts’16;Spitters+’16] + universes [Sattler;LOPS’18]

Page 49: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

20

Constructive Cubical Modelsmonoidal cube category, uniformity [Bezem,Coquand,Huber’13]de Morgan cube category, composition→filling, cofibration syntax [Cohen,Coquand,Huber,Mörtberg,’14-’15] cartesian cube category, homogenization, diagonal cofibs [Angiuli,Favonia,Harper,Wilson;+Brunerie,Coquand,L.,’14-’17]canonicity/operational models [Huber,’16; Angiuli,Favonia,Harper,Wilson,’16-’17]higher inductive types: syntax, fibrancy/operational semantics[Isaev’14,Coquand,Huber,Mörtberg,’14-’17;Cavallo,Harper,’17]type theory with non-fibrant types and exact equality as in Voevodsky’s HTS [AFH’17] internal language presentations (fibrancy as type)[Coquand;Orton-Pitts’16;Spitters+’16] + universes [Sattler;LOPS’18]more mathematical analyses [Awodey’13-,Gambino,Sattler’15-’17]

Page 50: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

21

Kan filling

p r

q

Page 51: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

21

Kan filling

p r

q

p-1;q;r

Page 52: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

21

Kan filling

p r

q

p-1;q;r

Page 53: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

21

Kan filling

p r

q

p-1;q;r

Page 54: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

21

Kan filling

p r

q

p-1;q;r

Page 55: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

21

Kan filling

p r

q

p-1;q;r

Page 56: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

21

Kan filling

p r

q

p-1;q;r

Page 57: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

21

Kan filling

p r

q

p-1;q;r

Page 58: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

21

Kan filling

p r

q

p-1;q;r

Page 59: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

22

Main Ideas

Page 60: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

22

Main IdeasSetsℂop for ℂ free semicartesian category on 0,1 : * → 𝕀;free cartesian category; …with connections/reversals

Page 61: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

22

Main IdeasSetsℂop for ℂ free semicartesian category on 0,1 : * → 𝕀;free cartesian category; …with connections/reversalsfibration: algebraic/specified solutions to filling problems

Page 62: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

22

Main IdeasSetsℂop for ℂ free semicartesian category on 0,1 : * → 𝕀;free cartesian category; …with connections/reversalsfibration: algebraic/specified solutions to filling problemsalgorithms for filling in ∏, ∑, Path, universe, univalence

Page 63: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

22

Main IdeasSetsℂop for ℂ free semicartesian category on 0,1 : * → 𝕀;free cartesian category; …with connections/reversalsfibration: algebraic/specified solutions to filling problemsalgorithms for filling in ∏, ∑, Path, universe, univalencedefinition of fibration chosen carefully — stable under change of base (uniformity), (trivial) cofibrations — in harmony with choice of cube category

Page 64: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

22

Main IdeasSetsℂop for ℂ free semicartesian category on 0,1 : * → 𝕀;free cartesian category; …with connections/reversalsfibration: algebraic/specified solutions to filling problemsalgorithms for filling in ∏, ∑, Path, universe, univalencedefinition of fibration chosen carefully — stable under change of base (uniformity), (trivial) cofibrations — in harmony with choice of cube categoryknown methods use P A := A(- ⊗ 𝕀) or Ay𝕀 and its right adjoint to define universes and filling in them

Page 65: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

22

Main IdeasSetsℂop for ℂ free semicartesian category on 0,1 : * → 𝕀;free cartesian category; …with connections/reversalsfibration: algebraic/specified solutions to filling problemsalgorithms for filling in ∏, ∑, Path, universe, univalencedefinition of fibration chosen carefully — stable under change of base (uniformity), (trivial) cofibrations — in harmony with choice of cube categoryknown methods use P A := A(- ⊗ 𝕀) or Ay𝕀 and its right adjoint to define universes and filling in themunclear if any “type theoretic model structures” are Quillen-equiv to sSet/Top; some are not [Sattler]

Page 66: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

23

Main Ideas

Page 67: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

23

Main IdeasSetsℂop for ℂ free semicartesian category on 0,1 : * → 𝕀;free cartesian category; …with connections/reversals

Page 68: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

23

Main IdeasSetsℂop for ℂ free semicartesian category on 0,1 : * → 𝕀;free cartesian category; …with connections/reversalsfibration: algebraic/specified solutions to filling problems

Page 69: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

23

Main IdeasSetsℂop for ℂ free semicartesian category on 0,1 : * → 𝕀;free cartesian category; …with connections/reversalsfibration: algebraic/specified solutions to filling problemsalgorithms for filling in ∏, ∑, Path, universe, univalence

Page 70: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

23

Main IdeasSetsℂop for ℂ free semicartesian category on 0,1 : * → 𝕀;free cartesian category; …with connections/reversalsfibration: algebraic/specified solutions to filling problemsalgorithms for filling in ∏, ∑, Path, universe, univalencedefinition of fibration chosen carefully — stable under change of base (uniformity), (trivial) cofibrations — in harmony with choice of cube category

Page 71: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

24

Relation to sSet?

known methods use P A := A(- ⊗ 𝕀) or Ay𝕀

and its right adjoint to define universes and filling in themunclear if any “type theoretic model structures” are Quillen-equiv to sSet/Top; some are not [Sattler]

Page 72: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

25

Recommender System

https://www.uwo.ca/math/faculty/kapulkin/seminars/hottest.html

Last spring: Coquand Angiuli

October 11: Favonia

https://www.cs.uoregon.edu/research/summerschool/summer18/topics.php

Harper

Page 73: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

26

Computation withunivalence in…

Page 74: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

26

definitions of ℤ

Computation withunivalence in…

Page 75: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

26

definitions of ℤ

fundamental groups of 𝕊1 and 𝕋

Computation withunivalence in…

Page 76: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

26

definitions of ℤ

fundamental groups of 𝕊1 and 𝕋

calculation of π4(𝕊3)

Computation withunivalence in…

Page 77: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

27

Running theequivalence principle

Page 78: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

28

ℤ in type theory (1)nat + nat

0

negative non-negative

1 2-1-2

inr 0 inr 1 inr 2inl 0inl 1

Page 79: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

29

ℤ in type theory (2)nat +(0,0) nat

0

non-positive non-negative

1 2-1-2

inr 0 inr 1 inr 2inl 1inl 2inl 0

Page 80: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

30

ℤ in type theory (3)(nat × nat) / (a+b’ =nat a’+b)

0 1-1

(0,0) (1,0)(0,1)(1,1)(1,2) (2,1)

Page 81: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

31

ℤ in type theory (4)free (set-level) group on one generator

0 1-1

zero suc(zero)pred(zero)

pred(succ(zero))

succ(pred(zero))

Page 82: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

32

ℤ in type theory (5)loops in S1

0 1 2-1

id looploop-1 loop;loop

loop-1;looploop;loop-1

Page 83: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

33

addition (1)

Page 84: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

33

addition (1)

-1-a + -1-b = -2-(a+b)

inl(a) + inl(b) = inl(1+a+b)

Page 85: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

34

addition (1)

-1-a + b = (b - (1+a))

sub : nat × nat # Z

Page 86: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

34

addition (1)

-1-a + b = (b - (1+a))

sub : nat × nat # Z

Page 87: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

35

addition (3)add ((a,b),(a’,b’)) = (a+a’,b+b’)

plus proof that respects quotient

assoc: ((a1,b1)+(a2,b2))+(a3,b3) = ((a1+a2)+a3,(b1+b2)+b3) = (a1+(a2+a3),b1+(b2+b3)) = (a1,b1)+((a2,b2)+(a3,b3))

Page 88: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

36

Equivalence of (1) and (3)

plus proof mutually inverse

Page 89: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

37

Using univalence

Therefore:any construction on typesthat can be defined for Zd can be transferred to Z, and vice versa

Page 90: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

38

Group structure

Page 91: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

39

Without univalenceGiven e : A ≃ B

Page 92: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

39

Without univalence

GroupStr : U # U

Given e : A ≃ B

Page 93: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

39

Without univalence

GroupStr : U # U

Given e : A ≃ B

define GroupStr A ≃ GroupStr B

Page 94: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

39

Without univalence

GroupStr : U # U

Given e : A ≃ B

e.g. b1 ⊙B b2 = e(e-1(b1) ⊙A e-1(b2))define GroupStr A ≃ GroupStr B

Page 95: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

39

Without univalence

GroupStr : U # U

Given e : A ≃ B

e.g. b1 ⊙B b2 = e(e-1(b1) ⊙A e-1(b2))define GroupStr A ≃ GroupStr B

No definable construction on types differentiates equivalent types

Page 96: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

40

Using univalenceZ≃Zd : Path U Z Zd univalence

Page 97: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

40

Using univalence

GroupStr : U # U

Z≃Zd : Path U Z Zd univalence

Page 98: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

40

Using univalence

GroupStr : U # U

Z≃Zd : Path U Z Zd

define GroupStr Zd

univalence

Page 99: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

40

Using univalence

GroupStr : U # U

Z≃Zd : Path U Z Zd

mechanically derive GroupStr Z by transporting along the equivalence

define GroupStr Zd

univalence

Page 100: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

41

intdiff.ctt

Page 101: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

42

Higher inductive typesand

synthetic homotopy theory

Page 102: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

43

CircleCircle S1 is a higher inductive type generated by

base

Page 103: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

43

CircleCircle S1 is a higher inductive type generated by

base : 𝕊1 loop : Path 𝕊1 base base base

Page 104: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

43

CircleCircle S1 is a higher inductive type generated by

base : 𝕊1 loop : Path 𝕊1 base base base

Free type (∞-groupoid/uniform Kan cubical set):

idloop-1

inv : loop;loop-1 = ididloop-1loop;loop

...

Page 105: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

44

Universal Cover

wind : Ω(S1) # ℤ

defined by lifting a loopto the cover, and giving the other endpoint of 0

lifting loop adds 1lifting loop-1 subtracts 1

Page 106: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

45

Universal Cover

lifting loop adds 1lifting loop-1 subtracts 1

Helix : S1 # UHelix(base) := ℤHelix(loop) := ua(x ⟼ x+1 : ℤ ≃ ℤ)

Page 107: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

46

circletalk.ctt

Page 108: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

47

Torus

p ps

a

a a

aq

q

a : Torusp,q : Path a as : Square q q p p

Page 109: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

48

free type: suffices to specify images of generators

𝕋 ≃ 𝕊1 × 𝕊1

Page 110: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

49

Ω(𝕋) # Ω(𝕊1 x 𝕊1) # Ω(𝕊1) x Ω(𝕊1)

Page 111: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

50

p p

q

q

p p

q

q

p

q

q

p p

q

p p

q

Page 112: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

51

t

s

ssq

q

p

q

p

p

Page 113: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

51

t

s

ssq

q

p

q

p

p

Page 114: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

52

torustalk.ctt

Page 115: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

53

north

south

Suspension merid(a)a

Page 116: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

54

AJoin pushB

Page 117: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

55

Synth homotopy theory

π1(S1) = ℤ

πk<n(Sn) = 0

π2(S2) = ℤ Hopf fibration

π3(S2) = ℤ

πn(Sn) = ℤ

Freudenthal

π4(S3) = ℤ2

James Construction

K(G,n)Blakers-Massey

Van Kampen

Covering spaces

Whiteheadfor n-types

(Co)homology

[Brunerie, Cavallo, Favonia, Finster, Licata, Lumsdaine, Sojakova, Shulman]

T2 = S1 × S1

Mayer-Vietoris

Page 118: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

56

Synth homotopy theory

Cellular Cohomology [Favonia, Buchholtz]

Higher Groups [Buchholtz, van Doorn, Rijke]

Free Higher Groups [Kraus, Altenkirch]

Serre Spectral Sequence [Avigad, Awodey, Buchholtz, van Doorn, Newstead, Rijke, Shulman]

Cayley-Dickson, Quaternionic Hopf [Buchholtz, Rijke]

Real projective spaces [Buchholtz, Rijke]

Page 119: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

57

Brunerie’s number

There exists a k such that π4(𝕊3) ≅ ℤ/kℤConstructive proof in type theory of:

Page 120: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

57

Brunerie’s number

There exists a k such that π4(𝕊3) ≅ ℤ/kℤConstructive proof in type theory of:

generator of π3(𝕊3)

Page 121: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

57

Brunerie’s number

There exists a k such that π4(𝕊3) ≅ ℤ/kℤConstructive proof in type theory of:

generator of π3(𝕊3)

view 𝕊3

as join

Page 122: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

57

Brunerie’s number

There exists a k such that π4(𝕊3) ≅ ℤ/kℤConstructive proof in type theory of:

generator of π3(𝕊3)

view 𝕊3

as join main map

Page 123: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

57

Brunerie’s number

There exists a k such that π4(𝕊3) ≅ ℤ/kℤConstructive proof in type theory of:

generator of π3(𝕊3)

view 𝕊3

as join main map π3(𝕊2) is ℤ

Page 124: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

58

Proof Assistantscubicaltt [Cohen,Coquand,Huber,Mörtberg]cubical Agda [Vezzosi]redtt [Angiuli,Cavallo,Favonia,Harper,Mörtberg,Sterling]yacctt [Angiuli,Mörtberg]redprl [Angiuli,Cavallo,Favonia,Harper,Sterling]

different cube categories, filling operationsoptimized definitions of filling operationsterm representations, evaluation strategies, def. equalitynon-fibrant types and exact equalities

Page 125: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

59

CS Applicationsguarded recursion [Birkedal,Bizjak,Clouston,Spitters,Vezzosi]relational parametricity [Bernardy,Coquand,Moulin; Nuyts,Vezzosi,Devriese]effects in computational cubical type theory? [Angiuli,Cavallo,Favonia,Harper,Sterling,Wilson] transporting along functions in directed type theories? [Riehl,Shulman;Riehl,Sattler;L.,Weaver]

Page 126: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

60

Questionshomotopy theories of cubical sets models?[Sattler;Kapulkin,Voevodsky’18] interpret cubical type theory in other models?homotopy canonicity for MLTT+ua?Path U A B definitionally equal to Equiv A B?[Altenkrich,Kaposi]regularity? A𝕀 + transport id def. equal to id [Awodey]

Page 127: Univalence from a Computer Science Point-of-View (1).pdf · elimination reduces on introduction “definitional” rather than “typal” equalities/paths equality 1-simplex. 14

61

Thanks!