Composition of effective epimorphisms #
This file provides EffectiveEpi instances for certain compositions.
noncomputable def
CategoryTheory.effectiveEpiFamilyStructCompOfEffectiveEpiSplitEpi'
{C : Type u_1}
[Category.{v_1, u_1} C]
{α : Type u_2}
{B : C}
{X Y : α ā C}
(f : (a : α) ā X a ā¶ B)
(g : (a : α) ā Y a ā¶ X a)
(i : (a : α) ā X a ā¶ Y a)
(hi : ā (a : α), CategoryStruct.comp (i a) (g a) = CategoryStruct.id (X a))
[EffectiveEpiFamily X f]
:
EffectiveEpiFamilyStruct Y fun (a : α) => CategoryStruct.comp (g a) (f a)
An effective epi family precomposed by a family of split epis is effective epimorphic.
This version takes an explicit section to the split epis, and is mainly used to define
effectiveEpiStructCompOfEffectiveEpiSplitEpi,
which takes a IsSplitEpi instance instead.
Equations
Instances For
noncomputable def
CategoryTheory.effectiveEpiFamilyStructCompOfEffectiveEpiSplitEpi
{C : Type u_1}
[Category.{v_1, u_1} C]
{α : Type u_2}
{B : C}
{X Y : α ā C}
(f : (a : α) ā X a ā¶ B)
(g : (a : α) ā Y a ā¶ X a)
[ā (a : α), IsSplitEpi (g a)]
[EffectiveEpiFamily X f]
:
EffectiveEpiFamilyStruct Y fun (a : α) => CategoryStruct.comp (g a) (f a)
An effective epi family precomposed with a family of split epis is effective epimorphic.
Equations
Instances For
instance
CategoryTheory.instEffectiveEpiFamilyCompOfIsSplitEpi
{C : Type u_1}
[Category.{v_1, u_1} C]
{α : Type u_2}
{B : C}
{X Y : α ā C}
(f : (a : α) ā X a ā¶ B)
(g : (a : α) ā Y a ā¶ X a)
[ā (a : α), IsSplitEpi (g a)]
[EffectiveEpiFamily X f]
:
EffectiveEpiFamily Y fun (a : α) => CategoryStruct.comp (g a) (f a)
instance
CategoryTheory.IsSplitEpi.EffectiveEpi
{C : Type u_1}
[Category.{v_1, u_1} C]
{B X : C}
(f : X ā¶ B)
[IsSplitEpi f]
:
noncomputable def
CategoryTheory.effectiveEpiFamilyStructOfComp
{C : Type u_2}
[Category.{v_2, u_2} C]
{I : Type u_3}
{Z Y : I ā C}
{X : C}
(g : (i : I) ā Z i ā¶ Y i)
(f : (i : I) ā Y i ā¶ X)
[EffectiveEpiFamily Z fun (i : I) => CategoryStruct.comp (g i) (f i)]
[ā (i : I), Epi (g i)]
:
If a family of morphisms with fixed target, precomposed by a family of epis is effective epimorphic, then the original family is as well.
Equations
Instances For
theorem
CategoryTheory.effectiveEpiFamily_of_effectiveEpi_epi_comp
{C : Type u_1}
[Category.{v_1, u_1} C]
{α : Type u_2}
{B : C}
{X Y : α ā C}
(f : (a : α) ā X a ā¶ B)
(g : (a : α) ā Y a ā¶ X a)
[ā (a : α), Epi (g a)]
[EffectiveEpiFamily Y fun (a : α) => CategoryStruct.comp (g a) (f a)]
:
theorem
CategoryTheory.effectiveEpi_of_effectiveEpi_epi_comp
{C : Type u_1}
[Category.{v_1, u_1} C]
{B X Y : C}
(f : X ā¶ B)
(g : Y ā¶ X)
[Epi g]
[EffectiveEpi (CategoryStruct.comp g f)]
:
theorem
CategoryTheory.effectiveEpiFamilyStructCompIso_aux
{C : Type u_1}
[Category.{v_1, u_1} C]
{B B' : C}
{α : Type u_2}
(X : α ā C)
(Ļ : (a : α) ā X a ā¶ B)
(i : B ā¶ B')
{W : C}
(e : (a : α) ā X a ā¶ W)
(h :
ā {Z : C} (aā aā : α) (gā : Z ā¶ X aā) (gā : Z ā¶ X aā),
CategoryStruct.comp gā (CategoryStruct.comp (Ļ aā) i) = CategoryStruct.comp gā (CategoryStruct.comp (Ļ aā) i) ā
CategoryStruct.comp gā (e aā) = CategoryStruct.comp gā (e aā))
{Z : C}
(aā aā : α)
(gā : Z ā¶ X aā)
(gā : Z ā¶ X aā)
(hg : CategoryStruct.comp gā (Ļ aā) = CategoryStruct.comp gā (Ļ aā))
:
noncomputable def
CategoryTheory.effectiveEpiFamilyStructCompIso
{C : Type u_1}
[Category.{v_1, u_1} C]
{B B' : C}
{α : Type u_2}
(X : α ā C)
(Ļ : (a : α) ā X a ā¶ B)
(i : B ā¶ B')
[EffectiveEpiFamily X Ļ]
[IsIso i]
:
EffectiveEpiFamilyStruct X fun (a : α) => CategoryStruct.comp (Ļ a) i
An effective epi family followed by an iso is an effective epi family.
Equations
Instances For
instance
CategoryTheory.instEffectiveEpiFamilyComp
{C : Type u_1}
[Category.{v_1, u_1} C]
{B B' : C}
{α : Type u_2}
(X : α ā C)
(Ļ : (a : α) ā X a ā¶ B)
(i : B ā¶ B')
[EffectiveEpiFamily X Ļ]
[IsIso i]
:
EffectiveEpiFamily X fun (a : α) => CategoryStruct.comp (Ļ a) i