Higher Induc ve Types in Computa onal Cubical Type Theory Evan - - PowerPoint PPT Presentation

higher induc ve types in computa onal cubical type theory
SMART_READER_LITE
LIVE PREVIEW

Higher Induc ve Types in Computa onal Cubical Type Theory Evan - - PowerPoint PPT Presentation

Higher Induc ve Types in Computa onal Cubical Type Theory Evan Cavallo & Robert Harper Carnegie Mellon University POPL 2019 0 cubical type theory dependent type theory with a univalent, proof-relevant internal equality POPL 2019


slide-1
SLIDE 1

POPL 2019

Higher Inducve Types in Computaonal Cubical Type Theory

Evan Cavallo & Robert Harper

Carnegie Mellon University

slide-2
SLIDE 2

POPL 2019 1

dependent type theory with a univalent, proof-relevant internal equality

cubical type theory

slide-3
SLIDE 3

POPL 2019 1

dependent type theory with a univalent, proof-relevant internal equality

cubical type theory indexed higher inducve types

■ quoent types for this equality ■ indexed inducve types that respect it

slide-4
SLIDE 4

POPL 2019 2

dependent type theory with a univalent, proof-relevant internal equality

higher type theory:

[Awodey & Warren; Voevodsky]

slide-5
SLIDE 5

POPL 2019 2

dependent type theory with a univalent, proof-relevant internal equality

higher type theory:

[Awodey & Warren; Voevodsky]

slide-6
SLIDE 6

POPL 2019 2

dependent type theory with a univalent, proof-relevant internal equality

higher type theory:

[Awodey & Warren; Voevodsky]

" "

slide-7
SLIDE 7

POPL 2019 2

dependent type theory with a univalent, proof-relevant internal equality

higher type theory:

[Awodey & Warren; Voevodsky]

" "

isomorphism ⇒ equal types

slide-8
SLIDE 8

POPL 2019 2

dependent type theory with a univalent, proof-relevant internal equality

higher type theory:

[Awodey & Warren; Voevodsky]

" "

isomorphism ⇒ equal types

slide-9
SLIDE 9

POPL 2019 2

dependent type theory with a univalent, proof-relevant internal equality

higher type theory:

[Awodey & Warren; Voevodsky]

" "

isomorphism ⇒ equal types (axiomazed by homotopy type theory)

slide-10
SLIDE 10

POPL 2019 3

cubical type theory:

computaonal higher type theory via dimension variables

[Cohen, Coquand, Huber & Mörtberg; Angiuli, Favonia & Harper]

slide-11
SLIDE 11

POPL 2019 3

cubical type theory:

computaonal higher type theory via dimension variables

[Cohen, Coquand, Huber & Mörtberg; Angiuli, Favonia & Harper]

slide-12
SLIDE 12

POPL 2019 3

cubical type theory:

computaonal higher type theory via dimension variables

[Cohen, Coquand, Huber & Mörtberg; Angiuli, Favonia & Harper]

slide-13
SLIDE 13

POPL 2019 4

cubical type theory:

path types

slide-14
SLIDE 14

POPL 2019 4

cubical type theory:

path types

slide-15
SLIDE 15

POPL 2019 5

cubical type theory:

coercion

slide-16
SLIDE 16

POPL 2019 5

cubical type theory:

coercion

slide-17
SLIDE 17

POPL 2019 5

cubical type theory:

coercion

slide-18
SLIDE 18

POPL 2019 6

cubical type theory:

composion

slide-19
SLIDE 19

POPL 2019 6

cubical type theory:

composion

slide-20
SLIDE 20

POPL 2019 6

cubical type theory:

composion

slide-21
SLIDE 21

POPL 2019 6

cubical type theory:

composion

slide-22
SLIDE 22

POPL 2019 6

cubical type theory:

composion

slide-23
SLIDE 23

POPL 2019 6

cubical type theory:

general case:

composion

slide-24
SLIDE 24

POPL 2019 7

cubical type theory: + univalence

slide-25
SLIDE 25

POPL 2019 8

higher inducve types

quoents for proof-relevant equality

slide-26
SLIDE 26

POPL 2019 8

higher inducve types

quoents for proof-relevant equality

slide-27
SLIDE 27

POPL 2019 8

higher inducve types

quoents for proof-relevant equality

slide-28
SLIDE 28

POPL 2019 8

higher inducve types

quoents for proof-relevant equality

slide-29
SLIDE 29

POPL 2019 8

higher inducve types

quoents for proof-relevant equality

slide-30
SLIDE 30

POPL 2019 9

higher inducve types

slide-31
SLIDE 31

POPL 2019 10

higher inducve types

slide-32
SLIDE 32

POPL 2019 10

higher inducve types

slide-33
SLIDE 33

POPL 2019 10

higher inducve types

slide-34
SLIDE 34

POPL 2019 10

higher inducve types

slide-35
SLIDE 35

POPL 2019 10

higher inducve types

slide-36
SLIDE 36

POPL 2019 10

higher inducve types

etc.

slide-37
SLIDE 37

POPL 2019 11

higher inducve types

in generality

slide-38
SLIDE 38

POPL 2019 11

higher inducve types

in generality

■ axiomac type theory:

  • Sojakova: W-quoents
  • Basold, Geuvers, & van der Weide; Dybjer &

Moeneclaey; Kaposi & Kovács ■ semancs:

  • Dybjer & Moeneclaey
  • Lumsdaine & Shulman: cell monads

■ cubical type theory:

  • Coquand, Huber, & Mörtberg: examples, schema sketch
slide-39
SLIDE 39

POPL 2019 11

higher inducve types

in generality

■ axiomac type theory:

  • Sojakova: W-quoents
  • Basold, Geuvers, & van der Weide; Dybjer &

Moeneclaey; Kaposi & Kovács ■ semancs:

  • Dybjer & Moeneclaey
  • Lumsdaine & Shulman: cell monads

■ cubical type theory:

  • Coquand, Huber, & Mörtberg: examples, schema sketch
  • ur contribuon:

cubical schema with computaonal semancs

slide-40
SLIDE 40

POPL 2019 11

higher inducve types

in generality

■ axiomac type theory:

  • Sojakova: W-quoents
  • Basold, Geuvers, & van der Weide; Dybjer &

Moeneclaey; Kaposi & Kovács ■ semancs:

  • Dybjer & Moeneclaey
  • Lumsdaine & Shulman: cell monads

■ cubical type theory:

  • Coquand, Huber, & Mörtberg: examples, schema sketch
  • ur contribuon:

cubical schema with computaonal semancs

(including indexed inducve types)

slide-41
SLIDE 41

POPL 2019 12

  • 1. schema
slide-42
SLIDE 42

POPL 2019 12

  • 1. schema

eliminaon principle

slide-43
SLIDE 43

POPL 2019 13

  • 2. semancs

what are the values of an inducve type?

slide-44
SLIDE 44

POPL 2019 13

  • 2. semancs

what are the values of an inducve type?

slide-45
SLIDE 45

POPL 2019 13

  • 2. semancs

what are the values of an inducve type?

slide-46
SLIDE 46

POPL 2019 13

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion? can we implement coercion and composion?

slide-47
SLIDE 47

POPL 2019 13

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion? can we implement coercion and composion?

slide-48
SLIDE 48

POPL 2019 13

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion? can we implement coercion and composion?

slide-49
SLIDE 49

POPL 2019 13

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion? can we implement coercion and composion?

slide-50
SLIDE 50

POPL 2019 14

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion?

slide-51
SLIDE 51

POPL 2019 14

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion? and eliminaon?

slide-52
SLIDE 52

POPL 2019 14

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion? and eliminaon?

slide-53
SLIDE 53

POPL 2019 14

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion? and eliminaon?

slide-54
SLIDE 54

POPL 2019 14

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion? and eliminaon? can we implement coercion and composion? and eliminaon?

slide-55
SLIDE 55

POPL 2019 14

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion? and eliminaon? can we implement coercion and composion? and eliminaon?

* more complicated in general case *

slide-56
SLIDE 56

POPL 2019 14

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion? and eliminaon? can we implement coercion and composion? and eliminaon?

* more complicated in general case *

slide-57
SLIDE 57

POPL 2019 14

  • 2. semancs

what are the values of an inducve type? can we implement coercion and composion? and eliminaon? can we implement coercion and composion? and eliminaon?

* more complicated in general case *

slide-58
SLIDE 58

POPL 2019 15

indexed inducve types

slide-59
SLIDE 59

POPL 2019 15

indexed inducve types

identy type (subject of HoTT axioms)

slide-60
SLIDE 60

POPL 2019 15

indexed inducve types

identy type (subject of HoTT axioms)

slide-61
SLIDE 61

POPL 2019 15

indexed inducve types

identy type (subject of HoTT axioms)

slide-62
SLIDE 62

POPL 2019 15

indexed inducve types

identy type (subject of HoTT axioms)

slide-63
SLIDE 63

POPL 2019 15

indexed inducve types

identy type (subject of HoTT axioms)✓

slide-64
SLIDE 64

POPL 2019 16

all in all

■ schema for indexed higher inducve types

  • torus, higher truncaons, localizaons, etc.
  • identy types

■ computaonal semancs

  • PERs on untyped operaonal semancs
  • canonicity theorem

■ fragment implemented in redtt proof assistant

github.com/RedPRL/redtt

slide-65
SLIDE 65

POPL 2019 17

thank you!

Angiuli, Hou (Favonia), & Harper. Cartesian cubical computaonal type theory: Construcve bbreasoning with paths and equalies. CSL 2018. Awodey & Warren. Homotopy theorec models of identy types. Mathemacal Proceedings of bbthe Cambridge Philosophical Society, 2009. Basold, Geuvers, & van der Weide. Higher Inducve Types in Programming. J. UCS, 2017. Cohen, Coquand, Huber, & Mörtberg. Cubical type theory: A construcve interpretaon of the bbunivalence axiom. TYPES 2015. Coquand, Huber, & Mörtberg. On higher inducve types in cubical type theory. LICS 2018. Dybjer & Moeneclaey. Finitary Higher Inducve Types in the Groupoid Model. MFPS 2017. Kaposi & Kovács. A syntax for higher inducve-inducve types. FSCD 2018. Lumsdaine & Shulman. Semancs of higher inducve types. arXiv 1705.07088, 2017.

  • Sojakova. Higher inducve types as homotopy-inial algebras. POPL 2015.
  • Swan. An algebraic weak factorisaon system on 01-substuon sets: a construcve proof. J.

bbLogic & Analysis, 2016.