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.
: lifts-limits-of J F
equivalence→lifts-limits {Diagram = Diagram} lim = λ where
equivalence→lifts-limits .lifted → lim'
.preserved → right-adjoint-is-continuous F⁻¹⊣F (Limit.has-ran lim')
where
: Limit Diagram
lim' = natural-iso→limit (ni-assoc ∙ni F∘-iso-id-l (Id≅F⁻¹∘F ni⁻¹))
lim' (right-adjoint-limit F⊣F⁻¹ lim)
: creates-limits-of J F
equivalence→creates-limits .has-lifts-limit = equivalence→lifts-limits
equivalence→creates-limits {Diagram = Diagram} .reflects =
equivalence→creates-limits (is-equivalence→is-ff F eqv) Diagram
ff→reflects-limit F
: lifts-colimits-of J F
equivalence→lifts-colimits {Diagram = Diagram} colim = λ where
equivalence→lifts-colimits .lifted → colim'
.preserved → left-adjoint-is-cocontinuous F⊣F⁻¹ (Colimit.has-lan colim')
where
: Colimit Diagram
colim' = natural-iso→colimit (ni-assoc ∙ni F∘-iso-id-l (Id≅F⁻¹∘F ni⁻¹))
colim' (left-adjoint-colimit F⁻¹⊣F colim)
: creates-colimits-of J F
equivalence→creates-colimits .has-lifts-colimit = equivalence→lifts-colimits
equivalence→creates-colimits {Diagram = Diagram} .reflects =
equivalence→creates-colimits (is-equivalence→is-ff F eqv) Diagram ff→reflects-colimit F
(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
: is-complete co cℓ D → is-complete co cℓ C
equivalence→complete⁻¹ = lifts-limits→complete F
equivalence→complete⁻¹ (equivalence→lifts-limits eqv)
: is-complete co cℓ C → is-complete co cℓ D
equivalence→complete = lifts-limits→complete F⁻¹
equivalence→complete (equivalence→lifts-limits inverse-equivalence)
: is-cocomplete co cℓ D → is-cocomplete co cℓ C
equivalence→cocomplete⁻¹ = lifts-colimits→cocomplete F
equivalence→cocomplete⁻¹ (equivalence→lifts-colimits eqv)
: is-cocomplete co cℓ C → is-cocomplete co cℓ D
equivalence→cocomplete = lifts-colimits→cocomplete F⁻¹
equivalence→cocomplete (equivalence→lifts-colimits inverse-equivalence)