Projective objects and categories with enough projectives #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
An object P
is called projective if every morphism out of P
factors through every epimorphism.
A category C
has enough projectives if every object admits an epimorphism from some
projective object.
projective.over X
picks an arbitrary such projective object,
and projective.π X : projective.over X ⟶ X
is the corresponding epimorphism.
Given a morphism f : X ⟶ Y
, projective.left f
is a projective object over kernel f
,
and projective.d f : projective.left f ⟶ X
is the morphism π (kernel f) ≫ kernel.ι f
.
- factors : ∀ {E X : C} (f : P ⟶ X) (e : E ⟶ X) [_inst_2 : category_theory.epi e], ∃ (f' : P ⟶ E), f' ≫ e = f
An object P
is called projective if every morphism out of P
factors through every epimorphism.
Instances of this typeclass
- category_theory.projective_presentation.projective
- category_theory.projective.zero_projective
- category_theory.projective.projective
- category_theory.projective.category_theory.limits.coprod.projective
- category_theory.projective.category_theory.limits.sigma_obj.projective
- category_theory.projective.category_theory.limits.biprod.projective
- category_theory.projective.category_theory.limits.biproduct.projective
- category_theory.projective.projective_over
- category_theory.projective.syzygies.projective
- category_theory.ProjectiveResolution.projective
- Profinite.projective_ultrafilter
- CompHaus.projective_ultrafilter
- category_theory.injective.opposite.unop.category_theory.projective
- category_theory.injective.opposite.op.category_theory.projective
- P : C
- projective : category_theory.projective self.P . "apply_instance"
- f : self.P ⟶ X
- epi : category_theory.epi self.f . "apply_instance"
A projective presentation of an object X
consists of an epimorphism f : P ⟶ X
from some projective object P
.
Instances for category_theory.projective_presentation
- category_theory.projective_presentation.has_sizeof_inst
- presentation : ∀ (X : C), nonempty (category_theory.projective_presentation X)
A category "has enough projectives" if for every object X
there is a projective object P
and
an epimorphism P ↠ X
.
Instances of this typeclass
- category_theory.projective.Type.enough_projectives
- Module.Module_enough_projectives
- Rep.category_theory.enough_projectives
- Profinite.category_theory.enough_projectives
- CompHaus.category_theory.enough_projectives
- category_theory.injective.opposite.category_theory.enough_projectives
- local_cohomology.Module_enough_projectives'
An arbitrarily chosen factorisation of a morphism out of a projective object through an epimorphism.
Equations
The axiom of choice says that every type is a projective object in Type
.
projective.over X
provides an arbitrarily chosen projective object equipped with
an epimorphism projective.π : projective.over X ⟶ X
.
Equations
Instances for category_theory.projective.over
The epimorphism projective.π : projective.over X ⟶ X
from the arbitrarily chosen projective object over X
.
Equations
Instances for category_theory.projective.π
When C
has enough projectives, the object projective.syzygies f
is
an arbitrarily chosen projective object over kernel f
.
Equations
Instances for category_theory.projective.syzygies
When C
has enough projectives,
projective.d f : projective.syzygies f ⟶ X
is the composition
π (kernel f) ≫ kernel.ι f
.
(When C
is abelian, we have exact (projective.d f) f
.)
Given an adjunction F ⊣ G
such that G
preserves epis, F
maps a projective presentation of
X
to a projective presentation of F(X)
.
Given an equivalence of categories F
, a projective presentation of F(X)
induces a
projective presentation of X.
Given a projective object P
mapping via h
into
the middle object R
of a pair of exact morphisms f : Q ⟶ R
and g : R ⟶ S
,
such that h ≫ g = 0
, there is a lift of h
to Q
.