Documentation

Mathlib.CategoryTheory.Limits.Shapes.RegularMono

Definitions and basic properties of regular monomorphisms and epimorphisms. #

A regular monomorphism is a morphism that is the equalizer of some parallel pair.

In this file, we give the following definitions.

Additionally, we give the constructions

We also define classes IsRegularMonoCategory and IsRegularEpiCategory for categories in which every monomorphism or epimorphism is regular, and deduce that these categories are StrongMonoCategorys resp. StrongEpiCategorys.

class CategoryTheory.RegularMono {C : Type u₁} [Category.{v₁, u₁} C] {X Y : C} (f : X Y) :
Type (max u₁ v₁)

A regular monomorphism is a morphism which is the equalizer of some parallel pair.

Instances
    @[instance 100]
    instance CategoryTheory.RegularMono.mono {C : Type u₁} [Category.{v₁, u₁} C] {X Y : C} (f : X Y) [RegularMono f] :

    Every regular monomorphism is a monomorphism.

    Every isomorphism is a regular monomorphism.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def CategoryTheory.RegularMono.ofArrowIso {C : Type u₁} [Category.{v₁, u₁} C] {X Y X' Y' : C} {f : X Y} {g : X' Y'} (e : Arrow.mk f Arrow.mk g) [h : RegularMono f] :

      Regular monomorphisms are preserved by isomorphisms in the arrow category.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[reducible, inline]
        abbrev CategoryTheory.IsRegularMono {C : Type u₁} [Category.{v₁, u₁} C] {X Y : C} (f : X Y) :

        IsRegularMono f is the assertion that f is a regular monomorphism.

        Equations
        Instances For

          The MorphismProperty C satisfied by regular monomorphisms in C.

          Equations
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            @[instance 100]

            Every split monomorphism is a regular monomorphism.

            Equations
            • One or more equations did not get rendered due to their size.

            If f is a regular mono, then any map k : W ⟶ Y equalizing RegularMono.left and RegularMono.right induces a morphism l : W ⟶ X such that l ≫ f = k.

            Equations
            Instances For
              def CategoryTheory.regularOfIsPullbackSndOfRegular {C : Type u₁} [Category.{v₁, u₁} C] {P Q R S : C} {f : P Q} {g : P R} {h : Q S} {k : R S} [hr : RegularMono h] (comm : CategoryStruct.comp f h = CategoryStruct.comp g k) (t : Limits.IsLimit (Limits.PullbackCone.mk f g comm)) :

              The second leg of a pullback cone is a regular monomorphism if the right component is too.

              See also Pullback.sndOfMono for the basic monomorphism version, and regularOfIsPullbackFstOfRegular for the flipped version.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def CategoryTheory.regularOfIsPullbackFstOfRegular {C : Type u₁} [Category.{v₁, u₁} C] {P Q R S : C} {f : P Q} {g : P R} {h : Q S} {k : R S} [RegularMono k] (comm : CategoryStruct.comp f h = CategoryStruct.comp g k) (t : Limits.IsLimit (Limits.PullbackCone.mk f g comm)) :

                The first leg of a pullback cone is a regular monomorphism if the left component is too.

                See also Pullback.fstOfMono for the basic monomorphism version, and regularOfIsPullbackSndOfRegular for the flipped version.

                Equations
                Instances For
                  @[instance 100]
                  theorem CategoryTheory.isIso_of_regularMono_of_epi {C : Type u₁} [Category.{v₁, u₁} C] {X Y : C} (f : X Y) [RegularMono f] [Epi f] :

                  A regular monomorphism is an isomorphism if it is an epimorphism.

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

                  • regularMonoOfMono {X Y : C} (f : X Y) [Mono f] : IsRegularMono f

                    Every monomorphism is a regular monomorphism

                  Instances

                    In a category in which every monomorphism is regular, we can express every monomorphism as an equalizer. This is not an instance because it would create an instance loop.

                    Equations
                    Instances For
                      class CategoryTheory.RegularEpi {C : Type u₁} [Category.{v₁, u₁} C] {X Y : C} (f : X Y) :
                      Type (max u₁ v₁)

                      A regular epimorphism is a morphism which is the coequalizer of some parallel pair.

                      Instances
                        @[instance 100]
                        instance CategoryTheory.RegularEpi.epi {C : Type u₁} [Category.{v₁, u₁} C] {X Y : C} (f : X Y) [RegularEpi f] :
                        Epi f

                        Every regular epimorphism is an epimorphism.

                        Every isomorphism is a regular epimorphism.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def CategoryTheory.RegularEpi.ofArrowIso {C : Type u₁} [Category.{v₁, u₁} C] {X Y X' Y' : C} {f : X Y} {g : X' Y'} (e : Arrow.mk f Arrow.mk g) [h : RegularEpi f] :

                          Regular epimorphisms are preserved by isomorphisms in the arrow category.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[reducible, inline]
                            abbrev CategoryTheory.IsRegularEpi {C : Type u₁} [Category.{v₁, u₁} C] {X Y : C} (f : X Y) :

                            IsRegularEpi f is the assertion that f is a regular epimorphism.

                            Equations
                            Instances For

                              The MorphismProperty C satisfied by regular epimorphisms in C.

                              Equations
                              Instances For

                                Given IsRegularEpi f, a choice of data for RegularEpi f.

                                Equations
                                Instances For
                                  Equations
                                  • One or more equations did not get rendered due to their size.

                                  A morphism which is a coequalizer for its kernel pair is a regular epi.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    The data of an EffectiveEpi structure on a RegularEpi.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For

                                      A morphism which is a coequalizer for its kernel pair is an effective epi.

                                      @[deprecated CategoryTheory.effectiveEpi_of_kernelPair (since := "2025-11-20")]

                                      Alias of CategoryTheory.effectiveEpi_of_kernelPair.


                                      A morphism which is a coequalizer for its kernel pair is an effective epi.

                                      noncomputable instance CategoryTheory.regularEpiOfEffectiveEpi {C : Type u₁} [Category.{v₁, u₁} C] {B X : C} (f : X B) [Limits.HasPullback f f] [EffectiveEpi f] :

                                      An effective epi which has a kernel pair is a regular epi.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      @[instance 100]
                                      instance CategoryTheory.RegularEpi.ofSplitEpi {C : Type u₁} [Category.{v₁, u₁} C] {X Y : C} (f : X Y) [IsSplitEpi f] :

                                      Every split epimorphism is a regular epimorphism.

                                      Equations
                                      • One or more equations did not get rendered due to their size.

                                      If f is a regular epi, then every morphism k : X ⟶ W coequalizing RegularEpi.left and RegularEpi.right induces l : Y ⟶ W such that f ≫ l = k.

                                      Equations
                                      Instances For
                                        def CategoryTheory.regularOfIsPushoutSndOfRegular {C : Type u₁} [Category.{v₁, u₁} C] {P Q R S : C} {f : P Q} {g : P R} {h : Q S} {k : R S} [gr : RegularEpi g] (comm : CategoryStruct.comp f h = CategoryStruct.comp g k) (t : Limits.IsColimit (Limits.PushoutCocone.mk h k comm)) :

                                        The second leg of a pushout cocone is a regular epimorphism if the right component is too.

                                        See also Pushout.sndOfEpi for the basic epimorphism version, and regularOfIsPushoutFstOfRegular for the flipped version.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          def CategoryTheory.regularOfIsPushoutFstOfRegular {C : Type u₁} [Category.{v₁, u₁} C] {P Q R S : C} {f : P Q} {g : P R} {h : Q S} {k : R S} [RegularEpi f] (comm : CategoryStruct.comp f h = CategoryStruct.comp g k) (t : Limits.IsColimit (Limits.PushoutCocone.mk h k comm)) :

                                          The first leg of a pushout cocone is a regular epimorphism if the left component is too.

                                          See also Pushout.fstOfEpi for the basic epimorphism version, and regularOfIsPushoutSndOfRegular for the flipped version.

                                          Equations
                                          Instances For
                                            @[deprecated "No replacement" (since := "2025-11-20"), instance 100]
                                            theorem CategoryTheory.isIso_of_regularEpi_of_mono {C : Type u₁} [Category.{v₁, u₁} C] {X Y : C} (f : X Y) [RegularEpi f] [Mono f] :

                                            A regular epimorphism is an isomorphism if it is a monomorphism.

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

                                            • regularEpiOfEpi {X Y : C} (f : X Y) [Epi f] : IsRegularEpi f

                                              Everyone epimorphism is a regular epimorphism

                                            Instances

                                              In a category in which every epimorphism is regular, we can express every epimorphism as a coequalizer. This is not an instance because it would create an instance loop.

                                              Equations
                                              Instances For