module Cat.Functor.Equivalence.Properties where
Properties of equivalences of categories🔗
This module collects some properties of equivalences of categories.
Equivalences create limits and colimits🔗
module _ {o ℓ o' ℓ'} {C : Precategory o ℓ} {D : Precategory o' ℓ'} {F : Functor C D} (eqv : is-equivalence F) {oj ℓj} {J : Precategory oj ℓj} where open is-equivalence eqv
If is an equivalence, then creates limits and colimits. To see this, assume that has a limit in Since is continuous, we get a limit of in this limit is automatically preserved since is continuous as well. also reflects limits, since it is fully faithful.
equivalence→lifts-limits : lifts-limits-of J F equivalence→lifts-limits {Diagram = Diagram} lim = λ where .lifted → lim' .preserved → right-adjoint-is-continuous F⁻¹⊣F (Limit.has-ran lim') where lim' : Limit Diagram lim' = natural-iso→limit (ni-assoc ∙ni F∘-iso-id-l (Id≅F⁻¹∘F ni⁻¹)) (right-adjoint-limit F⊣F⁻¹ lim) equivalence→creates-limits : creates-limits-of J F equivalence→creates-limits .has-lifts-limit = equivalence→lifts-limits equivalence→creates-limits {Diagram = Diagram} .reflects = ff→reflects-limit F (is-equivalence→is-ff F eqv) Diagram equivalence→lifts-colimits : lifts-colimits-of J F equivalence→lifts-colimits {Diagram = Diagram} colim = λ where .lifted → colim' .preserved → left-adjoint-is-cocontinuous F⊣F⁻¹ (Colimit.has-lan colim') where colim' : Colimit Diagram colim' = natural-iso→colimit (ni-assoc ∙ni F∘-iso-id-l (Id≅F⁻¹∘F ni⁻¹)) (left-adjoint-colimit F⁻¹⊣F colim) equivalence→creates-colimits : creates-colimits-of J F equivalence→creates-colimits .has-lifts-colimit = equivalence→lifts-colimits equivalence→creates-colimits {Diagram = Diagram} .reflects = ff→reflects-colimit F (is-equivalence→is-ff F eqv) Diagram
(Co)completeness respects equivalences🔗
As a consequence of the previous fact, has (co)limits of diagrams if and only if does, since both and are equivalences and thus lift (co)limits.
module _ {o ℓ o' ℓ'} {C : Precategory o ℓ} {D : Precategory o' ℓ'} {F : Functor C D} (eqv : is-equivalence F) {co cℓ} where open is-equivalence eqv
equivalence→complete⁻¹ : is-complete co cℓ D → is-complete co cℓ C equivalence→complete⁻¹ = lifts-limits→complete F (equivalence→lifts-limits eqv) equivalence→complete : is-complete co cℓ C → is-complete co cℓ D equivalence→complete = lifts-limits→complete F⁻¹ (equivalence→lifts-limits inverse-equivalence) equivalence→cocomplete⁻¹ : is-cocomplete co cℓ D → is-cocomplete co cℓ C equivalence→cocomplete⁻¹ = lifts-colimits→cocomplete F (equivalence→lifts-colimits eqv) equivalence→cocomplete : is-cocomplete co cℓ C → is-cocomplete co cℓ D equivalence→cocomplete = lifts-colimits→cocomplete F⁻¹ (equivalence→lifts-colimits inverse-equivalence)