Split coequalizers #
We define what it means for a triple of morphisms f g : X ⟶ Y, π : Y ⟶ Z to be a split
coequalizer: there is a section s of π and a section t of g, which additionally satisfy
t ≫ f = π ≫ s.
In addition, we show that every split coequalizer is a coequalizer
(CategoryTheory.IsSplitCoequalizer.isCoequalizer) and absolute
(CategoryTheory.IsSplitCoequalizer.map)
A pair f g : X ⟶ Y has a split coequalizer if there is a Z and π : Y ⟶ Z making f,g,π a
split coequalizer.
A pair f g : X ⟶ Y has a G-split coequalizer if G f, G g has a split coequalizer.
These definitions and constructions are useful in particular for the monadicity theorems.
TODO #
Dualise to split equalizers.
A split coequalizer diagram consists of morphisms
f π
X ⇉ Y → Z
g
satisfying f ≫ π = g ≫ π together with morphisms
t s
X ← Y ← Z
satisfying s ≫ π = 𝟙 Z, t ≫ g = 𝟙 Y and t ≫ f = π ≫ s.
The name "coequalizer" is appropriate, since any split coequalizer is a coequalizer, see
Category_theory.IsSplitCoequalizer.isCoequalizer.
Split coequalizers are also absolute, since a functor preserves all the structure above.
- rightSection : Z ⟶ Y
A map from the coequalizer to
Y - leftSection : Y ⟶ X
A map in the opposite direction to
fandg - condition : CategoryTheory.CategoryStruct.comp f π = CategoryTheory.CategoryStruct.comp g π
Composition of
πwithfand withgagree - rightSection_π : CategoryTheory.CategoryStruct.comp self.rightSection π = CategoryTheory.CategoryStruct.id Z
rightSectionsplitsπ - leftSection_bottom : CategoryTheory.CategoryStruct.comp self.leftSection g = CategoryTheory.CategoryStruct.id Y
leftSectionsplitsg - leftSection_top : CategoryTheory.CategoryStruct.comp self.leftSection f = CategoryTheory.CategoryStruct.comp π self.rightSection
leftSectioncomposed withfispicomposed withrightSection
Instances For
Equations
- One or more equations did not get rendered due to their size.
Split coequalizers are absolute: they are preserved by any functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A split coequalizer clearly induces a cofork.
Instances For
The cofork induced by a split coequalizer is a coequalizer, justifying the name. In some cases it is more convenient to show a given cofork is a coequalizer by showing it is split.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The pair f,g is a split pair if there is an h : Y ⟶ Z so that f, g, h forms a split
coequalizer in C.
- splittable : ∃ (Z : C) (h : Y ⟶ Z), Nonempty (CategoryTheory.IsSplitCoequalizer f g h)
There is some split coequalizer
Instances
The pair f,g is a G-split pair if there is an h : G Y ⟶ Z so that G f, G g, h forms a split
coequalizer in D.
Equations
- CategoryTheory.Functor.IsSplitPair G f g = CategoryTheory.HasSplitCoequalizer (G.map f) (G.map g)
Instances For
Get the coequalizer object from the typeclass IsSplitPair.
Equations
Instances For
Get the coequalizer morphism from the typeclass IsSplitPair.
Equations
Instances For
The coequalizer morphism coequalizeπ gives a split coequalizer on f,g.
Instances For
If f, g is split, then G f, G g is split.
Equations
- ⋯ = ⋯
If a pair has a split coequalizer, it has a coequalizer.
Equations
- ⋯ = ⋯