Cubical Type Theory Dan Licata Wesleyan University Guillaume - - PowerPoint PPT Presentation

cubical type theory
SMART_READER_LITE
LIVE PREVIEW

Cubical Type Theory Dan Licata Wesleyan University Guillaume - - PowerPoint PPT Presentation

Cubical Type Theory Dan Licata Wesleyan University Guillaume Brunerie Universit de Nice Sophia Antipolis Synthetic geometry Euclids postulates 1. To draw a straight line from any point to any point. 2. To produce a finite straight line


slide-1
SLIDE 1

Cubical Type Theory

Dan Licata Wesleyan University Guillaume Brunerie Université de Nice Sophia Antipolis

slide-2
SLIDE 2

Synthetic geometry

2

Euclid’s postulates

  • 1. To draw a straight line from any point

to any point.

  • 2. To produce a finite straight line continuously

in a straight line.

  • 3. To describe a circle with any center and distance.
  • 4. That all right angles are equal to one another.
  • 5. Given a line and a point not on it, there is exactly
  • ne line through the point that does not intersect

the line

slide-3
SLIDE 3

Synthetic geometry

2

Euclid’s postulates Cartesian

  • 1. To draw a straight line from any point

to any point.

  • 2. To produce a finite straight line continuously

in a straight line.

  • 3. To describe a circle with any center and distance.
  • 4. That all right angles are equal to one another.
  • 5. Given a line and a point not on it, there is exactly
  • ne line through the point that does not intersect

the line

slide-4
SLIDE 4

Synthetic geometry

2

Euclid’s postulates Cartesian models

  • 1. To draw a straight line from any point

to any point.

  • 2. To produce a finite straight line continuously

in a straight line.

  • 3. To describe a circle with any center and distance.
  • 4. That all right angles are equal to one another.
  • 5. Given a line and a point not on it, there is exactly
  • ne line through the point that does not intersect

the line

slide-5
SLIDE 5

Synthetic geometry

2

Euclid’s postulates Cartesian models

  • 1. To draw a straight line from any point

to any point.

  • 2. To produce a finite straight line continuously

in a straight line.

  • 3. To describe a circle with any center and distance.
  • 4. That all right angles are equal to one another.
slide-6
SLIDE 6

Synthetic geometry

2

Euclid’s postulates Cartesian models Spherical

  • 1. To draw a straight line from any point

to any point.

  • 2. To produce a finite straight line continuously

in a straight line.

  • 3. To describe a circle with any center and distance.
  • 4. That all right angles are equal to one another.
slide-7
SLIDE 7

Synthetic geometry

2

Euclid’s postulates Cartesian models Spherical

  • 1. To draw a straight line from any point

to any point.

  • 2. To produce a finite straight line continuously

in a straight line.

  • 3. To describe a circle with any center and distance.
  • 4. That all right angles are equal to one another.
  • 5. Two distinct lines meet at two antipodal points.
slide-8
SLIDE 8

category theory homotopy theory type theory

Homotopy type theory

3

[Awodey,Warren,Voevodsky,Streicher,Hofmann Lumsdaine,Gambino,Garner,van den Berg]

higher

slide-9
SLIDE 9

Homotopy type theory is a synthetic theory

  • f spaces

4

slide-10
SLIDE 10

Types as spaces

5

M N α

slide-11
SLIDE 11

Types as spaces

5

M N α

type A is a space

slide-12
SLIDE 12

Types as spaces

5

M N α

programs M:A are points type A is a space

slide-13
SLIDE 13

Types as spaces

5

M N α

programs M:A are points type A is a space proofs of equality α : M =A N are paths

slide-14
SLIDE 14

Types as spaces

5

M N α

programs M:A are points type A is a space proofs of equality α : M =A N are paths path operations

slide-15
SLIDE 15

Types as spaces

5

M N α id

programs M:A are points type A is a space proofs of equality α : M =A N are paths path operations

id : M = M (refl)

slide-16
SLIDE 16

Types as spaces

5

M N α id α

programs M:A are points type A is a space proofs of equality α : M =A N are paths path operations

id : M = M (refl) α-1 : N = M (sym)

  • 1
slide-17
SLIDE 17

Types as spaces

5

M N α P β id α

programs M:A are points type A is a space proofs of equality α : M =A N are paths path operations

id : M = M (refl) α-1 : N = M (sym) β o α : M = P (trans)

  • 1
slide-18
SLIDE 18

Homotopy

6

Deformation of one path into another α β

slide-19
SLIDE 19

Homotopy

6

Deformation of one path into another α β

slide-20
SLIDE 20

Homotopy

6

Deformation of one path into another α β = 2-dimensional path between paths

slide-21
SLIDE 21

Homotopy

6

Deformation of one path into another α β = 2-dimensional path between paths

α =x=y β δ :

slide-22
SLIDE 22

Types as spaces

7

M N α P β id α

programs M:A are points type A is a space proofs of equality α : M =A N are paths path operations

id : M = M (refl) α-1 : N = M (sym) β o α : M = P (trans)

  • 1

homotopies

ul : id o α =M=N α il : α-1 o α =M=M id asc : γ o (β o α) =M=P (γ o β) o α

slide-23
SLIDE 23

Equality type

8

x =A y p : p1 =x=y p2 ? : x : A

slide-24
SLIDE 24

Equality type

8

x =A y p : p1 =x=y p2 ? : x : A

slide-25
SLIDE 25

Equality type

8

x =A y p : p1 =x=y p2 ? : x : A

slide-26
SLIDE 26

Proof-relevant equality

9

x =A y p : p1 =x=y p2 q : x : A

slide-27
SLIDE 27

Proof-relevant equality

9

x =A y p : p1 =x=y p2 q : x : A q1 =p1=p2 q2

slide-28
SLIDE 28

Proof-relevant equality

9

x =A y p : p1 =x=y p2 q : x : A q1 =p1=p2 q2 r :

slide-29
SLIDE 29

Proof-relevant equality

9

x =A y p : p1 =x=y p2 q : x : A q1 =p1=p2 q2 r : ...

slide-30
SLIDE 30

Homotopy groups of spheres

10

kth homotopy group n-dimensional sphere

[image from wikipedia]

slide-31
SLIDE 31

Univalence

11

[Voevodsky]

slide-32
SLIDE 32

Univalence

11

Equivalence of types is a generalization to spaces of bijection of sets [Voevodsky]

slide-33
SLIDE 33

Univalence

11

Equivalence of types is a generalization to spaces of bijection of sets Univalence axiom, roughly: all structures/properties respect equivalence [Voevodsky]

slide-34
SLIDE 34

Univalence

12

Transporting along an equality is a generic program that lifts equivalences Can do parametricity-like reasoning about modules Provides “right” equality for mathematical structures (groups, categories, …)

slide-35
SLIDE 35

Higher inductive types

13

New way of forming types: Inductive type specified by generators not only for points (elements), but also for paths [Bauer,Lumsdaine,Shulman,Warren]

slide-36
SLIDE 36

14

Subsume quotient types, which have been problematic in intensional type theory Direct constructive definitions of spaces and other mathematical concepts Some nascent programming applications

Higher inductive types

slide-37
SLIDE 37

Homotopy in HoTT

15

π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 Whitehead for n-types Cohomology axioms [Brunerie, Cavallo, Finster, Hou, Licata, Lumsdaine, Shulman] T2 = S1 × S1 Mayer-Vietoris

slide-38
SLIDE 38

A patch theory as a HIT

16

Generator for R: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

slide-39
SLIDE 39

Computation

17

Bezem,Coquand,Huber, 2013 gave a constructive model of type theory in Kan cubical sets; evaluator based on this This work: a syntactic type theory based on these ideas [Coquand,Huber,Bezem,Barras, Licata,Harper,Brunerie,Shulman, Altenkirch,Kaposi,Polansky…]

slide-40
SLIDE 40

Everything Respects Equivalence

18

slide-41
SLIDE 41

19

α : A ≃ B α’ : A’ ≃ B’ α×α’ : A × A’ ≃ B × B’

Respect Equivalence

slide-42
SLIDE 42

19

α : A ≃ B α’ : A’ ≃ B’ α×α’ : A × A’ ≃ B × B’

Respect Equivalence

α×α’(a:A,a’:A’) = (α a, α’ a’)

slide-43
SLIDE 43

19

α : A ≃ B α’ : A’ ≃ B’ α×α’ : A × A’ ≃ B × B’

Respect Equivalence

α×α’(a:A,a’:A’) = (α a, α’ a’) (α×α’)-1(b:B,b’:B’) = (α-1 b, α’-1 b’)

slide-44
SLIDE 44

20

Respect Equivalence

α : A ≃ B α’ : A’ ≃ B’ α$α’ : A $ A’ ≃ B $ B’

slide-45
SLIDE 45

20

Respect Equivalence

α$α’(f:A $ A’) = α’ . f . α-1 α : A ≃ B α’ : A’ ≃ B’ α$α’ : A $ A’ ≃ B $ B’

slide-46
SLIDE 46

20

Respect Equivalence

α$α’(f:A $ A’) = α’ . f . α-1 (α$α’)-1(g:B $ B’) = α’-1 . g . α α : A ≃ B α’ : A’ ≃ B’ α$α’ : A $ A’ ≃ B $ B’

slide-47
SLIDE 47

21

α : A ≃ B p0 : a0 =α b0 p1 : a1 =α b1 p0 =α p1 : a0 =A a1 ≃ b0 =B b1

Respect Equivalence

slide-48
SLIDE 48

21

α : A ≃ B p0 : a0 =α b0 p1 : a1 =α b1 p0 =α p1 : a0 =A a1 ≃ b0 =B b1

Respect Equivalence

p0 : α a0 =B b0

slide-49
SLIDE 49

21

α : A ≃ B p0 : a0 =α b0 p1 : a1 =α b1 p0 =α p1 : a0 =A a1 ≃ b0 =B b1

Respect Equivalence

p0 : α a0 =B b0 p0 : a0 =A α-1 b0

slide-50
SLIDE 50

21

α : A ≃ B p0 : a0 =α b0 p1 : a1 =α b1 p0 =α p1 : a0 =A a1 ≃ b0 =B b1

Respect Equivalence

p : a0 =A a1

  • p0 : α a0 =B b0

p0 : a0 =A α-1 b0

slide-51
SLIDE 51

21

α : A ≃ B p0 : a0 =α b0 p1 : a1 =α b1 p0 =α p1 : a0 =A a1 ≃ b0 =B b1

Respect Equivalence

b0 b1 α a0 α a1 p0

p1

p : a0 =A a1

  • B

p0 : α a0 =B b0 p0 : a0 =A α-1 b0

slide-52
SLIDE 52

21

α : A ≃ B p0 : a0 =α b0 p1 : a1 =α b1 p0 =α p1 : a0 =A a1 ≃ b0 =B b1

Respect Equivalence

b0 b1 α a0 α a1 p0

p1

p : a0 =A a1

  • B

p0 : α a0 =B b0 p0 : a0 =A α-1 b0 α p : α a0 =B α a1

slide-53
SLIDE 53

21

α : A ≃ B p0 : a0 =α b0 p1 : a1 =α b1 p0 =α p1 : a0 =A a1 ≃ b0 =B b1

Respect Equivalence

b0 b1 α a0 α a1 p0

p1

α p p : a0 =A a1

  • B

p0 : α a0 =B b0 p0 : a0 =A α-1 b0 α p : α a0 =B α a1

slide-54
SLIDE 54

21

α : A ≃ B p0 : a0 =α b0 p1 : a1 =α b1 p0 =α p1 : a0 =A a1 ≃ b0 =B b1

Respect Equivalence

b0 b1 α a0 α a1 p0

p1

α p p : a0 =A a1

  • B

p0 : α a0 =B b0 p0 : a0 =A α-1 b0 α p : α a0 =B α a1

slide-55
SLIDE 55

21

α : A ≃ B p0 : a0 =α b0 p1 : a1 =α b1 p0 =α p1 : a0 =A a1 ≃ b0 =B b1

Respect Equivalence

b0 b1 α a0 α a1 p0

p1

α p p : a0 =A a1

  • B

p0 : α a0 =B b0 p0 : a0 =A α-1 b0

! p0 ; α p ; p1

α p : α a0 =B α a1

slide-56
SLIDE 56

Missing Sides

22

slide-57
SLIDE 57

23

p : x =A y p’ : x’ =A’ y’ (p,p’) : (x,x’) =A×A’ (y,y’)

slide-58
SLIDE 58

23

p : x =A y p’ : x’ =A’ y’ (p,p’) : (x,x’) =A×A’ (y,y’) (x,x’) (t,t’) (y,y’) (z,z’) (w,w’) (l,l’) (r,r’) A×A’

slide-59
SLIDE 59

23

p : x =A y p’ : x’ =A’ y’ (p,p’) : (x,x’) =A×A’ (y,y’) (x,x’) (t,t’) (y,y’) (z,z’) (w,w’) (l,l’) (r,r’) A×A’ x t y z w l r A

slide-60
SLIDE 60

23

p : x =A y p’ : x’ =A’ y’ (p,p’) : (x,x’) =A×A’ (y,y’) (x,x’) (t,t’) (y,y’) (z,z’) (w,w’) (l,l’) (r,r’) A×A’ x t y z w l r A b

slide-61
SLIDE 61

23

p : x =A y p’ : x’ =A’ y’ (p,p’) : (x,x’) =A×A’ (y,y’) (x,x’) (t,t’) (y,y’) (z,z’) (w,w’) (l,l’) (r,r’) A×A’ x t y z w l r A b x’ t’ y’ z’ w’ l’ r’ A’

slide-62
SLIDE 62

23

p : x =A y p’ : x’ =A’ y’ (p,p’) : (x,x’) =A×A’ (y,y’) (x,x’) (t,t’) (y,y’) (z,z’) (w,w’) (l,l’) (r,r’) A×A’ x t y z w l r A b x’ t’ y’ z’ w’ l’ r’ A’ b’

slide-63
SLIDE 63

23

p : x =A y p’ : x’ =A’ y’ (p,p’) : (x,x’) =A×A’ (y,y’) (x,x’) (t,t’) (y,y’) (z,z’) (w,w’) (l,l’) (r,r’) A×A’ x t y z w l r A b x’ t’ y’ z’ w’ l’ r’ A’ b’ (b,b’)

slide-64
SLIDE 64

24

x:A ⊢ p : f x =A’ g x λx.p : f =A$A’ g

slide-65
SLIDE 65

24

x:A ⊢ p : f x =A’ g x λx.p : f =A$A’ g f t g h k l r A$A’

slide-66
SLIDE 66

24

x:A ⊢ p : f x =A’ g x λx.p : f =A$A’ g f t g h k l r A$A’ f x t x g x h x k x l x r x A’

slide-67
SLIDE 67

24

x:A ⊢ p : f x =A’ g x λx.p : f =A$A’ g f t g h k l r A$A’ f x t x g x h x k x l x r x A’ b[x]

slide-68
SLIDE 68

24

x:A ⊢ p : f x =A’ g x λx.p : f =A$A’ g f t g h k l r A$A’ f x t x g x h x k x l x r x A’ b[x] λx.b

slide-69
SLIDE 69

25

p t q u v l r a0 =A a1 p q u v : a0 =A a1 l : p =a0=a1 q r : u =a0=a1 v t : p =a0=a1 u

slide-70
SLIDE 70

25

p t q u v l r a0 =A a1 p q u v : a0 =A a1 l : p =a0=a1 q r : u =a0=a1 v t : p =a0=a1 u p q l a0 a1 a1 a0 refl refl

slide-71
SLIDE 71

25

p t q u v l r a0 =A a1 p q u v : a0 =A a1 l : p =a0=a1 q r : u =a0=a1 v t : p =a0=a1 u p q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl

slide-72
SLIDE 72

25

p t q u v l r a0 =A a1 p q u v : a0 =A a1 l : p =a0=a1 q r : u =a0=a1 v t : p =a0=a1 u p q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl

slide-73
SLIDE 73

26

p t q u v l r a0 =A a1 q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl a0 p

slide-74
SLIDE 74

26

p t q u v l r a0 =A a1 q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl a0 p

slide-75
SLIDE 75

26

p t q u v l r a0 =A a1 p q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl l q a0 p

slide-76
SLIDE 76

26

p t q u v l r a0 =A a1 p q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl l t q a0 p

slide-77
SLIDE 77

26

p t q u v l r a0 =A a1 p q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl l t q a0 r v p u

slide-78
SLIDE 78

26

p t q u v l r a0 =A a1 p q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl l t q a0 a0 a0 a0 r v p a0 u

slide-79
SLIDE 79

26

p t q u v l r a0 =A a1 p q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl l t q a0 a0 a0 a0 r v p a0 u

slide-80
SLIDE 80

26

p t q u v l r a0 =A a1 p q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl l t q a0 a0 a0 a0 a1 r v p a0 a1 a1 a1 u

slide-81
SLIDE 81

26

p t q u v l r a0 =A a1 p q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl l t q a0 a0 a0 a0 a1 r v p a0 a1 a1 a1 u

slide-82
SLIDE 82

26

p t q u v l r a0 =A a1 p q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl l t q a0 a0 a0 a0 a1 r v p a0 a1 a1 a1 u b

slide-83
SLIDE 83

26

p t q u v l r a0 =A a1 p q l a0 a1 a1 a0 refl refl p u t a0 a1 a1 a0 refl refl u v r a0 a1 a1 a0 refl refl l t q a0 a0 a0 a0 a1 r v p a0 a1 a1 a1 u b b

slide-84
SLIDE 84

Kan condition: any n-dimensional

  • pen box has a lid,

and an inside

27

slide-85
SLIDE 85

Cubes

28

slide-86
SLIDE 86

Line

29

l

l0 l1

slide-87
SLIDE 87

Square

30

s x y

s00 s01 s11 s10

slide-88
SLIDE 88

Square

30

s1-

s-0 s x y

s-1 s0- s00 s01 s11 s10

slide-89
SLIDE 89

Square with its boundary

31

s x y

slide-90
SLIDE 90

Square with its boundary

31

s x y

s<0/x>

slide-91
SLIDE 91

Square with its boundary

31

s<1/x>

s x y

s<0/x>

slide-92
SLIDE 92

Square with its boundary

31

s<1/x>

s<0/y> s x y

s<0/x>

slide-93
SLIDE 93

Square with its boundary

31

s<1/x>

s<0/y> s x y

s<1/y> s<0/x>

slide-94
SLIDE 94

Square with its boundary

31

s<1/x>

s<0/y> s x y

s<1/y> s<0/x> s<0/x><0/y>

slide-95
SLIDE 95

Square with its boundary

31

s<1/x>

s<0/y> s x y

s<1/y> s<0/x> s<0/x><1/y> s<0/x><0/y>

slide-96
SLIDE 96

Square with its boundary

31

s<1/x>

s<0/y> s x y

s<1/y> s<0/x> s<1/x><0/y> s<0/x><1/y> s<0/x><0/y>

slide-97
SLIDE 97

Square with its boundary

31

s<1/x>

s<0/y> s x y

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y>

slide-98
SLIDE 98

Square with its boundary

31

s<1/x>

s<0/y> s x y

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y>

slide-99
SLIDE 99

Square with its boundary

31

s<1/x>

s<0/y> s x y

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y> s<0/y><1/x>

slide-100
SLIDE 100

Square with its boundary

31

s<1/x>

s<0/y> s x y

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y> s<0/y><1/x> substitutions for independent variables commute ≡

slide-101
SLIDE 101

Degeneracies

32

x y

a

slide-102
SLIDE 102

Degeneracies

32

x y

a a↑x a a

slide-103
SLIDE 103

Degeneracies

32

x y

a↑x <0/x> = a a a↑x a a

slide-104
SLIDE 104

Degeneracies

32

x y

a↑x <0/x> = a a a↑x a a a↑x <1/x> = a

slide-105
SLIDE 105

Degeneracies

32

x y

a↑x <0/x> = a a a↑x a a a↑x <1/x> = a p

slide-106
SLIDE 106

Degeneracies

32

p p↑y x y

p a↑x <0/x> = a a a↑x a a a↑x <1/x> = a p

slide-107
SLIDE 107

Degeneracies

32

p p↑y x y

p a↑x <0/x> = a a a↑x a a a↑x <1/x> = a p

p↑y<0/y> = p p↑y<1/y> = p

slide-108
SLIDE 108

Degeneracies

32

p p↑y x y

p a↑x <0/x> = a a a↑x a a a↑x <1/x> = a p

p↑y<0/y> = p p↑y<1/y> = p p↑y<0/x> = (p<0/x>)↑y

slide-109
SLIDE 109

Degeneracies

32

p p↑y x y

p a↑x <0/x> = a a a↑x a a a↑x <1/x> = a p

p↑y<0/y> = p p↑y<1/y> = p p↑y<0/x> = (p<0/x>)↑y p↑y<1/x> = (p<1/x>)↑y

slide-110
SLIDE 110

Degeneracies

32

p p↑y x y

p a↑x <0/x> = a a a↑x a a a↑x <1/x> = a p

p↑y<0/y> = p p↑y<1/y> = p p↑y<0/x> = (p<0/x>)↑y p↑y<1/x> = (p<1/x>)↑y

a0 a0↑y a1 a1↑y

slide-111
SLIDE 111

Degeneracies

32

p p↑y x y

p a↑x <0/x> = a substitution after weakening is identity,

  • therwise pushes inside

a a↑x a a a↑x <1/x> = a p

p↑y<0/y> = p p↑y<1/y> = p p↑y<0/x> = (p<0/x>)↑y p↑y<1/x> = (p<1/x>)↑y

a0 a0↑y a1 a1↑y

slide-112
SLIDE 112

Dimensions

33

n-dimensional cube has n dimension names free α-equivalence: make {x,…}-cube into {x’,...}-cube Substitution of 0 or 1: faces Weakening:degeneracy/reflexivity [Coquand,Pitts] Properties are cubical identities

slide-113
SLIDE 113

34

s<1/x>

s<0/y> s

s<1/y> s<0/x> l t r b

slide-114
SLIDE 114

34

s<1/x>

s<0/y> s

s<1/y> s<0/x>

s<x↔y><0/x> = s<0/y>

l t r b

slide-115
SLIDE 115

34

s<1/x>

s<0/y> s

s<1/y> s<0/x>

s<x↔y><0/x> = s<0/y>

l t r b

s<x↔y><0/y> = s<0/x>

slide-116
SLIDE 116

34

s<1/x>

s<0/y> s

s<1/y> s<0/x>

s<x↔y><0/x> = s<0/y>

l t r b

s<x↔y>

t l b r

s<x↔y><0/y> = s<0/x>

slide-117
SLIDE 117

Symmetries

34

s<1/x>

s<0/y> s

s<1/y> s<0/x>

s<x↔y><0/x> = s<0/y>

l t r b

s<x↔y>

t l b r

s<x↔y><0/y> = s<0/x>

slide-118
SLIDE 118

35

s<1/x>

s<0/y>

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y>

slide-119
SLIDE 119

35

s<1/x>

s<0/y>

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y>

s<x/y> is a line ({x}-cube)

slide-120
SLIDE 120

35

s<x/y><0/x> = s<0/x><0/y>

s<1/x>

s<0/y>

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y>

s<x/y> is a line ({x}-cube)

slide-121
SLIDE 121

35

s<x/y><0/x> = s<0/x><0/y>

s<1/x>

s<0/y>

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y>

s<x/y> is a line ({x}-cube)

slide-122
SLIDE 122

35

s<x/y><0/x> = s<0/x><0/y> s<x/y><1/x> = s<1/x><1/y>

s<1/x>

s<0/y>

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y>

s<x/y> is a line ({x}-cube)

slide-123
SLIDE 123

35

s<x/y><0/x> = s<0/x><0/y> s<x/y><1/x> = s<1/x><1/y>

s<1/x>

s<0/y>

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y>

s<x/y> is a line ({x}-cube)

slide-124
SLIDE 124

35

s<x/y><0/x> = s<0/x><0/y> s<x/y><1/x> = s<1/x><1/y>

s<1/x>

s<0/y>

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y>

s<x/y> is a line ({x}-cube) s<x/y>

slide-125
SLIDE 125

Diagonals

35

s<x/y><0/x> = s<0/x><0/y> s<x/y><1/x> = s<1/x><1/y>

s<1/x>

s<0/y>

s<1/y> s<0/x> s<1/x><0/y> s<1/x><1/y> s<0/x><1/y> s<0/x><0/y>

s<x/y> is a line ({x}-cube) s<x/y>

slide-126
SLIDE 126

Dimensions

36

n-dimensional cube has n dimension names free α-equivalence: make {x,...}-cube into {x’,...}-cube Substitution of 0 or 1: faces Weakening: degeneracy/reflexivity Exchange: symmetry Contraction: diagonal [Coquand,Pitts] Properties are cubical identities