Documentation

Mathlib.CategoryTheory.EffectiveEpi.Preserves

Functors preserving effective epimorphisms #

This file concerns functors which preserve and/or reflect effective epimorphisms and effective epimorphic families.

TODO #

theorem CategoryTheory.effectiveEpiFamilyStructOfEquivalence_aux {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (e : C ā‰Œ D) {B : C} {α : Type u_3} (X : α → C) (Ļ€ : (a : α) → X a ⟶ B) {W : D} (ε : (a : α) → e.functor.obj (X a) ⟶ W) (h : āˆ€ {Z : D} (a₁ aā‚‚ : α) (g₁ : Z ⟶ e.functor.obj (X a₁)) (gā‚‚ : Z ⟶ e.functor.obj (X aā‚‚)), CategoryStruct.comp g₁ (e.functor.map (Ļ€ a₁)) = CategoryStruct.comp gā‚‚ (e.functor.map (Ļ€ aā‚‚)) → CategoryStruct.comp g₁ (ε a₁) = CategoryStruct.comp gā‚‚ (ε 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₁ ((fun (a : α) => CategoryStruct.comp (e.unit.app (X a)) (e.inverse.map (ε a))) a₁) = CategoryStruct.comp gā‚‚ ((fun (a : α) => CategoryStruct.comp (e.unit.app (X a)) (e.inverse.map (ε a))) aā‚‚)
noncomputable def CategoryTheory.effectiveEpiFamilyStructOfEquivalence {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (e : C ā‰Œ D) {B : C} {α : Type u_3} (X : α → C) (Ļ€ : (a : α) → X a ⟶ B) [EffectiveEpiFamily X Ļ€] :
EffectiveEpiFamilyStruct (fun (a : α) => e.functor.obj (X a)) fun (a : α) => e.functor.map (Ļ€ a)

Equivalences preserve effective epimorphic families

Instances For
    instance CategoryTheory.instEffectiveEpiFamilyObjMapOfIsEquivalence {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] {B : C} {α : Type u_3} (X : α → C) (Ļ€ : (a : α) → X a ⟶ B) [EffectiveEpiFamily X Ļ€] (F : Functor C D) [F.IsEquivalence] :
    EffectiveEpiFamily (fun (a : α) => F.obj (X a)) fun (a : α) => F.map (Ļ€ a)

    A class describing the property of preserving effective epimorphisms.

    • preserves {X Y : C} (f : X ⟶ Y) [EffectiveEpi f] : EffectiveEpi (F.map f)

      A functor preserves effective epimorphisms if it maps effective epimorphisms to effective epimorphisms.

    Instances

      A class describing the property of preserving effective epimorphic families.

      • preserves {α : Type u} {B : C} (X : α → C) (Ļ€ : (a : α) → X a ⟶ B) [EffectiveEpiFamily X Ļ€] : EffectiveEpiFamily (fun (a : α) => F.obj (X a)) fun (a : α) => F.map (Ļ€ a)

        A functor preserves effective epimorphic families if it maps effective epimorphic families to effective epimorphic families.

      Instances
        instance CategoryTheory.Functor.map_effectiveEpiFamily {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (F : Functor C D) [F.PreservesEffectiveEpiFamilies] {α : Type u} {B : C} (X : α → C) (Ļ€ : (a : α) → X a ⟶ B) [EffectiveEpiFamily X Ļ€] :
        EffectiveEpiFamily (fun (a : α) => F.obj (X a)) fun (a : α) => F.map (Ļ€ a)

        A class describing the property of preserving finite effective epimorphic families.

        • preserves {α : Type} [Finite α] {B : C} (X : α → C) (Ļ€ : (a : α) → X a ⟶ B) [EffectiveEpiFamily X Ļ€] : EffectiveEpiFamily (fun (a : α) => F.obj (X a)) fun (a : α) => F.map (Ļ€ a)

          A functor preserves finite effective epimorphic families if it maps finite effective epimorphic families to effective epimorphic families.

        Instances
          instance CategoryTheory.Functor.map_finite_effectiveEpiFamily {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (F : Functor C D) [F.PreservesFiniteEffectiveEpiFamilies] {α : Type} [Finite α] {B : C} (X : α → C) (Ļ€ : (a : α) → X a ⟶ B) [EffectiveEpiFamily X Ļ€] :
          EffectiveEpiFamily (fun (a : α) => F.obj (X a)) fun (a : α) => F.map (Ļ€ a)

          A class describing the property of reflecting effective epimorphisms.

          • reflects {X Y : C} (f : X ⟶ Y) : EffectiveEpi (F.map f) → EffectiveEpi f

            A functor reflects effective epimorphisms if morphisms that are mapped to epimorphisms are themselves effective epimorphisms.

          Instances

            A class describing the property of reflecting effective epimorphic families.

            • reflects {α : Type u} {B : C} (X : α → C) (Ļ€ : (a : α) → X a ⟶ B) : (EffectiveEpiFamily (fun (a : α) => F.obj (X a)) fun (a : α) => F.map (Ļ€ a)) → EffectiveEpiFamily X Ļ€

              A functor reflects effective epimorphic families if families that are mapped to effective epimorphic families are themselves effective epimorphic families.

            Instances
              theorem CategoryTheory.Functor.effectiveEpiFamily_of_map {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (F : Functor C D) [F.ReflectsEffectiveEpiFamilies] {α : Type u} {B : C} (X : α → C) (Ļ€ : (a : α) → X a ⟶ B) (h : EffectiveEpiFamily (fun (a : α) => F.obj (X a)) fun (a : α) => F.map (Ļ€ a)) :

              A class describing the property of reflecting finite effective epimorphic families.

              • reflects {α : Type} [Finite α] {B : C} (X : α → C) (Ļ€ : (a : α) → X a ⟶ B) : (EffectiveEpiFamily (fun (a : α) => F.obj (X a)) fun (a : α) => F.map (Ļ€ a)) → EffectiveEpiFamily X Ļ€

                A functor reflects finite effective epimorphic families if finite families that are mapped to effective epimorphic families are themselves effective epimorphic families.

              Instances
                theorem CategoryTheory.Functor.finite_effectiveEpiFamily_of_map {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] (F : Functor C D) [F.ReflectsFiniteEffectiveEpiFamilies] {α : Type} [Finite α] {B : C} (X : α → C) (Ļ€ : (a : α) → X a ⟶ B) (h : EffectiveEpiFamily (fun (a : α) => F.obj (X a)) fun (a : α) => F.map (Ļ€ a)) :