Documentation

Mathlib.CategoryTheory.Limits.Shapes.StrongEpi

Strong epimorphisms #

In this file, we define strong epimorphisms. A strong epimorphism is an epimorphism f which has the (unique) left lifting property with respect to monomorphisms. Similarly, a strong monomorphisms in a monomorphism which has the (unique) right lifting property with respect to epimorphisms.

Main results #

Besides the definition, we show that

We also define classes StrongMonoCategory and StrongEpiCategory for categories in which every monomorphism or epimorphism is strong, and deduce that these categories are balanced.

TODO #

Show that the dual of a strong epimorphism is a strong monomorphism, and vice versa.

References #

class CategoryTheory.StrongEpi {C : Type u} [Category.{v, u} C] {P Q : C} (f : P Q) :

A strong epimorphism f is an epimorphism which has the left lifting property with respect to monomorphisms.

  • epi : Epi f

    The epimorphism condition on f

  • llp ⦃X Y : C (z : X Y) [Mono z] : HasLiftingProperty f z

    The left lifting property with respect to all monomorphism

Instances
    theorem CategoryTheory.StrongEpi.mk' {C : Type u} [Category.{v, u} C] {P Q : C} {f : P Q} [Epi f] (hf : ∀ (X Y : C) (z : X Y), Mono z∀ (u : P X) (v : Q Y) (sq : CommSq u f z v), sq.HasLift) :
    class CategoryTheory.StrongMono {C : Type u} [Category.{v, u} C] {P Q : C} (f : P Q) :

    A strong monomorphism f is a monomorphism which has the right lifting property with respect to epimorphisms.

    • mono : Mono f

      The monomorphism condition on f

    • rlp ⦃X Y : C (z : X Y) [Epi z] : HasLiftingProperty z f

      The right lifting property with respect to all epimorphisms

    Instances
      theorem CategoryTheory.StrongMono.mk' {C : Type u} [Category.{v, u} C] {P Q : C} {f : P Q} [Mono f] (hf : ∀ (X Y : C) (z : X Y), Epi z∀ (u : X P) (v : Y Q) (sq : CommSq u z f v), sq.HasLift) :
      @[instance 100]
      instance CategoryTheory.epi_of_strongEpi {C : Type u} [Category.{v, u} C] {P Q : C} (f : P Q) [StrongEpi f] :
      Epi f
      @[instance 100]
      instance CategoryTheory.mono_of_strongMono {C : Type u} [Category.{v, u} C] {P Q : C} (f : P Q) [StrongMono f] :
      theorem CategoryTheory.strongEpi_comp {C : Type u} [Category.{v, u} C] {P Q R : C} (f : P Q) (g : Q R) [StrongEpi f] [StrongEpi g] :

      The composition of two strong epimorphisms is a strong epimorphism.

      theorem CategoryTheory.strongMono_comp {C : Type u} [Category.{v, u} C] {P Q R : C} (f : P Q) (g : Q R) [StrongMono f] [StrongMono g] :

      The composition of two strong monomorphisms is a strong monomorphism.

      theorem CategoryTheory.strongEpi_of_strongEpi {C : Type u} [Category.{v, u} C] {P Q R : C} (f : P Q) (g : Q R) [StrongEpi (CategoryStruct.comp f g)] :

      If f ≫ g is a strong epimorphism, then so is g.

      theorem CategoryTheory.strongMono_of_strongMono {C : Type u} [Category.{v, u} C] {P Q R : C} (f : P Q) (g : Q R) [StrongMono (CategoryStruct.comp f g)] :

      If f ≫ g is a strong monomorphism, then so is f.

      @[instance 100]
      instance CategoryTheory.strongEpi_of_isIso {C : Type u} [Category.{v, u} C] {P Q : C} (f : P Q) [IsIso f] :

      An isomorphism is in particular a strong epimorphism.

      @[instance 100]
      instance CategoryTheory.strongMono_of_isIso {C : Type u} [Category.{v, u} C] {P Q : C} (f : P Q) [IsIso f] :

      An isomorphism is in particular a strong monomorphism.

      theorem CategoryTheory.StrongEpi.of_arrow_iso {C : Type u} [Category.{v, u} C] {A B A' B' : C} {f : A B} {g : A' B'} (e : Arrow.mk f Arrow.mk g) [h : StrongEpi f] :
      theorem CategoryTheory.StrongMono.of_arrow_iso {C : Type u} [Category.{v, u} C] {A B A' B' : C} {f : A B} {g : A' B'} (e : Arrow.mk f Arrow.mk g) [h : StrongMono f] :
      theorem CategoryTheory.StrongEpi.iff_of_arrow_iso {C : Type u} [Category.{v, u} C] {A B A' B' : C} {f : A B} {g : A' B'} (e : Arrow.mk f Arrow.mk g) :
      theorem CategoryTheory.StrongMono.iff_of_arrow_iso {C : Type u} [Category.{v, u} C] {A B A' B' : C} {f : A B} {g : A' B'} (e : Arrow.mk f Arrow.mk g) :
      theorem CategoryTheory.isIso_of_mono_of_strongEpi {C : Type u} [Category.{v, u} C] {P Q : C} (f : P Q) [Mono f] [StrongEpi f] :

      A strong epimorphism that is a monomorphism is an isomorphism.

      theorem CategoryTheory.isIso_of_epi_of_strongMono {C : Type u} [Category.{v, u} C] {P Q : C} (f : P Q) [Epi f] [StrongMono f] :

      A strong monomorphism that is an epimorphism is an isomorphism.

      A strong epi category is a category in which every epimorphism is strong.

      • strongEpi_of_epi {X Y : C} (f : X Y) [Epi f] : StrongEpi f

        A strong epi category is a category in which every epimorphism is strong.

      Instances

        A strong mono category is a category in which every monomorphism is strong.

        • strongMono_of_mono {X Y : C} (f : X Y) [Mono f] : StrongMono f

          A strong mono category is a category in which every monomorphism is strong.

        Instances