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.
This file has been adapted to Mathlib/CategoryTheory/Limits/Shapes/SplitEqualizer.lean. Please try
to keep them in sync.
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
CategoryTheory.IsSplitCoequalizer.isCoequalizer.
Split coequalizers are also absolute, since a functor preserves all the structure above.
A map from the coequalizer to
YA map in the opposite direction to
fandg- condition : CategoryStruct.comp f π = CategoryStruct.comp g π
Composition of
πwithfand withgagree - rightSection_π : CategoryStruct.comp self.rightSection π = CategoryStruct.id Z
rightSectionsplitsπ - leftSection_bottom : CategoryStruct.comp self.leftSection g = CategoryStruct.id Y
leftSectionsplitsg - leftSection_top : CategoryStruct.comp self.leftSection f = CategoryStruct.comp π self.rightSection
leftSectioncomposed withfispicomposed withrightSection
Instances For
Composition of π with f and with g agree
leftSection splits g
leftSection composed with f is pi composed with rightSection
rightSection splits π
Split coequalizers are absolute: they are preserved by any functor.
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.
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 (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.
Instances For
Get the coequalizer object from the typeclass IsSplitPair.
Instances For
Get the coequalizer morphism from the typeclass IsSplitPair.
Instances For
The coequalizer morphism coequalizerπ gives a split coequalizer on f,g.
Instances For
If f, g is split, then G f, G g is split.
If a pair has a split coequalizer, it has a coequalizer.