Documentation

Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels

Preserving (co)kernels #

Constructions to relate the notions of preserving (co)kernels and reflecting (co)kernels to concrete (co)forks.

In particular, we show that kernel_comparison f g G is an isomorphism iff G preserves the limit of the parallel pair f,0, as well as the dual result.

A kernel fork for f is mapped to a kernel fork for G.map f if G is a functor which preserves zero morphisms.

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

    The underlying cone of a kernel fork is mapped to a limit cone if and only if the mapped kernel fork is limit.

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

      The map of a kernel fork is a limit iff the kernel fork consisting of the mapped morphisms is a limit. This essentially lets us commute KernelFork.ofι with Functor.mapCone.

      This is a variant of isLimitMapConeForkEquiv for equalizers, which we can't use directly between G.map 0 = 0 does not hold definitionally.

      Equations
      Instances For

        The property of preserving kernels expressed in terms of kernel forks.

        This is a variant of isLimitForkMapOfIsLimit for equalizers, which we can't use directly between G.map 0 = 0 does not hold definitionally.

        Equations
        Instances For

          If G preserves kernels and C has them, then the fork constructed of the mapped morphisms of a kernel fork is a limit.

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

            If the kernel comparison map for G at f is an isomorphism, then G preserves the kernel of f.

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

              If G preserves the kernel of f, then the kernel comparison map for G at f is an isomorphism.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem CategoryTheory.Limits.kernel_map_comp_preserves_kernel_iso_inv_assoc {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasZeroMorphisms C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.Limits.HasZeroMorphisms D] (G : CategoryTheory.Functor C D) [CategoryTheory.Functor.PreservesZeroMorphisms G] {X : C} {Y : C} (f : X Y) [CategoryTheory.Limits.HasKernel f] [CategoryTheory.Limits.HasKernel (G.toPrefunctor.map f)] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair f 0) G] {X' : C} {Y' : C} (g : X' Y') [CategoryTheory.Limits.HasKernel g] [CategoryTheory.Limits.HasKernel (G.toPrefunctor.map g)] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair g 0) G] (p : X X') (q : Y Y') (hpq : CategoryTheory.CategoryStruct.comp f q = CategoryTheory.CategoryStruct.comp p g) {Z : D} (h : G.toPrefunctor.obj (CategoryTheory.Limits.kernel g) Z) :
                CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.map (G.toPrefunctor.map f) (G.toPrefunctor.map g) (G.toPrefunctor.map p) (G.toPrefunctor.map q) (_ : CategoryTheory.CategoryStruct.comp (G.toPrefunctor.map f) (G.toPrefunctor.map q) = CategoryTheory.CategoryStruct.comp (G.toPrefunctor.map p) (G.toPrefunctor.map g))) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PreservesKernel.iso G g).inv h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PreservesKernel.iso G f).inv (CategoryTheory.CategoryStruct.comp (G.toPrefunctor.map (CategoryTheory.Limits.kernel.map f g p q hpq)) h)

                A cokernel cofork for f is mapped to a cokernel cofork for G.map f if G is a functor which preserves zero morphisms.

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

                  The underlying cocone of a cokernel cofork is mapped to a colimit cocone if and only if the mapped cokernel cofork is colimit.

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

                    The map of a cokernel cofork is a colimit iff the cokernel cofork consisting of the mapped morphisms is a colimit. This essentially lets us commute CokernelCofork.ofπ with Functor.mapCocone.

                    This is a variant of isColimitMapCoconeCoforkEquiv for equalizers, which we can't use directly between G.map 0 = 0 does not hold definitionally.

                    Equations
                    Instances For

                      The property of preserving cokernels expressed in terms of cokernel coforks.

                      This is a variant of isColimitCoforkMapOfIsColimit for equalizers, which we can't use directly between G.map 0 = 0 does not hold definitionally.

                      Equations
                      Instances For

                        If G preserves cokernels and C has them, then the cofork constructed of the mapped morphisms of a cokernel cofork is a colimit.

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

                          If the cokernel comparison map for G at f is an isomorphism, then G preserves the cokernel of f.

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

                            If G preserves the cokernel of f, then the cokernel comparison map for G at f is an isomorphism.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              theorem CategoryTheory.Limits.preserves_cokernel_iso_comp_cokernel_map_assoc {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasZeroMorphisms C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.Limits.HasZeroMorphisms D] (G : CategoryTheory.Functor C D) [CategoryTheory.Functor.PreservesZeroMorphisms G] {X : C} {Y : C} (f : X Y) [CategoryTheory.Limits.HasCokernel f] [CategoryTheory.Limits.HasCokernel (G.toPrefunctor.map f)] [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.parallelPair f 0) G] {X' : C} {Y' : C} (g : X' Y') [CategoryTheory.Limits.HasCokernel g] [CategoryTheory.Limits.HasCokernel (G.toPrefunctor.map g)] [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.parallelPair g 0) G] (p : X X') (q : Y Y') (hpq : CategoryTheory.CategoryStruct.comp f q = CategoryTheory.CategoryStruct.comp p g) {Z : D} (h : CategoryTheory.Limits.cokernel (G.toPrefunctor.map g) Z) :
                              CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PreservesCokernel.iso G f).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.cokernel.map (G.toPrefunctor.map f) (G.toPrefunctor.map g) (G.toPrefunctor.map p) (G.toPrefunctor.map q) (_ : CategoryTheory.CategoryStruct.comp (G.toPrefunctor.map f) (G.toPrefunctor.map q) = CategoryTheory.CategoryStruct.comp (G.toPrefunctor.map p) (G.toPrefunctor.map g))) h) = CategoryTheory.CategoryStruct.comp (G.toPrefunctor.map (CategoryTheory.Limits.cokernel.map f g p q hpq)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PreservesCokernel.iso G g).hom h)

                              The kernel of a zero map is preserved by any functor which preserves zero morphisms.

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

                                The cokernel of a zero map is preserved by any functor which preserves zero morphisms.

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