Documentation

Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono

Pullbacks and monomorphisms #

This file provides some results about interactions between pullbacks and monomorphisms, as well as the dual statements between pushouts and epimorphisms.

Main results #

The dual notions for pushouts are also available.

theorem CategoryTheory.Limits.PullbackCone.mono_snd_of_is_pullback_of_mono {C : Type u} [Category.{v, u} C] {X Y Z : C} {f : X Z} {g : Y Z} {t : PullbackCone f g} (ht : IsLimit t) [Mono f] :
Mono t.snd

Monomorphisms are stable under pullback in the first argument.

theorem CategoryTheory.Limits.PullbackCone.mono_fst_of_is_pullback_of_mono {C : Type u} [Category.{v, u} C] {X Y Z : C} {f : X Z} {g : Y Z} {t : PullbackCone f g} (ht : IsLimit t) [Mono g] :
Mono t.fst

Monomorphisms are stable under pullback in the second argument.

The pullback cone (𝟙 X, 𝟙 X) for the pair (f, f) is a limit if f is a mono. The converse is shown in mono_of_pullback_is_id.

Equations
Instances For

    f is a mono if the pullback cone (𝟙 X, 𝟙 X) is a limit for the pair (f, f). The converse is given in PullbackCone.is_id_of_mono.

    def CategoryTheory.Limits.PullbackCone.isLimitOfFactors {C : Type u} [Category.{v, u} C] {W X Y Z : C} (f : X Z) (g : Y Z) (h : W Z) [Mono h] (x : X W) (y : Y W) (hxh : CategoryStruct.comp x h = f) (hyh : CategoryStruct.comp y h = g) (s : PullbackCone f g) (hs : IsLimit s) :
    IsLimit (mk s.fst s.snd )

    Suppose f and g are two morphisms with a common codomain and s is a limit cone over the diagram formed by f and g. Suppose f and g both factor through a monomorphism h via x and y, respectively. Then s is also a limit cone over the diagram formed by x and y.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def CategoryTheory.Limits.PullbackCone.isLimitOfCompMono {C : Type u} [Category.{v, u} C] {W X Y Z : C} (f : X W) (g : Y W) (i : W Z) [Mono i] (s : PullbackCone f g) (H : IsLimit s) :
      IsLimit (mk s.fst s.snd )

      If W is the pullback of f, g, it is also the pullback of f ≫ i, g ≫ i for any mono i.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        instance CategoryTheory.Limits.pullback.fst_of_mono {C : Type u} [Category.{v, u} C] {X Y Z : C} {f : X Z} {g : Y Z} [HasPullback f g] [Mono g] :
        Mono (fst f g)

        The pullback of a monomorphism is a monomorphism

        instance CategoryTheory.Limits.pullback.snd_of_mono {C : Type u} [Category.{v, u} C] {X Y Z : C} {f : X Z} {g : Y Z} [HasPullback f g] [Mono f] :
        Mono (snd f g)

        The pullback of a monomorphism is a monomorphism

        instance CategoryTheory.Limits.mono_pullback_to_prod {C : Type u_1} [Category.{u_2, u_1} C] {X Y Z : C} (f : X Z) (g : Y Z) [HasPullback f g] [HasBinaryProduct X Y] :

        The map X ×[Z] Y ⟶ X × Y is mono.

        noncomputable def CategoryTheory.Limits.pullbackIsPullbackOfCompMono {C : Type u} [Category.{v, u} C] {W X Y Z : C} (f : X W) (g : Y W) (i : W Z) [Mono i] [HasPullback f g] :

        The pullback of f, g is also the pullback of f ≫ i, g ≫ i for any mono i.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          instance CategoryTheory.Limits.hasPullback_of_comp_mono {C : Type u} [Category.{v, u} C] {W X Y Z : C} (f : X W) (g : Y W) (i : W Z) [Mono i] [HasPullback f g] :
          theorem CategoryTheory.Limits.PullbackCone.fst_eq_snd_of_mono_eq {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} [Mono f] (t : PullbackCone f f) :
          t.fst = t.snd
          theorem CategoryTheory.Limits.PushoutCocone.epi_inr_of_is_pushout_of_epi {C : Type u} [Category.{v, u} C] {X Y Z : C} {f : X Y} {g : X Z} {t : PushoutCocone f g} (ht : IsColimit t) [Epi f] :
          Epi t.inr
          theorem CategoryTheory.Limits.PushoutCocone.epi_inl_of_is_pushout_of_epi {C : Type u} [Category.{v, u} C] {X Y Z : C} {f : X Y} {g : X Z} {t : PushoutCocone f g} (ht : IsColimit t) [Epi g] :
          Epi t.inl

          The pushout cocone (𝟙 X, 𝟙 X) for the pair (f, f) is a colimit if f is an epi. The converse is shown in epi_of_isColimit_mk_id_id.

          Equations
          Instances For

            f is an epi if the pushout cocone (𝟙 X, 𝟙 X) is a colimit for the pair (f, f). The converse is given in PushoutCocone.isColimitMkIdId.

            def CategoryTheory.Limits.PushoutCocone.isColimitOfFactors {C : Type u} [Category.{v, u} C] {W X Y Z : C} (f : X Y) (g : X Z) (h : X W) [Epi h] (x : W Y) (y : W Z) (hhx : CategoryStruct.comp h x = f) (hhy : CategoryStruct.comp h y = g) (s : PushoutCocone f g) (hs : IsColimit s) :
            let_fun reassoc₁ := ; let_fun reassoc₂ := ; IsColimit (mk s.inl s.inr )

            Suppose f and g are two morphisms with a common domain and s is a colimit cocone over the diagram formed by f and g. Suppose f and g both factor through an epimorphism h via x and y, respectively. Then s is also a colimit cocone over the diagram formed by x and y.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def CategoryTheory.Limits.PushoutCocone.isColimitOfEpiComp {C : Type u} [Category.{v, u} C] {W X Y Z : C} (f : X Y) (g : X Z) (h : W X) [Epi h] (s : PushoutCocone f g) (H : IsColimit s) :
              IsColimit (mk s.inl s.inr )

              If W is the pushout of f, g, it is also the pushout of h ≫ f, h ≫ g for any epi h.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                instance CategoryTheory.Limits.pushout.inl_of_epi {C : Type u} [Category.{v, u} C] {X Y Z : C} {f : X Y} {g : X Z} [HasPushout f g] [Epi g] :
                Epi (inl f g)

                The pushout of an epimorphism is an epimorphism

                instance CategoryTheory.Limits.pushout.inr_of_epi {C : Type u} [Category.{v, u} C] {X Y Z : C} {f : X Y} {g : X Z} [HasPushout f g] [Epi f] :
                Epi (inr f g)

                The pushout of an epimorphism is an epimorphism

                instance CategoryTheory.Limits.epi_coprod_to_pushout {C : Type u_1} [Category.{u_2, u_1} C] {X Y Z : C} (f : X Y) (g : X Z) [HasPushout f g] [HasBinaryCoproduct Y Z] :

                The map X ⨿ Y ⟶ X ⨿[Z] Y is epi.

                noncomputable def CategoryTheory.Limits.pushoutIsPushoutOfEpiComp {C : Type u} [Category.{v, u} C] {W X Y Z : C} (f : X Y) (g : X Z) (h : W X) [Epi h] [HasPushout f g] :

                The pushout of f, g is also the pullback of h ≫ f, h ≫ g for any epi h.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  instance CategoryTheory.Limits.hasPushout_of_epi_comp {C : Type u} [Category.{v, u} C] {W X Y Z : C} (f : X Y) (g : X Z) (h : W X) [Epi h] [HasPushout f g] :
                  theorem CategoryTheory.Limits.PushoutCocone.inl_eq_inr_of_epi_eq {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} [Epi f] (t : PushoutCocone f f) :
                  t.inl = t.inr
                  instance CategoryTheory.Limits.isIso_inl_of_epi {C : Type u} [Category.{v, u} C] {X Y : C} (f : X Y) [Epi f] :
                  instance CategoryTheory.Limits.isIso_inr_of_epi {C : Type u} [Category.{v, u} C] {X Y : C} (f : X Y) [Epi f] :