Injective objects and categories with enough injectives #
An object J is injective iff every morphism into J can be obtained by extending a monomorphism.
An object J is injective iff every morphism into J can be obtained by extending a monomorphism.
- factors : ∀ {X Y : C} (g : X ⟶ J) (f : X ⟶ Y) [inst : CategoryTheory.Mono f], ∃ (h : Y ⟶ J), CategoryTheory.CategoryStruct.comp f h = g
Instances
An injective presentation of an object X consists of a monomorphism f : X ⟶ J
to some injective object J.
- J : C
- injective : CategoryTheory.Injective self.J
- f : X ⟶ self.J
- mono : CategoryTheory.Mono self.f
Instances For
A category "has enough injectives" if every object has an injective presentation,
i.e. if for every object X there is an injective object J and a monomorphism X ↪ J.
- presentation : ∀ (X : C), Nonempty (CategoryTheory.InjectivePresentation X)
Instances
Let J be injective and g a morphism into J, then g can be factored through any monomorphism.
Equations
- CategoryTheory.Injective.factorThru g f = Exists.choose (_ : ∃ (h : Y ⟶ J), CategoryTheory.CategoryStruct.comp f h = g)
Instances For
Equations
- (_ : CategoryTheory.Injective 0) = (_ : CategoryTheory.Injective 0)
The axiom of choice says that every nonempty type is an injective object in Type.
Equations
- (_ : CategoryTheory.Injective X) = (_ : CategoryTheory.Injective X)
Equations
- (_ : CategoryTheory.Injective (P ⨯ Q)) = (_ : CategoryTheory.Injective (P ⨯ Q))
Equations
- (_ : CategoryTheory.Injective (∏ c)) = (_ : CategoryTheory.Injective (∏ c))
Equations
- (_ : CategoryTheory.Injective (P ⊞ Q)) = (_ : CategoryTheory.Injective (P ⊞ Q))
Equations
- (_ : CategoryTheory.Injective (⨁ c)) = (_ : CategoryTheory.Injective (⨁ c))
Equations
- (_ : CategoryTheory.Injective P.unop) = (_ : CategoryTheory.Injective P.unop)
Equations
- (_ : CategoryTheory.Projective J.unop) = (_ : CategoryTheory.Projective J.unop)
Equations
- (_ : CategoryTheory.Projective (Opposite.op J)) = (_ : CategoryTheory.Projective (Opposite.op J))
Equations
- (_ : CategoryTheory.Injective (Opposite.op P)) = (_ : CategoryTheory.Injective (Opposite.op P))
Injective.under X provides an arbitrarily chosen injective object equipped with
a monomorphism Injective.ι : X ⟶ Injective.under X.
Equations
Instances For
Equations
- (_ : CategoryTheory.Injective (CategoryTheory.Injective.under X)) = (_ : CategoryTheory.Injective (Nonempty.some (_ : Nonempty (CategoryTheory.InjectivePresentation X))).J)
The monomorphism Injective.ι : X ⟶ Injective.under X
from the arbitrarily chosen injective object under X.
Equations
Instances For
Equations
- (_ : CategoryTheory.Mono (CategoryTheory.Injective.ι X)) = (_ : CategoryTheory.Mono (Nonempty.some (_ : Nonempty (CategoryTheory.InjectivePresentation X))).f)
When C has enough injectives, the object Injective.syzygies f is
an arbitrarily chosen injective object under cokernel f.
Equations
Instances For
Equations
When C has enough injective,
Injective.d f : Y ⟶ syzygies f is the composition
cokernel.π f ≫ ι (cokernel f).
(When C is abelian, we have exact f (injective.d f).)
Equations
Instances For
Equations
- (_ : CategoryTheory.EnoughProjectives Cᵒᵖ) = (_ : CategoryTheory.EnoughProjectives Cᵒᵖ)
Equations
- (_ : CategoryTheory.EnoughInjectives Cᵒᵖ) = (_ : CategoryTheory.EnoughInjectives Cᵒᵖ)
Given a pair of exact morphism f : Q ⟶ R and g : R ⟶ S and a map h : R ⟶ J to an injective
object J such that f ≫ h = 0, then g descents to a map S ⟶ J. See below:
Q --- f --> R --- g --> S
|
| h
v
J
Equations
- CategoryTheory.Injective.Exact.desc h f g hgf w = (CategoryTheory.Exact.lift h.op g.op f.op hgf (_ : (CategoryTheory.CategoryStruct.comp f.op.unop h.op.unop).op = 0.op)).unop
Instances For
Given an adjunction F ⊣ G such that F preserves monos, G maps an injective presentation
of X to an injective presentation of G(X).
Equations
- CategoryTheory.Adjunction.mapInjectivePresentation adj X I = CategoryTheory.InjectivePresentation.mk (G.toPrefunctor.obj I.J) (G.toPrefunctor.map I.f)
Instances For
Given an adjunction F ⊣ G such that F preserves monomorphisms and is faithful,
then any injective presentation of F(X) can be pulled back to an injective presentation of X.
This is similar to mapInjectivePresentation.
Equations
- CategoryTheory.Adjunction.injectivePresentationOfMap adj X I = CategoryTheory.InjectivePresentation.mk (G.toPrefunctor.obj I.J) ((adj.homEquiv X I.J) I.f)
Instances For
An equivalence of categories transfers enough injectives.
Given an equivalence of categories F, an injective presentation of F(X) induces an
injective presentation of X.