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]
: