The universal globular type
Content created by Egbert Rijke.
Created on 2024-12-03.
Last modified on 2024-12-03.
{-# OPTIONS --guardedness #-} module globular-types.universal-globular-type where
Imports
open import foundation.dependent-pair-types open import foundation.spans open import foundation.universe-levels open import globular-types.dependent-globular-types open import globular-types.exponentials-globular-types open import globular-types.globular-maps open import globular-types.globular-types
Idea
The universal globular type¶ 𝒢 l at
universe level l has the universe UU l as
its type of 0-cells, and uses iterated binary relations for its globular
structure.
Specifically, the universal globular type is a translation from category theory
into type theory of the Hofmann–Streicher universe [Awo22] of
presheaves on the globular category Γ
s₀ s₁ s₂
-----> -----> ----->
0 -----> 1 -----> 2 -----> ⋯.
t₀ t₁ t₂
The Hofmann–Streicher universe of presheaves on a category 𝒞 is the presheaf
𝒰_𝒞 I := Presheaf 𝒞/I
El_𝒞 I A := A *,
where * is the terminal object of 𝒞/I, i.e., the identity morphism on I.
We compute a few instances of the slice category Γ/I:
-
The slice category
Γ/0is the terminal category. -
The slice category
Γ/1is the representing cospans₀ t₀ s₀ -----> 1 <----- t₀The functors
s₀ t₀ : Γ/0 → Γ/1are given by* ↦ s₀and* ↦ t₀, respectively. -
The slice category
Γ/2is the free category on the graphs₁s₀ t₁s₀ | | | | ∨ ∨ s₁ -----> 1 <----- t₁ ∧ ∧ | | | | s₁t₀ t₁t₀and so on. The functors
s₁ t₁ : Γ/1 → Γ/2are given bys₀ ↦ s₁s₀ s₀ ↦ t₁s₀ 1 ↦ s₁ and 1 ↦ t₁ t₀ ↦ s₁t₀ t₀ ↦ t₁t₀respectively.
More specifically, the slice category Γ/n is isomorphic to the iterated
suspension Σⁿ1 of the terminal category.
This means that:
- The type
0-cells of the universal globular type is the universe of typesUU l. - The type of
1-cells fromXtoYof the universal globular type is the type of spans fromXtoY. - The type of
2-cells between any two spansRandSfromXtoYis the type of families of spans fromR x ytoS x yindexed byx : Xandy : Y, and so on.
In other words, the universal globular type 𝒰 has the universe of types as its
type of 0-cells, and for any two types X and Y, the globular type of
1-cells is the double
exponent (𝒰^Y)^X of globular
types.
Unfortunately, the termination checking algorithm isn’t able to establish that
this definition is terminating. Nevertheless, when termination checking is
turned off for this definition, the types of the n-cells come out correctly
for low values of n.
Definitions
The universal globular type
0-cell-universal-Globular-Type : (l1 l2 : Level) → UU (lsuc l1) 0-cell-universal-Globular-Type l1 l2 = UU l1 {-# TERMINATING #-} universal-Globular-Type : (l1 l2 : Level) → Globular-Type (lsuc l1) (l1 ⊔ lsuc l2) 0-cell-Globular-Type (universal-Globular-Type l1 l2) = 0-cell-universal-Globular-Type l1 l2 1-cell-globular-type-Globular-Type (universal-Globular-Type l1 l2) X Y = exponential-Globular-Type X ( exponential-Globular-Type Y (universal-Globular-Type l2 l2)) 1-cell-universal-Globular-Type : {l1 l2 : Level} (X Y : UU l1) → UU (l1 ⊔ lsuc l2) 1-cell-universal-Globular-Type {l1} {l2} = 1-cell-Globular-Type (universal-Globular-Type l1 l2) 2-cell-universal-Globular-Type : {l1 l2 : Level} {X Y : UU l1} (R S : X → Y → UU l2) → UU (l1 ⊔ lsuc l2) 2-cell-universal-Globular-Type {l1} {l2} {X} {Y} = 2-cell-Globular-Type (universal-Globular-Type l1 l2) 3-cell-universal-Globular-Type : {l1 l2 : Level} {X Y : UU l1} {R S : X → Y → UU l2} (A B : (x : X) (y : Y) → R x y → S x y → UU l2) → UU (l1 ⊔ lsuc l2) 3-cell-universal-Globular-Type {l1} {l2} = 3-cell-Globular-Type (universal-Globular-Type l1 l2)
Dependent globular types
Morphisms into the universal globular type induce dependent globular types
0-cell-dependent-globular-type-hom-universal-Globular-Type : {l1 l2 l3 l4 : Level} (G : Globular-Type l1 l2) (h : globular-map G (universal-Globular-Type l3 l4)) → 0-cell-Globular-Type G → UU l3 0-cell-dependent-globular-type-hom-universal-Globular-Type G h = 0-cell-globular-map h dependent-globular-type-hom-universal-Globular-Type : {l1 l2 l3 l4 : Level} (G : Globular-Type l1 l2) (h : globular-map G (universal-Globular-Type l3 l4)) → Dependent-Globular-Type l3 l4 G 0-cell-Dependent-Globular-Type ( dependent-globular-type-hom-universal-Globular-Type G h) = 0-cell-dependent-globular-type-hom-universal-Globular-Type G h 1-cell-dependent-globular-type-Dependent-Globular-Type ( dependent-globular-type-hom-universal-Globular-Type G h) {x} {x'} y y' = dependent-globular-type-hom-universal-Globular-Type ( 1-cell-globular-type-Globular-Type G x x') ( ev-hom-exponential-Globular-Type ( ev-hom-exponential-Globular-Type ( 1-cell-globular-map-globular-map h {x} {x'}) ( y)) ( y'))
Dependent globular types induce morphisms into the universal globular type
{-# TERMINATING #-} characteristic-globular-map-Dependent-Globular-Type : {l1 l2 l3 l4 : Level} {G : Globular-Type l1 l2} (H : Dependent-Globular-Type l3 l4 G) → globular-map G (universal-Globular-Type l3 l4) 0-cell-globular-map ( characteristic-globular-map-Dependent-Globular-Type {G = G} H) = 0-cell-Dependent-Globular-Type H 1-cell-globular-map-globular-map ( characteristic-globular-map-Dependent-Globular-Type {G = G} H) {x} {x'} = bind-family-globular-maps ( λ y → bind-family-globular-maps ( λ y' → characteristic-globular-map-Dependent-Globular-Type ( 1-cell-dependent-globular-type-Dependent-Globular-Type H y y')))
References
- [Awo22]
- Steve Awodey. On Hofmann–Streicher universes. May 2022. arXiv:2205.10917.
Recent changes
- 2024-12-03. Egbert Rijke. Hofmann-Streicher universes for graphs and globular types (#1196).