module Cat.Instances.StrictCat where
The category of strict categories🔗
Recall that a precategory is said strict
if its space of objects is a Set. While general
precategories are too homotopically interesting to fit into a Precategory (because functor
spaces will not, in general, be h-sets), the strict categories
do form a precategory, which we denote
private unquoteDecl eqv = declare-record-iso eqv (quote Functor) Functor-is-set : ∀ {o h} {C D : Precategory o h} → is-set (Ob D) → is-set (Functor C D) Functor-is-set {o = o} {h} {C} {D} dobset = Iso→is-hlevel! 2 eqv where instance Dob : H-Level (Ob D) 2 Dob = basic-instance 2 dobset
Strict-cats : ∀ o h → Precategory _ _ Strict-cats o h .Ob = Σ[ C ∈ Precategory o h ] (is-strict C) Strict-cats o h .Hom (C , _) (D , _) = Functor C D Strict-cats o h .id = Id Strict-cats o h ._∘_ = _F∘_ Strict-cats o h .idr _ = Functor-path (λ _ → refl) λ _ → refl Strict-cats o h .idl _ = Functor-path (λ _ → refl) λ _ → refl Strict-cats o h .assoc _ _ _ = Functor-path (λ _ → refl) λ _ → refl
This assembles into a Precategory because the only bit
of a Functor that doesn’t have a fixed
h-level is the object mapping; By asking that D be a strict category, this fixes
the functors to be sets.
Strict-cats o h .Hom-set _ (D , dset) = Functor-is-set dset
Products🔗
We prove that Strict-cats has products. This
is because
is
and h-levels are closed under products.
Strict-cats-products : {C D : Precategory o h} → (cob : is-set (Ob C)) (dob : is-set (Ob D)) → Product (Strict-cats o h) (C , cob) (D , dob) Strict-cats-products {C = C} {D = D} cob dob = prod where prod : Product (Strict-cats _ _) (C , cob) (D , dob) prod .apex = C ×ᶜ D , ×-is-hlevel 2 cob dob prod .π₁ = Fst {C = C} {D = D} prod .π₂ = Snd {C = C} {D = D} prod .has-is-product .⟨_,_⟩ p q = Cat⟨ p , q ⟩Cat prod .has-is-product .π₁∘⟨⟩ = Functor-path (λ _ → refl) λ _ → refl prod .has-is-product .π₂∘⟨⟩ = Functor-path (λ _ → refl) λ _ → refl prod .has-is-product .unique p q = Functor-path (λ x i → F₀ (p i) x , F₀ (q i) x) λ f i → F₁ (p i) f , F₁ (q i) f