Documentation

Mathlib.CategoryTheory.EffectiveEpi.Comp

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)
          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.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ā‚‚)) :
              CategoryStruct.comp g₁ (e a₁) = CategoryStruct.comp gā‚‚ (e 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