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.