Projective objects and categories with enough projectives #
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.
CategoryTheory.Projective.over X
picks an arbitrary such projective object, and
CategoryTheory.Projective.π X : CategoryTheory.Projective.over X ⟶ X
is the corresponding
epimorphism.
Given a morphism f : X ⟶ Y
, CategoryTheory.Projective.left f
is a projective object over
CategoryTheory.Limits.kernel f
, and Projective.d f : Projective.left f ⟶ X
is the morphism
π (kernel f) ≫ kernel.ι f
.
An object P
is called projective if every morphism out of P
factors through every epimorphism.
- factors : ∀ {E X : C} (f : P ⟶ X) (e : E ⟶ X) [inst : CategoryTheory.Epi e], ∃ (f' : P ⟶ E), CategoryTheory.CategoryStruct.comp f' e = f
Instances
A projective presentation of an object X
consists of an epimorphism f : P ⟶ X
from some projective object P
.
- p : C
- projective : CategoryTheory.Projective self.p
- f : self.p ⟶ X
- epi : CategoryTheory.Epi self.f
Instances For
A category "has enough projectives" if for every object X
there is a projective object P
and
an epimorphism P ↠ X
.
- presentation : ∀ (X : C), Nonempty (CategoryTheory.ProjectivePresentation X)
Instances
An arbitrarily chosen factorisation of a morphism out of a projective object through an epimorphism.
Equations
- CategoryTheory.Projective.factorThru f e = ⋯.choose
Instances For
Equations
- ⋯ = ⋯
The axiom of choice says that every type is a projective object in Type
.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Projective.over X
provides an arbitrarily chosen projective object equipped with
an epimorphism Projective.π : Projective.over X ⟶ X
.
Equations
- CategoryTheory.Projective.over X = ⋯.some.p
Instances For
Equations
- ⋯ = ⋯
The epimorphism projective.π : projective.over X ⟶ X
from the arbitrarily chosen projective object over X
.
Equations
- CategoryTheory.Projective.π X = ⋯.some.f
Instances For
Equations
- ⋯ = ⋯
When C
has enough projectives, the object Projective.syzygies f
is
an arbitrarily chosen projective object over kernel f
.
Equations
Instances For
Equations
- ⋯ = ⋯
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
.)
Equations
Instances For
Given an adjunction F ⊣ G
such that G
preserves epis, F
maps a projective presentation of
X
to a projective presentation of F(X)
.
Equations
- adj.mapProjectivePresentation X Y = CategoryTheory.ProjectivePresentation.mk (F.obj Y.p) (F.map Y.f)
Instances For
Given an equivalence of categories F
, a projective presentation of F(X)
induces a
projective presentation of X.
Equations
- F.projectivePresentationOfMapProjectivePresentation X Y = CategoryTheory.ProjectivePresentation.mk (F.inverse.obj Y.p) (CategoryTheory.CategoryStruct.comp (F.inverse.map Y.f) (F.unitInv.app X))