Documentation

Mathlib.CategoryTheory.Functor.EpiMono

Preservation and reflection of monomorphisms and epimorphisms #

We provide typeclasses that state that a functor preserves or reflects monomorphisms or epimorphisms.

A functor preserves monomorphisms if it maps monomorphisms to monomorphisms.

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

    A functor preserves monomorphisms if it maps monomorphisms to monomorphisms.

Instances
    instance CategoryTheory.Functor.map_mono {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) [F.PreservesMonomorphisms] {X Y : C} (f : X Y) [Mono f] :
    Mono (F.map f)

    A functor preserves epimorphisms if it maps epimorphisms to epimorphisms.

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

      A functor preserves epimorphisms if it maps epimorphisms to epimorphisms.

    Instances
      instance CategoryTheory.Functor.map_epi {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) [F.PreservesEpimorphisms] {X Y : C} (f : X Y) [Epi f] :
      Epi (F.map f)

      A functor reflects monomorphisms if morphisms that are mapped to monomorphisms are themselves monomorphisms.

      • reflects {X Y : C} (f : X Y) : Mono (F.map f)Mono f

        A functor reflects monomorphisms if morphisms that are mapped to monomorphisms are themselves monomorphisms.

      Instances
        theorem CategoryTheory.Functor.mono_of_mono_map {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) [F.ReflectsMonomorphisms] {X Y : C} {f : X Y} (h : Mono (F.map f)) :

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

        • reflects {X Y : C} (f : X Y) : Epi (F.map f)Epi f

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

        Instances
          theorem CategoryTheory.Functor.epi_of_epi_map {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) [F.ReflectsEpimorphisms] {X Y : C} {f : X Y} (h : Epi (F.map f)) :
          Epi f
          noncomputable def CategoryTheory.Functor.splitEpiEquiv {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y : C} (f : X Y) [F.Full] [F.Faithful] :

          If F is a fully faithful functor, split epimorphisms are preserved and reflected by F.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CategoryTheory.Functor.isSplitEpi_iff {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y : C} (f : X Y) [F.Full] [F.Faithful] :
            noncomputable def CategoryTheory.Functor.splitMonoEquiv {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y : C} (f : X Y) [F.Full] [F.Faithful] :

            If F is a fully faithful functor, split monomorphisms are preserved and reflected by F.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem CategoryTheory.Functor.isSplitMono_iff {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y : C} (f : X Y) [F.Full] [F.Faithful] :
              @[simp]
              theorem CategoryTheory.Functor.epi_map_iff_epi {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y : C} (f : X Y) [hF₁ : F.PreservesEpimorphisms] [hF₂ : F.ReflectsEpimorphisms] :
              Epi (F.map f) Epi f
              @[simp]
              theorem CategoryTheory.Functor.mono_map_iff_mono {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y : C} (f : X Y) [hF₁ : F.PreservesMonomorphisms] [hF₂ : F.ReflectsMonomorphisms] :
              Mono (F.map f) Mono f

              If F : C ⥤ D is an equivalence of categories and C is a split_epi_category, then D also is.

              instance CategoryTheory.Adjunction.instMonoCoeEquivHomObjHomEquivOfReflectsMonomorphisms {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {F : Functor C D} {F' : Functor D C} (adj : F F') {X : C} {Y : D} (f : F.obj X Y) [hf : Mono f] [F.ReflectsMonomorphisms] :
              Mono ((adj.homEquiv X Y) f)