github pages · definition (suitable base category) sym. monoidal with terminal unit, projection...

67
Internalizing Presheaf Semantics: Charting the Design Space Andreas Nuyts, Dominique Devriese KU Leuven, Belgium LICS ’18 Oxford, UK July 7, 2018 Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 1 / 24

Upload: others

Post on 13-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Internalizing Presheaf Semantics:Charting the Design Space

Andreas Nuyts, Dominique Devriese

KU Leuven, Belgium

LICS ’18Oxford, UKJuly 7, 2018

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 1 / 24

Page 2: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Presheaf semantics can model:

Parametricity (preservation of relations),

HoTT (preservation of equivalences),

Directed TT (preservation of homomorphisms).

Operators for cheap proofs of free preservation theorems?

Cubical TT: Glue

NVD17, ND18: Glue, Weld

Moulin (PhD on internal param’ty): Ψ, Φ

Our WIP: comparison in more general presheaf models

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 2 / 24

Page 3: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Presheaf semantics can model:

Parametricity (preservation of relations),

HoTT (preservation of equivalences),

Directed TT (preservation of homomorphisms).

Operators for cheap proofs of free preservation theorems?

Cubical TT: Glue

NVD17, ND18: Glue, Weld

Moulin (PhD on internal param’ty): Ψ, Φ

Our WIP: comparison in more general presheaf models

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 2 / 24

Page 4: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Presheaf semantics can model:

Parametricity (preservation of relations),

HoTT (preservation of equivalences),

Directed TT (preservation of homomorphisms).

Operators for cheap proofs of free preservation theorems?

Cubical TT: Glue

NVD17, ND18: Glue, Weld

Moulin (PhD on internal param’ty): Ψ, Φ

Our WIP: comparison in more general presheaf models

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 2 / 24

Page 5: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Universal Type Extension Operators(Glue, Weld)

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 3 / 24

Page 6: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Final extension of (T , f )

Γ ` A typeΓ ` P propΓ,P ` T typeΓ,P ` f : T → A

Γ ` Glue{A← (P ?T , f )} typeΓ,P ` Glue{A← (P ?T , f )}= T

0

i `

Unit

Unit

Boolλ .unitoo

Glue iunglue iks

1 Unit Boolλ .unitoo

Initial extension of (T , f )

Γ ` A typeΓ ` P propΓ,P ` T typeΓ,P ` f : A→ T

Γ `Weld{A→ (P ?T , f )} typeΓ,P `Weld{A→ (P ?T , f )}= T

0

i `

Unit

Unit

λ .true// Bool

Weld iweld i +3

1 Unitλ .false

// Bool

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 4 / 24

Page 7: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Final extension of (T , f )

Γ ` A typeΓ ` P propΓ,P ` T typeΓ,P ` f : T → A

Γ ` Glue{A← (P ?T , f )} typeΓ,P ` Glue{A← (P ?T , f )}= T

0

i `

Unit

Unit

Boolλ .unitoo

Glue iunglue iks

1 Unit Boolλ .unitoo

Initial extension of (T , f )

Γ ` A typeΓ ` P propΓ,P ` T typeΓ,P ` f : A→ T

Γ `Weld{A→ (P ?T , f )} typeΓ,P `Weld{A→ (P ?T , f )}= T

0

i `

Unit

Unit

λ .true// Bool

Weld iweld i +3

1 Unitλ .false

// Bool

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 4 / 24

Page 8: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Final extension of (T , f )

Γ ` A typeΓ ` P propΓ,P ` T typeΓ,P ` f : T → A

Γ ` Glue{A← (P ?T , f )} typeΓ,P ` Glue{A← (P ?T , f )}= T

0

i `

Unit

Unit

Boolλ .unitoo

Glue iunglue iks

1 Unit Boolλ .unitoo

Theorem (Cubical TT)

A KanT Kanf equivalence

Glue Kan

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 4 / 24

Page 9: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

As (co-)inductive types

Final extension of (T , f )

record G := Glue{A← (P ?T , f )}where

unglue : G→ A

reduce : G→ ( : P)→ T

coh : (g : G)→ ( : P)→f (reduce g )≡A unglue g

G extends Tunglue extends freduce is idT

coh is refl

Initial extension of (T , f )

HIT W := Weld{A→ (P ?T , f )}where

weld : A→W

include : ( : P)→ T →W

coh : (a : A)→ ( : P)→include (f a)≡W weld a

W extends Tweld extends finclude is idT

coh is refl

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 5 / 24

Page 10: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

As (co-)inductive types

Final extension of (T , f )

record G := Glue{A← (P ?T , f )}where

unglue : G→ A

reduce : G→ ( : P)→ T

coh : (g : G)→ ( : P)→f (reduce g )≡A unglue g

G extends Tunglue extends freduce is idT

coh is refl

Initial extension of (T , f )

HIT W := Weld{A→ (P ?T , f )}where

weld : A→W

include : ( : P)→ T →W

coh : (a : A)→ ( : P)→include (f a)≡W weld a

W extends Tweld extends finclude is idT

coh is refl

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 5 / 24

Page 11: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

As pullback/pushout

Glueunglue //

reduce��

A

const��

(( : P)→ T )f◦−

// (P→ A)

extending

T f //

const o��

A

consto��

(( :>)→ T )f◦−

// (>→ A)

P×Af◦− //

snd��

( : P)×T

include��

Aweld

// Weld

extending

>×Af◦− //

snd o��

( :>)×T

sndo��

Af

// T

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 6 / 24

Page 12: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

As pullback/pushout

Glueunglue //

reduce��

A

const��

(( : P)→ T )f◦−

// (P→ A)

extending

T f //

const o��

A

consto��

(( :>)→ T )f◦−

// (>→ A)

P×Af◦− //

snd��

( : P)×T

include��

Aweld

// Weld

extending

>×Af◦− //

snd o��

( :>)×T

sndo��

Af

// T

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 6 / 24

Page 13: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

As pullback/pushout

Glueunglue //

reduce��

A

const��

(( : P)→ T )f◦−

// (P→ A)

extending

T f //

const o��

A

consto��

(( :>)→ T )f◦−

// (>→ A)

P×Af◦− //

snd��

( : P)×T

include��

Aweld

// Weld

extending

>×Af◦− //

snd o��

( :>)×T

sndo��

Af

// T

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 6 / 24

Page 14: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

As pullback/pushout

Glueunglue //

reduce��

A

const��

(( : P)→ T )f◦−

// (P→ A)

extending

T f //

const o��

A

consto��

(( :>)→ T )f◦−

// (>→ A)

P×Af◦− //

snd��

( : P)×T

include��

Aweld

// Weld

extending

>×Af◦− //

snd o��

( :>)×T

sndo��

Af

// T

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 6 / 24

Page 15: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Milling

A milling cutterNL: freesFR: fraiseDE: FraserPL: frezJP: furaisuCMN: xıdao

If base category has products;for any shape I:

ΠIP×ΠIA //

��

( : ΠIP)×ΠIT

��ΠIA // ΠIWeld

mill :(Πi.Weld{A i→ (P i ?T i, f i)})

∼=Weld{Πi.A i→ (∀i.P i ?Πi.T i, f ◦−)}

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 7 / 24

Page 16: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Milling

A milling cutterNL: freesFR: fraiseDE: FraserPL: frezJP: furaisuCMN: xıdao

If base category has products;for any shape I:

ΠIP×ΠIA //

��

( : ΠIP)×ΠIT

��ΠIA // ΠIWeld

mill :(Πi.Weld{A i→ (P i ?T i, f i)})

∼=Weld{Πi.A i→ (∀i.P i ?Πi.T i, f ◦−)}

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 7 / 24

Page 17: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Milling

A milling cutterNL: freesFR: fraiseDE: FraserPL: frezJP: furaisuCMN: xıdao

If base category has products;for any shape I:

ΠIP×ΠIA //

��

( : ΠIP)×ΠIT

��ΠIA // ΠIWeld

mill :(Πi.Weld{A i→ (P i ?T i, f i)})

∼=Weld{Πi.A i→ (∀i.P i ?Πi.T i, f ◦−)}

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 7 / 24

Page 18: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Milling

A milling cutterNL: freesFR: fraiseDE: FraserPL: frezJP: furaisuCMN: xıdao

If base category has products;for any shape I:

ΠIP×ΠIA //

��

( : ΠIP)×ΠIT

��ΠIA // ΠIWeld

mill :(Πi.Weld{A i→ (P i ?T i, f i)})

∼=Weld{Πi.A i→ (∀i.P i ?Πi.T i, f ◦−)}

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 7 / 24

Page 19: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Debating nomenclature

Glue Weldglue weld

unglueGlue Coglueglue counglue

unglueFExt IExt

? ??

Different name in Cubical TT?

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 8 / 24

Page 20: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Debating nomenclature

Glue Weldglue weld

unglueGlue Coglueglue counglue

unglueFExt IExt

? ??

Different name in Cubical TT?

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 8 / 24

Page 21: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Debating nomenclature

Glue Weldglue weld

unglueGlue Coglueglue counglue

unglueFExt IExt

? ??

Different name in Cubical TT?

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 8 / 24

Page 22: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Debating nomenclature

Glue Weldglue weld

unglueGlue Coglueglue counglue

unglueFExt IExt

? ??

Different name in Cubical TT?

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 8 / 24

Page 23: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Glue/Weld: Summary

Universal type extension operators (Glue/Weld):

Exist in any presheaf model,

Internalize nothing about the particular model.

Combine with something else:

Box filling (Cubical TT)

Modalities & identity extension lemma [NVD17]

mill (identifies shape types for particular model)

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space 9 / 24

Page 24: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Boundary-Filling Operators(Φ, Ψ)

Generalized from:Bernardy, Coquand, Moulin (2015)

Moulin’s PhD (2016)

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space10 / 24

Page 25: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Boundaries

Definition (Boundary)

For any shape I ∈ C,the boundary is the greatest strict subobject ∂ I ( yI ∈ C.

Theorem

(yU→ ∂ I)∼= (U→ I)\{split epis}.

Note:ϕ : U→ V split epi ⇔ yϕ : yU→ yV epiϕ : U→ V mono ⇔ yϕ : yU→ yV mono

Example

In Cubical TT: ∂ I∼= Bool.

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space11 / 24

Page 26: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Boundaries

Definition (Boundary)

For any shape I ∈ C,the boundary is the greatest strict subobject ∂ I ( yI ∈ C.

Theorem

(yU→ ∂ I)∼= (U→ I)\{split epis}.

Note:ϕ : U→ V split epi ⇔ yϕ : yU→ yV epiϕ : U→ V mono ⇔ yϕ : yU→ yV mono

Example

In Cubical TT: ∂ I∼= Bool.

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space11 / 24

Page 27: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Boundaries

Definition (Boundary)

For any shape I ∈ C,the boundary is the greatest strict subobject ∂ I ( yI ∈ C.

Theorem

(yU→ ∂ I)∼= (U→ I)\{split epis}.

Note:ϕ : U→ V split epi ⇔ yϕ : yU→ yV epiϕ : U→ V mono ⇔ yϕ : yU→ yV mono

Example

In Cubical TT: ∂ I∼= Bool.

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space11 / 24

Page 28: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Fillers

Γ, i : I ` A typeΓ, i : ∂ I ` a : A

Γ ` Filleri.A (i.a) type

Filleri.A (i.a)∼= (f : (i : I)→ A)× ((i : ∂ I)→ f i =A a)

Example (Cubical TT)

Filleri.A (i.a) = Pathi.A(a[0/i],a[1/i]).

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space12 / 24

Page 29: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Boundary-filling

For any shape I:

Γ ` f∂ : (i : ∂ I)( (x : A i)→ B i xΓ ` h : (ξ : (i : I)( A i)→ Filleri.B i (ξ i) (f∂ i (ξ i))

Γ ` Φ(f∂ ,h) : (i : I)( (x : A i)→ B i x

Φ(f∂ ,h)|∂ I = f∂ , Φ(f∂ ,h) i a = h (λ i.a) i

For any shape I:

Γ ` A∂ : ∂ I( UΓ ` P : ((i : ∂ I)( A∂ i)→U

Γ `Ψ(A∂ ,P) : I( U

((i : I)(Ψ(A∂ ,P) i) ∼= (ξ : (i : ∂ I)( A∂ i)×P ξ

Compare: funext and univalenceAndreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space13 / 24

Page 30: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Boundary-filling

For any shape I:

Γ ` f∂ : (i : ∂ I)( (x : A i)→ B i xΓ ` h : (ξ : (i : I)( A i)→ Filleri.B i (ξ i) (f∂ i (ξ i))

Γ ` Φ(f∂ ,h) : (i : I)( (x : A i)→ B i x

Φ(f∂ ,h)|∂ I = f∂ , Φ(f∂ ,h) i a = h (λ i.a) i

For any shape I:

Γ ` A∂ : ∂ I( UΓ ` P : ((i : ∂ I)( A∂ i)→U

Γ `Ψ(A∂ ,P) : I( U

((i : I)(Ψ(A∂ ,P) i) ∼= (ξ : (i : ∂ I)( A∂ i)×P ξ

Compare: funext and univalenceAndreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space13 / 24

Page 31: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Boundary-filling

For any shape I:

Γ ` f∂ : (i : ∂ I)( (x : A i)→ B i xΓ ` h : (ξ : (i : I)( A i)→ Filleri.B i (ξ i) (f∂ i (ξ i))

Γ ` Φ(f∂ ,h) : (i : I)( (x : A i)→ B i x

Φ(f∂ ,h)|∂ I = f∂ , Φ(f∂ ,h) i a = h (λ i.a) i

For any shape I:

Γ ` A∂ : ∂ I( UΓ ` P : ((i : ∂ I)( A∂ i)→U

Γ `Ψ(A∂ ,P) : I( U

((i : I)(Ψ(A∂ ,P) i) ∼= (ξ : (i : ∂ I)( A∂ i)×P ξ

Compare: funext and univalenceAndreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space13 / 24

Page 32: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Problem with diagonals

How to buildf : (i, j : I)( (x : A i j)→ B i j x?f =Φ2(f00, f01, f10, f11,h0,h1,k0,k1,w)

f00 f01

w

f10 f11

f 0 0 a = f00 a

f 0 j a = k0 (λ j.a) j

f i j a = w (λ i.λ j.a) i j

f i i a = ? (λ i.a) i

Solution:Base category: I 6→ I∗ ISeparated product: (cf. nom. sets)JΓ, i : IK = JΓK∗yI

“Linear” application:

Γ ` f : (i : I)( A i

Γ, i : I ` f i : A i

Incorporating Φ (J-P. Bernardy):

Γ, i : ∂ I,∆ ` a∂ : A iΓ,(i : I)(∆ `

h : Filleri.A i[δ i/δ ] (a∂ [δ i/δ ])

Γ, i : I,∆ ` h i : A i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space14 / 24

Page 33: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Problem with diagonals

How to buildf : (i, j : I)( (x : A i j)→ B i j x?f =Φ2(f00, f01, f10, f11,h0,h1,k0,k1,w)

f00 f01

w

f10 f11

f 0 0 a = f00 a

f 0 j a = k0 (λ j.a) j

f i j a = w (λ i.λ j.a) i j

f i i a = ? (λ i.a) i

Solution:Base category: I 6→ I∗ ISeparated product: (cf. nom. sets)JΓ, i : IK = JΓK∗yI

“Linear” application:

Γ ` f : (i : I)( A i

Γ, i : I ` f i : A i

Incorporating Φ (J-P. Bernardy):

Γ, i : ∂ I,∆ ` a∂ : A iΓ,(i : I)(∆ `

h : Filleri.A i[δ i/δ ] (a∂ [δ i/δ ])

Γ, i : I,∆ ` h i : A i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space14 / 24

Page 34: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Problem with diagonals

How to buildf : (i, j : I)( (x : A i j)→ B i j x?f =Φ2(f00, f01, f10, f11,h0,h1,k0,k1,w)

f00

h0

f01

h1w

f10 f11

f 0 0 a = f00 a

f 0 j a = k0 (λ j.a) j

f i j a = w (λ i.λ j.a) i j

f i i a = ? (λ i.a) i

Solution:Base category: I 6→ I∗ ISeparated product: (cf. nom. sets)JΓ, i : IK = JΓK∗yI

“Linear” application:

Γ ` f : (i : I)( A i

Γ, i : I ` f i : A i

Incorporating Φ (J-P. Bernardy):

Γ, i : ∂ I,∆ ` a∂ : A iΓ,(i : I)(∆ `

h : Filleri.A i[δ i/δ ] (a∂ [δ i/δ ])

Γ, i : I,∆ ` h i : A i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space14 / 24

Page 35: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Problem with diagonals

How to buildf : (i, j : I)( (x : A i j)→ B i j x?f =Φ2(f00, f01, f10, f11,h0,h1,k0,k1,w)

f00

h0

k0f01

h1w

f10k1 f11

f 0 0 a = f00 a

f 0 j a = k0 (λ j.a) j

f i j a = w (λ i.λ j.a) i j

f i i a = ? (λ i.a) i

Solution:Base category: I 6→ I∗ ISeparated product: (cf. nom. sets)JΓ, i : IK = JΓK∗yI

“Linear” application:

Γ ` f : (i : I)( A i

Γ, i : I ` f i : A i

Incorporating Φ (J-P. Bernardy):

Γ, i : ∂ I,∆ ` a∂ : A iΓ,(i : I)(∆ `

h : Filleri.A i[δ i/δ ] (a∂ [δ i/δ ])

Γ, i : I,∆ ` h i : A i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space14 / 24

Page 36: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Problem with diagonals

How to buildf : (i, j : I)( (x : A i j)→ B i j x?f =Φ2(f00, f01, f10, f11,h0,h1,k0,k1,w)

f00

h0

k0f01

h1w

f10k1 f11

f 0 0 a = f00 a

f 0 j a = k0 (λ j.a) j

f i j a = w (λ i.λ j.a) i j

f i i a = ? (λ i.a) i

Solution:Base category: I 6→ I∗ ISeparated product: (cf. nom. sets)JΓ, i : IK = JΓK∗yI

“Linear” application:

Γ ` f : (i : I)( A i

Γ, i : I ` f i : A i

Incorporating Φ (J-P. Bernardy):

Γ, i : ∂ I,∆ ` a∂ : A iΓ,(i : I)(∆ `

h : Filleri.A i[δ i/δ ] (a∂ [δ i/δ ])

Γ, i : I,∆ ` h i : A i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space14 / 24

Page 37: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Problem with diagonals

How to buildf : (i, j : I)( (x : A i j)→ B i j x?f =Φ2(f00, f01, f10, f11,h0,h1,k0,k1,w)

f00

h0

k0f01

h1w

f10k1 f11

f 0 0 a = f00 a

f 0 j a = k0 (λ j.a) j

f i j a = w (λ i.λ j.a) i j

f i i a = ? (λ i.a) i

Solution:Base category: I 6→ I∗ ISeparated product: (cf. nom. sets)JΓ, i : IK = JΓK∗yI

“Linear” application:

Γ ` f : (i : I)( A i

Γ, i : I ` f i : A i

Incorporating Φ (J-P. Bernardy):

Γ, i : ∂ I,∆ ` a∂ : A iΓ,(i : I)(∆ `

h : Filleri.A i[δ i/δ ] (a∂ [δ i/δ ])

Γ, i : I,∆ ` h i : A i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space14 / 24

Page 38: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Problem with diagonals

How to buildf : (i, j : I)( (x : A i j)→ B i j x?f =Φ2(f00, f01, f10, f11,h0,h1,k0,k1,w)

f00

h0

k0f01

h1w

f10k1 f11

f 0 0 a = f00 a

f 0 j a = k0 (λ j.a) j

f i j a = w (λ i.λ j.a) i j

f i i a = ? (λ i.a) i

Solution:Base category: I 6→ I∗ ISeparated product: (cf. nom. sets)JΓ, i : IK = JΓK∗yI

“Linear” application:

Γ ` f : (i : I)( A i

Γ, i : I ` f i : A i

Incorporating Φ (J-P. Bernardy):

Γ, i : ∂ I,∆ ` a∂ : A iΓ,(i : I)(∆ `

h : Filleri.A i[δ i/δ ] (a∂ [δ i/δ ])

Γ, i : I,∆ ` h i : A i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space14 / 24

Page 39: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Problem with diagonals

How to buildf : (i, j : I)( (x : A i j)→ B i j x?f =Φ2(f00, f01, f10, f11,h0,h1,k0,k1,w)

f00

h0

k0f01

h1w

f10k1 f11

f 0 0 a = f00 a

f 0 j a = k0 (λ j.a) j

f i j a = w (λ i.λ j.a) i j

f i i a = ? (λ i.a) i

Solution:Base category: I 6→ I∗ ISeparated product: (cf. nom. sets)JΓ, i : IK = JΓK∗yI

“Linear” application:

Γ ` f : (i : I)( A i

Γ, i : I ` f i : A i

Incorporating Φ (J-P. Bernardy):

Γ, i : ∂ I,∆ ` a∂ : A iΓ,(i : I)(∆ `

h : Filleri.A i[δ i/δ ] (a∂ [δ i/δ ])

Γ, i : I,∆ ` h i : A i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space14 / 24

Page 40: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Problem with diagonals

How to buildf : (i, j : I)( (x : A i j)→ B i j x?f =Φ2(f00, f01, f10, f11,h0,h1,k0,k1,w)

f00

h0

k0f01

h1w

f10k1 f11

f 0 0 a = f00 a

f 0 j a = k0 (λ j.a) j

f i j a = w (λ i.λ j.a) i j

f i i a = ? (λ i.a) i

Solution:Base category: I 6→ I∗ ISeparated product: (cf. nom. sets)JΓ, i : IK = JΓK∗yI

“Linear” application:

Γ ` f : (i : I)( A i

Γ, i : I ` f i : A i

Incorporating Φ (J-P. Bernardy):

Γ, i : ∂ I,∆ ` a∂ : A iΓ,(i : I)(∆ `

h : Filleri.A i[δ i/δ ] (a∂ [δ i/δ ])

Γ, i : I,∆ ` h i : A i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space14 / 24

Page 41: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Problem with diagonals

How to buildf : (i, j : I)( (x : A i j)→ B i j x?f =Φ2(f00, f01, f10, f11,h0,h1,k0,k1,w)

f00

h0

k0f01

h1w

f10k1 f11

f 0 0 a = f00 a

f 0 j a = k0 (λ j.a) j

f i j a = w (λ i.λ j.a) i j

f i i a = ? (λ i.a) i

Solution:Base category: I 6→ I∗ ISeparated product: (cf. nom. sets)JΓ, i : IK = JΓK∗yI

“Linear” application:

Γ ` f : (i : I)( A i

Γ, i : I ` f i : A i

Incorporating Φ (J-P. Bernardy):

Γ, i : ∂ I,∆ ` a∂ : A iΓ,(i : I)(∆ `

h : Filleri.A i[δ i/δ ] (a∂ [δ i/δ ])

Γ, i : I,∆ ` h i : A i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space14 / 24

Page 42: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Freshness predicate

Exchange only works one way.

(Γ,a : A, i : I,∆)∼=

(Γ, i : I,a : A, i # a,∆)↓

(Γ, i : I,a : A,∆)

“a does not vary with i .”

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space15 / 24

Page 43: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Freshness predicate

Exchange only works one way.

(Γ,a : A, i : I,∆)∼=

(Γ, i : I,a : A, i # a,∆)↓

(Γ, i : I,a : A,∆)

“a does not vary with i .”

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space15 / 24

Page 44: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Details on semantics

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space16 / 24

Page 45: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Definition (Suitable base category)

sym. monoidalwith terminal unit,

projection (U∗V)→ Vcartesian on monos,

generalized Reedy w.r.t.split epis and monos(can be relaxed)

all U→> split epi,equiv.: ∂>= ∅

Definition

C//U: split epi slices.

Theorem

(U∗−,π1) : C → C//U is faithful.

Definition (Diagonal-free)

(U∗−,π1) : C → C//U is full.Rules outδ : (U∗>,π1) 6→ (U∗U,π1)

Definition (Connection-free)

(U∗−,π1) : C → C//U is ess. srj.Rules out (I∗ I,∧) ∈ C//I

Definition (Cartesian)∗=×

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space17 / 24

Page 46: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Definition (Suitable base category)

sym. monoidalwith terminal unit,

projection (U∗V)→ Vcartesian on monos,

generalized Reedy w.r.t.split epis and monos(can be relaxed)

all U→> split epi,equiv.: ∂>= ∅

Definition

C//U: split epi slices.

Theorem

(U∗−,π1) : C → C//U is faithful.

Definition (Diagonal-free)

(U∗−,π1) : C → C//U is full.Rules outδ : (U∗>,π1) 6→ (U∗U,π1)

Definition (Connection-free)

(U∗−,π1) : C → C//U is ess. srj.Rules out (I∗ I,∧) ∈ C//I

Definition (Cartesian)∗=×

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space17 / 24

Page 47: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Definition (Suitable base category)

sym. monoidalwith terminal unit,

projection (U∗V)→ Vcartesian on monos,

generalized Reedy w.r.t.split epis and monos(can be relaxed)

all U→> split epi,equiv.: ∂>= ∅

Definition

C//U: split epi slices.

Theorem

(U∗−,π1) : C → C//U is faithful.

Definition (Diagonal-free)

(U∗−,π1) : C → C//U is full.Rules outδ : (U∗>,π1) 6→ (U∗U,π1)

Definition (Connection-free)

(U∗−,π1) : C → C//U is ess. srj.Rules out (I∗ I,∧) ∈ C//I

Definition (Cartesian)∗=×

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space17 / 24

Page 48: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Definition (Suitable base category)

sym. monoidalwith terminal unit,

projection (U∗V)→ Vcartesian on monos,

generalized Reedy w.r.t.split epis and monos(can be relaxed)

all U→> split epi,equiv.: ∂>= ∅

Definition

C//U: split epi slices.

Theorem

(U∗−,π1) : C → C//U is faithful.

Definition (Diagonal-free)

(U∗−,π1) : C → C//U is full.Rules outδ : (U∗>,π1) 6→ (U∗U,π1)

Definition (Connection-free)

(U∗−,π1) : C → C//U is ess. srj.Rules out (I∗ I,∧) ∈ C//I

Definition (Cartesian)∗=×

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space17 / 24

Page 49: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Definition (Suitable base category)

sym. monoidalwith terminal unit,

projection (U∗V)→ Vcartesian on monos,

generalized Reedy w.r.t.split epis and monos(can be relaxed)

all U→> split epi,equiv.: ∂>= ∅

Definition

C//U: split epi slices.

Theorem

(U∗−,π1) : C → C//U is faithful.

Definition (Diagonal-free)

(U∗−,π1) : C → C//U is full.Rules outδ : (U∗>,π1) 6→ (U∗U,π1)

Definition (Connection-free)

(U∗−,π1) : C → C//U is ess. srj.Rules out (I∗ I,∧) ∈ C//I

Definition (Cartesian)∗=×

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space17 / 24

Page 50: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Definition (Suitable base category)

sym. monoidalwith terminal unit,

projection (U∗V)→ Vcartesian on monos,

generalized Reedy w.r.t.split epis and monos(can be relaxed)

all U→> split epi,equiv.: ∂>= ∅

Definition

C//U: split epi slices.

Theorem

(U∗−,π1) : C → C//U is faithful.

Definition (Diagonal-free)

(U∗−,π1) : C → C//U is full.Rules outδ : (U∗>,π1) 6→ (U∗U,π1)

Definition (Connection-free)

(U∗−,π1) : C → C//U is ess. srj.Rules out (I∗ I,∧) ∈ C//I

Definition (Cartesian)∗=×

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space17 / 24

Page 51: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Requirements

Glue Weld mill Φ Ψ #mon. base cat. • (•) (•) (•)suit. base cat. • • •cartesiandiag.-free •? •? •conn.-free • •1 •

1With connections: Ψ is sound but underspecified.Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space18 / 24

Page 52: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Results

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space19 / 24

Page 53: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Ψ,Φ,colimit systems |= Glue,Weld,mill(where P ranges only over a shape U)

Sketch of proof: By induction on Reedy-degree of UDefine Glue/Weld/mill on ∂U∂U = colimiVi (degVi < degU)IH: defined on Vi

Colimit system: paste together for ∂UFill the boundary using Φ/Ψ.

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space20 / 24

Page 54: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Ψ,Φ,colimit systems |= Glue,Weld,mill(where P ranges only over a shape U)

Sketch of proof: By induction on Reedy-degree of UDefine Glue/Weld/mill on ∂U∂U = colimiVi (degVi < degU)IH: defined on Vi

Colimit system: paste together for ∂UFill the boundary using Φ/Ψ.

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space20 / 24

Page 55: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Ψ,Φ,colimit systems |= Glue,Weld,mill(where P ranges only over a shape U)

Sketch of proof: By induction on Reedy-degree of UDefine Glue/Weld/mill on ∂U∂U = colimiVi (degVi < degU)IH: defined on Vi

Colimit system: paste together for ∂UFill the boundary using Φ/Ψ.

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space20 / 24

Page 56: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Weld,mill,# |= Ψ

Sketch of proof:Ψ(A∂ ,P) : I( UΨ(A∂ ,P) i = Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)}

((i : I)(Ψ(A∂ ,P) i)=def ((i : I)(Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)})∼=mill Weld{((i : I)( AΣ i)→ (⊥? , )}∼=indWeld ((i : I)( AΣ i)∼=wanted (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

AΣ : I( UAΣ i = (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )× ((a∂ ,p) # i)⇒ ((i : I)( AΣ i)∼= (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

f : (i : ∂ I)( AΣ i→ A∂ if i (a,p, ) = a i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space21 / 24

Page 57: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Weld,mill,# |= Ψ

Sketch of proof:Ψ(A∂ ,P) : I( UΨ(A∂ ,P) i = Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)}

((i : I)(Ψ(A∂ ,P) i)=def ((i : I)(Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)})∼=mill Weld{((i : I)( AΣ i)→ (⊥? , )}∼=indWeld ((i : I)( AΣ i)∼=wanted (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

AΣ : I( UAΣ i = (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )× ((a∂ ,p) # i)⇒ ((i : I)( AΣ i)∼= (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

f : (i : ∂ I)( AΣ i→ A∂ if i (a,p, ) = a i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space21 / 24

Page 58: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Weld,mill,# |= Ψ

Sketch of proof:Ψ(A∂ ,P) : I( UΨ(A∂ ,P) i = Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)}

((i : I)(Ψ(A∂ ,P) i)=def ((i : I)(Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)})∼=mill Weld{((i : I)( AΣ i)→ (⊥? , )}∼=indWeld ((i : I)( AΣ i)∼=wanted (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

AΣ : I( UAΣ i = (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )× ((a∂ ,p) # i)⇒ ((i : I)( AΣ i)∼= (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

f : (i : ∂ I)( AΣ i→ A∂ if i (a,p, ) = a i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space21 / 24

Page 59: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Weld,mill,# |= Ψ

Sketch of proof:Ψ(A∂ ,P) : I( UΨ(A∂ ,P) i = Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)}

((i : I)(Ψ(A∂ ,P) i)=def ((i : I)(Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)})∼=mill Weld{((i : I)( AΣ i)→ (⊥? , )}∼=indWeld ((i : I)( AΣ i)∼=wanted (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

AΣ : I( UAΣ i = (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )× ((a∂ ,p) # i)⇒ ((i : I)( AΣ i)∼= (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

f : (i : ∂ I)( AΣ i→ A∂ if i (a,p, ) = a i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space21 / 24

Page 60: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Weld,mill,# |= Ψ

Sketch of proof:Ψ(A∂ ,P) : I( UΨ(A∂ ,P) i = Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)}

((i : I)(Ψ(A∂ ,P) i)=def ((i : I)(Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)})∼=mill Weld{((i : I)( AΣ i)→ (⊥? , )}∼=indWeld ((i : I)( AΣ i)∼=wanted (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

AΣ : I( UAΣ i = (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )× ((a∂ ,p) # i)⇒ ((i : I)( AΣ i)∼= (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

f : (i : ∂ I)( AΣ i→ A∂ if i (a,p, ) = a i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space21 / 24

Page 61: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Weld,mill,# |= Ψ

Sketch of proof:Ψ(A∂ ,P) : I( UΨ(A∂ ,P) i = Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)}

((i : I)(Ψ(A∂ ,P) i)=def ((i : I)(Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)})∼=mill Weld{((i : I)( AΣ i)→ (⊥? , )}∼=indWeld ((i : I)( AΣ i)∼=wanted (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

AΣ : I( UAΣ i = (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )× ((a∂ ,p) # i)⇒ ((i : I)( AΣ i)∼= (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

f : (i : ∂ I)( AΣ i→ A∂ if i (a,p, ) = a i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space21 / 24

Page 62: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Weld,mill,# |= Ψ

Sketch of proof:Ψ(A∂ ,P) : I( UΨ(A∂ ,P) i = Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)}

((i : I)(Ψ(A∂ ,P) i)=def ((i : I)(Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)})∼=mill Weld{((i : I)( AΣ i)→ (⊥? , )}∼=indWeld ((i : I)( AΣ i)∼=wanted (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

AΣ : I( UAΣ i = (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )× ((a∂ ,p) # i)⇒ ((i : I)( AΣ i)∼= (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

f : (i : ∂ I)( AΣ i→ A∂ if i (a,p, ) = a i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space21 / 24

Page 63: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Weld,mill,# |= Ψ

Sketch of proof:Ψ(A∂ ,P) : I( UΨ(A∂ ,P) i = Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)}

((i : I)(Ψ(A∂ ,P) i)=def ((i : I)(Weld{AΣ i→ (i ∈ ∂ I?A∂ i, f i)})∼=mill Weld{((i : I)( AΣ i)→ (⊥? , )}∼=indWeld ((i : I)( AΣ i)∼=wanted (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

AΣ : I( UAΣ i = (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )× ((a∂ ,p) # i)⇒ ((i : I)( AΣ i)∼= (a∂ : (j : ∂ I)( A∂ j)× (p : P a∂ )

f : (i : ∂ I)( AΣ i→ A∂ if i (a,p, ) = a i

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space21 / 24

Page 64: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Theorem

Glue,Weld,mill,Ψ,# 6|= Φ

Sketch of proof: Pick fully faithful functor I :D→ C.C |= GlueD,WeldD,millD,ΨD,#D,C 6|= ΦD (in general, e.g. ∇ : Cube→ BPCube)because ΦD(f∂ ,h) has no action on U-cells for U ∈ C \ I(D).

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space22 / 24

Page 65: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

J−K : {System F types}→ {MLTT types}

Theorem

ΦCube,ΨCube |= Every term t : JT K is parametric.

Sketch of proof:use Ψ to convert (A0,A1, A) to A : I( U,use Φ to convert (f0, f1, f ) to f : (i : I)( A i→ B i .

Theorem

GlueCube,WeldCube,millCube,ΨCube,#Cube 6|= FillerJ...K� J. . .Krel

Proof: BPCube models LHS, not RHS.

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space23 / 24

Page 66: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

J−K : {System F types}→ {MLTT types}

Theorem

ΦCube,ΨCube |= Every term t : JT K is parametric.

Sketch of proof:use Ψ to convert (A0,A1, A) to A : I( U,use Φ to convert (f0, f1, f ) to f : (i : I)( A i→ B i .

Theorem

GlueCube,WeldCube,millCube,ΨCube,#Cube 6|= FillerJ...K� J. . .Krel

Proof: BPCube models LHS, not RHS.

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space23 / 24

Page 67: GitHub Pages · Definition (Suitable base category) sym. monoidal with terminal unit, projection (UV) !V cartesian on monos, generalized Reedy w.r.t. split epis and monos (can be

Conclusion

Cartesian Φ and Ψ would be best. (Working on it.)Alas: they don’t play well with connections.

Thanks!

Questions?

Andreas Nuyts, Dominique Devriese Internalizing Presheaf Semantics: Charting the Design Space24 / 24