Large colax reflexive globular maps
Content created by Egbert Rijke.
Created on 2024-12-03.
Last modified on 2024-12-03.
{-# OPTIONS --guardedness #-} module globular-types.large-colax-reflexive-globular-maps where
Imports
open import foundation.function-types open import foundation.universe-levels open import globular-types.colax-reflexive-globular-maps open import globular-types.large-globular-maps open import globular-types.large-reflexive-globular-types open import globular-types.reflexive-globular-types
Idea
A
large colax reflexive globular map¶
between two
large reflexive globular types
G
and H
is a large globular map
f : G → H
equipped with a family of 2-cells
(x : G₀) → H₂ (f₁ (refl G x)) (refl H (f₀ x))
from the image of the reflexivity cell at x
in G
to the reflexivity cell at
f₀ x
, such that the globular map
f' : G' x y → H' (f₀ x) (f₀ y)
is
colax reflexive.
Lack of composition for colax reflexive globular maps
Note that the large colax reflexive globular maps lack composition. For the
composition of g
and f
to exist, there should be a 2
-cell from
g (f (refl G x))
to refl K (g (f x))
, we need to compose the 2-cell that g
preserves reflexivity with the action of g
on the 2-cell that f
preserves
reflexivity. However, since the reflexive globular type G
is not assumed to be
transitive, it might lack such
instances of the compositions.
Lax versus colax
The notion of large lax reflexive globular map is almost the same, except with the direction of the 2-cell reversed. In general, the direction of lax coherence cells is determined by applying the morphism componentwise first, and then the operations, while the direction of colax coherence cells is determined by first applying the operations and then the morphism.
Definitions
The predicate of colaxly preserving reflexivity
record is-colax-reflexive-large-globular-map {α1 α2 : Level → Level} {β1 β2 : Level → Level → Level} {γ : Level → Level} (G : Large-Reflexive-Globular-Type α1 β1) (H : Large-Reflexive-Globular-Type α2 β2) (f : large-globular-map-Large-Reflexive-Globular-Type γ G H) : UUω where field preserves-refl-1-cell-is-colax-reflexive-large-globular-map : {l1 : Level} (x : 0-cell-Large-Reflexive-Globular-Type G l1) → 2-cell-Large-Reflexive-Globular-Type H ( 1-cell-large-globular-map f ( refl-1-cell-Large-Reflexive-Globular-Type G {x = x})) ( refl-1-cell-Large-Reflexive-Globular-Type H) field is-colax-reflexive-1-cell-globular-map-is-colax-reflexive-large-globular-map : {l1 l2 : Level} {x : 0-cell-Large-Reflexive-Globular-Type G l1} {y : 0-cell-Large-Reflexive-Globular-Type G l2} → is-colax-reflexive-globular-map ( 1-cell-reflexive-globular-type-Large-Reflexive-Globular-Type G x y) ( 1-cell-reflexive-globular-type-Large-Reflexive-Globular-Type H _ _) ( 1-cell-globular-map-large-globular-map f) open is-colax-reflexive-large-globular-map public
Colax reflexive globular maps
record large-colax-reflexive-globular-map {α1 α2 : Level → Level} {β1 β2 : Level → Level → Level} (γ : Level → Level) (G : Large-Reflexive-Globular-Type α1 β1) (H : Large-Reflexive-Globular-Type α2 β2) : UUω where constructor make-large-colax-reflexive-globular-map field large-globular-map-large-colax-reflexive-globular-map : large-globular-map-Large-Reflexive-Globular-Type γ G H 0-cell-large-colax-reflexive-globular-map : {l1 : Level} → 0-cell-Large-Reflexive-Globular-Type G l1 → 0-cell-Large-Reflexive-Globular-Type H (γ l1) 0-cell-large-colax-reflexive-globular-map = 0-cell-large-globular-map large-globular-map-large-colax-reflexive-globular-map 1-cell-large-colax-reflexive-globular-map : {l1 l2 : Level} {x : 0-cell-Large-Reflexive-Globular-Type G l1} {y : 0-cell-Large-Reflexive-Globular-Type G l2} → 1-cell-Large-Reflexive-Globular-Type G x y → 1-cell-Large-Reflexive-Globular-Type H ( 0-cell-large-colax-reflexive-globular-map x) ( 0-cell-large-colax-reflexive-globular-map y) 1-cell-large-colax-reflexive-globular-map = 1-cell-large-globular-map large-globular-map-large-colax-reflexive-globular-map 1-cell-globular-map-large-colax-reflexive-globular-map : {l1 l2 : Level} {x : 0-cell-Large-Reflexive-Globular-Type G l1} {y : 0-cell-Large-Reflexive-Globular-Type G l2} → globular-map-Reflexive-Globular-Type ( 1-cell-reflexive-globular-type-Large-Reflexive-Globular-Type G x y) ( 1-cell-reflexive-globular-type-Large-Reflexive-Globular-Type H ( 0-cell-large-colax-reflexive-globular-map x) ( 0-cell-large-colax-reflexive-globular-map y)) 1-cell-globular-map-large-colax-reflexive-globular-map = 1-cell-globular-map-large-globular-map large-globular-map-large-colax-reflexive-globular-map field is-colax-reflexive-large-colax-reflexive-globular-map : is-colax-reflexive-large-globular-map G H large-globular-map-large-colax-reflexive-globular-map preserves-refl-1-cell-large-colax-reflexive-globular-map : {l1 : Level} (x : 0-cell-Large-Reflexive-Globular-Type G l1) → 2-cell-Large-Reflexive-Globular-Type H ( 1-cell-large-colax-reflexive-globular-map ( refl-1-cell-Large-Reflexive-Globular-Type G {x = x})) ( refl-1-cell-Large-Reflexive-Globular-Type H) preserves-refl-1-cell-large-colax-reflexive-globular-map = preserves-refl-1-cell-is-colax-reflexive-large-globular-map is-colax-reflexive-large-colax-reflexive-globular-map is-colax-reflexive-2-cell-globular-map-is-colax-reflexive-large-globular-map : {l1 l2 : Level} {x : 0-cell-Large-Reflexive-Globular-Type G l1} {y : 0-cell-Large-Reflexive-Globular-Type G l2} → is-colax-reflexive-globular-map ( 1-cell-reflexive-globular-type-Large-Reflexive-Globular-Type G x y) ( 1-cell-reflexive-globular-type-Large-Reflexive-Globular-Type H ( 0-cell-large-colax-reflexive-globular-map x) ( 0-cell-large-colax-reflexive-globular-map y)) ( 1-cell-globular-map-large-colax-reflexive-globular-map) is-colax-reflexive-2-cell-globular-map-is-colax-reflexive-large-globular-map = is-colax-reflexive-1-cell-globular-map-is-colax-reflexive-large-globular-map is-colax-reflexive-large-colax-reflexive-globular-map 1-cell-colax-reflexive-globular-map-large-colax-reflexive-globular-map : {l1 l2 : Level} {x : 0-cell-Large-Reflexive-Globular-Type G l1} {y : 0-cell-Large-Reflexive-Globular-Type G l2} → colax-reflexive-globular-map ( 1-cell-reflexive-globular-type-Large-Reflexive-Globular-Type G x y) ( 1-cell-reflexive-globular-type-Large-Reflexive-Globular-Type H ( 0-cell-large-colax-reflexive-globular-map x) ( 0-cell-large-colax-reflexive-globular-map y)) globular-map-colax-reflexive-globular-map 1-cell-colax-reflexive-globular-map-large-colax-reflexive-globular-map = 1-cell-globular-map-large-colax-reflexive-globular-map is-colax-reflexive-colax-reflexive-globular-map 1-cell-colax-reflexive-globular-map-large-colax-reflexive-globular-map = is-colax-reflexive-2-cell-globular-map-is-colax-reflexive-large-globular-map open large-colax-reflexive-globular-map public
The identity large colax reflexive globular map
map-id-large-colax-reflexive-globular-map : {α : Level → Level} {β : Level → Level → Level} (G : Large-Reflexive-Globular-Type α β) → large-globular-map-Large-Reflexive-Globular-Type id G G map-id-large-colax-reflexive-globular-map G = id-large-globular-map _ is-colax-reflexive-id-large-colax-reflexive-globular-map : {α : Level → Level} {β : Level → Level → Level} (G : Large-Reflexive-Globular-Type α β) → is-colax-reflexive-large-globular-map G G ( map-id-large-colax-reflexive-globular-map G) preserves-refl-1-cell-is-colax-reflexive-large-globular-map ( is-colax-reflexive-id-large-colax-reflexive-globular-map G) x = refl-2-cell-Large-Reflexive-Globular-Type G is-colax-reflexive-1-cell-globular-map-is-colax-reflexive-large-globular-map ( is-colax-reflexive-id-large-colax-reflexive-globular-map G) = is-colax-reflexive-id-colax-reflexive-globular-map ( 1-cell-reflexive-globular-type-Large-Reflexive-Globular-Type G _ _) id-large-colax-reflexive-globular-map : {α : Level → Level} {β : Level → Level → Level} (G : Large-Reflexive-Globular-Type α β) → large-colax-reflexive-globular-map id G G large-globular-map-large-colax-reflexive-globular-map ( id-large-colax-reflexive-globular-map G) = map-id-large-colax-reflexive-globular-map G is-colax-reflexive-large-colax-reflexive-globular-map ( id-large-colax-reflexive-globular-map G) = ( is-colax-reflexive-id-large-colax-reflexive-globular-map G)
See also
Recent changes
- 2024-12-03. Egbert Rijke. Hofmann-Streicher universes for graphs and globular types (#1196).