A K N Correction: We will redo the empty type the rules were - - PowerPoint PPT Presentation

a k n
SMART_READER_LITE
LIVE PREVIEW

A K N Correction: We will redo the empty type the rules were - - PowerPoint PPT Presentation

A K N Correction: We will redo the empty type the rules were wrong; the video was re-uploaded hcomp i ( x:A B) [ N] M N(x) M(x) N(x) x.hcomp i B [ N(x)] M(x) B X fill the square with the same x along i A i transp i


slide-1
SLIDE 1

K N A

slide-2
SLIDE 2

Correction:

We will redo the empty type

the rules were wrong; the video was re-uploaded

slide-3
SLIDE 3

i

A

X

hcompi (Πx:AB) [φ ↦ N] M λx.hcompi B [φ ↦ N(x)] M(x)

fill the square with the same x along i

N(x) N(x)

M(x)

B

slide-4
SLIDE 4

i

filler

x x'

transpi (Πx:AB) φ M λx.transpi B[filleri(x)/x] φ M(filler0(x))

M(x') M(x)

filleri(x) :≡ transp-fill~i A φ x

back and forth

slide-5
SLIDE 5

i

filler

fst(M) fst(N) fst(N) snd(N) snd(N) s n d ( M )

hcompi (Σx:AB) [φ ↦ N] M ⟨ hcompi A [φ ↦ fst(N)] fst(M) , compi B[filleri/x] [φ ↦ snd(N)] snd(M) ⟩ filleri :≡ hfilli A [φ ↦ fst(N)] fst(M)

needs compi because B(filler/x) depends on i

slide-6
SLIDE 6

i

filler

fst(M)

transpi (Σx:AB) φ M ⟨ transpi A φ fst(M) , transpi B[filleri/x] φ snd(M) ⟩ filleri :≡ transp-filli A φ fst(M)

snd(M)

slide-7
SLIDE 7

i

f i l l e r

transp-fill~i A φ M

M

A

hfilli A [φ ↦ N] M

i

filler

M N N

A

i

f i l l e r

transp-filli A φ M

M

A

compi A [φ ↦ N] M

i

filler

M N N

Ai

DERIVED OPERATORS

slide-8
SLIDE 8

the unit natural numbers functions pairs paths the empty type disjoint sums the circle universes

slide-9
SLIDE 9

Q N

hcompi (Pathj.A(M; N)) [φ ↦ Q] P

P

M P Q

≡ λj.hcompi A [φ ↦ Q@j, j=0 ↦ M, j=1 ↦ N] P@j

Pathj.A(M; N)

A

Q Q

slide-10
SLIDE 10

N

transpi (Pathj.A(M; N)) φ P

P M P

≡ λj.compi A [φ ↦ P@j, j=0 ↦ M, j=1 ↦ N] P@j

A

Pathj.A(M; N)

slide-11
SLIDE 11

the unit the empty type functions pairs paths disjoint sums natural numbers the circle universes negative types positive types

slide-12
SLIDE 12

transpi ℕ φ M

M always works

M

slide-13
SLIDE 13

hcompi ℕ [φ ↦ N] M

Otherwise, what should we do? If φ = true, this should reduce to N[1/i]

Freely generated inductive types now have irreducible hcomps

M N N

slide-14
SLIDE 14

C

elim(hcomp) = comp(elim) E(O) :≡ elimℕ[x.C](M; x.y.N; O) filleri :≡ hfilli ℕ [φ ↦ O] P E(hcompi ℕ [φ ↦ O] P) ≡ compi C[filleri/x] [φ ↦ E(O)] E(P)

slide-15
SLIDE 15

transp can always be reduced*

*except for indexed inductive families

e.g., ⊥, ℕ, 2, A+B, the circle, etc.

  • 1. Inductive types have formal hcomps
  • 2. Elim commutes with formal hcomps
slide-16
SLIDE 16

inl inr A+B A B

transp (A+B) φ inl(M) ≡ inl(transp A φ M) transp (A+B) φ inr(M) ≡ inr(transp B φ M)

slide-17
SLIDE 17

inl(hcompi A [φ ↦ N] M) ≡ hcompi (A+B) [φ ↦ inl(N)] inl(M) inr(hcompi B [φ ↦ N] M) ≡ hcompi (A+B) [φ ↦ inr(N)] inr(M) A+B suc(hcompi ℕ [φ ↦ N] M) ≡ hcompi ℕ [φ ↦ suc(N)] suc(M) ℕ

Optional*

hcomp can commute with constructors

*Cubical Agda has these rules

slide-18
SLIDE 18

the unit the empty type functions pairs paths disjoint sums natural numbers the circle universes negative types positive types