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
fandgComposition of
πwithfand withgagreerightSectionsplitsπleftSectionsplitsgleftSectioncomposed 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
- q.map F = { rightSection := F.map q.rightSection, leftSection := F.map q.leftSection, condition := ⋯, rightSection_π := ⋯, leftSection_bottom := ⋯, leftSection_top := ⋯ }
Instances For
A split coequalizer clearly induces a cofork.
Equations
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
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.
Equations
- G.IsSplitPair 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.
If a pair has a split coequalizer, it has a coequalizer.