Preservation of injective objects #
We define a typeclass Functor.PreservesInjectiveObjects
.
We restate the existing result that if F ⊣ G
is an adjunction and F
preserves monomorphisms,
then G
preserves injective objects. We show that the converse is true if the codomain of F
has
enough injectives.
class
CategoryTheory.Functor.PreservesInjectiveObjects
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
(F : Functor C D)
:
A functor preserves injective objects if it maps injective objects to injective objects.
Instances
instance
CategoryTheory.Functor.injective_obj
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
(F : Functor C D)
[F.PreservesInjectiveObjects]
(X : C)
[Injective X]
:
See Functor.injective_obj_of_injective
for a variant taking Injective X
as an explicit
argument.
theorem
CategoryTheory.Functor.injective_obj_of_injective
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
(F : Functor C D)
[F.PreservesInjectiveObjects]
{X : C}
(h : Injective X)
:
See Functor.injective_obj
for a variant taking Injective X
as a typeclass argument.
instance
CategoryTheory.Functor.preservesInjectiveObjects_comp
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{E : Type u₃}
[Category.{v₃, u₃} E]
(F : Functor C D)
(G : Functor D E)
[F.PreservesInjectiveObjects]
[G.PreservesInjectiveObjects]
:
theorem
CategoryTheory.Functor.preservesInjectiveObjects_of_adjunction_of_preservesMonomorphisms
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C D}
{G : Functor D C}
(adj : F ⊣ G)
[F.PreservesMonomorphisms]
:
@[instance 100]
instance
CategoryTheory.Functor.preservesInjectiveObjects_of_isEquivalence
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
{F : Functor C D}
[F.IsEquivalence]
:
theorem
CategoryTheory.Functor.preservesMonomorphisms_of_adjunction_of_preservesInjectiveObjects
{C : Type u₁}
[Category.{v₁, u₁} C]
{D : Type u₂}
[Category.{v₂, u₂} D]
[EnoughInjectives D]
{F : Functor C D}
{G : Functor D C}
(adj : F ⊣ G)
[G.PreservesInjectiveObjects]
: