Documentation

Mathlib.CategoryTheory.Subobject.Limits

Specific subobjects #

We define equalizerSubobject, kernelSubobject and imageSubobject, which are the subobjects represented by the equalizer, kernel and image of (a pair of) morphism(s) and provide conditions for P.factors f, where P is one of these special subobjects.

TODO: Add conditions for when P is a pullback subobject. TODO: an iff characterisation of (imageSubobject f).Factors h

@[inline, reducible]

The equalizer of morphisms f g : X ⟶ Y as a Subobject X.

Equations
Instances For
    def CategoryTheory.Limits.equalizerSubobjectIso {C : Type u} [CategoryTheory.Category.{v, u} C] {X : C} {Y : C} (f : X Y) (g : X Y) [CategoryTheory.Limits.HasEqualizer f g] :
    CategoryTheory.Subobject.underlying.toPrefunctor.obj (CategoryTheory.Limits.equalizerSubobject f g) CategoryTheory.Limits.equalizer f g

    The underlying object of equalizerSubobject f g is (up to isomorphism!) the same as the chosen object equalizer f g.

    Equations
    Instances For

      The underlying object of kernelSubobject f is (up to isomorphism!) the same as the chosen object kernel f.

      Equations
      Instances For

        A factorisation of h : W ⟶ X through kernelSubobject f, assuming h ≫ f = 0.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def CategoryTheory.Limits.kernelSubobjectMap {C : Type u} [CategoryTheory.Category.{v, u} C] {X : C} {Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X Y} [CategoryTheory.Limits.HasKernel f] {X' : C} {Y' : C} {f' : X' Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f CategoryTheory.Arrow.mk f') :
          CategoryTheory.Subobject.underlying.toPrefunctor.obj (CategoryTheory.Limits.kernelSubobject f) CategoryTheory.Subobject.underlying.toPrefunctor.obj (CategoryTheory.Limits.kernelSubobject f')

          A commuting square induces a morphism between the kernel subobjects.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def CategoryTheory.Limits.kernelSubobjectIsoComp {C : Type u} [CategoryTheory.Category.{v, u} C] {X : C} {Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {X' : C} (f : X' X) [CategoryTheory.IsIso f] (g : X Y) [CategoryTheory.Limits.HasKernel g] :
            CategoryTheory.Subobject.underlying.toPrefunctor.obj (CategoryTheory.Limits.kernelSubobject (CategoryTheory.CategoryStruct.comp f g)) CategoryTheory.Subobject.underlying.toPrefunctor.obj (CategoryTheory.Limits.kernelSubobject g)

            The isomorphism between the kernel of f ≫ g and the kernel of g, when f is an isomorphism.

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

              Taking cokernels is an order-reversing map from the subobjects of X to the quotient objects of X.

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

                Taking kernels is an order-reversing map from the quotient objects of X to the subobjects of X.

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

                  The image of a morphism f g : X ⟶ Y as a Subobject Y.

                  Equations
                  Instances For

                    The underlying object of imageSubobject f is (up to isomorphism!) the same as the chosen object image f.

                    Equations
                    Instances For

                      The morphism imageSubobject (h ≫ f) ⟶ imageSubobject f is an epimorphism when h is an epimorphism. In general this does not imply that imageSubobject (h ≫ f) = imageSubobject f, although it will when the ambient category is abelian.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      def CategoryTheory.Limits.imageSubobjectCompIso {C : Type u} [CategoryTheory.Category.{v, u} C] {X : C} {Y : C} [CategoryTheory.Limits.HasEqualizers C] (f : X Y) [CategoryTheory.Limits.HasImage f] {Y' : C} (h : Y Y') [CategoryTheory.IsIso h] :
                      CategoryTheory.Subobject.underlying.toPrefunctor.obj (CategoryTheory.Limits.imageSubobject (CategoryTheory.CategoryStruct.comp f h)) CategoryTheory.Subobject.underlying.toPrefunctor.obj (CategoryTheory.Limits.imageSubobject f)

                      Postcomposing by an isomorphism gives an isomorphism between image subobjects.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def CategoryTheory.Limits.imageSubobjectMap {C : Type u} [CategoryTheory.Category.{v, u} C] {W : C} {X : C} {Y : C} {Z : C} {f : W X} [CategoryTheory.Limits.HasImage f] {g : Y Z} [CategoryTheory.Limits.HasImage g] (sq : CategoryTheory.Arrow.mk f CategoryTheory.Arrow.mk g) [CategoryTheory.Limits.HasImageMap sq] :
                        CategoryTheory.Subobject.underlying.toPrefunctor.obj (CategoryTheory.Limits.imageSubobject f) CategoryTheory.Subobject.underlying.toPrefunctor.obj (CategoryTheory.Limits.imageSubobject g)

                        Given a commutative square between morphisms f and g, we have a morphism in the category from imageSubobject f to imageSubobject g.

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