If D is abelian, then the functor category C ⥤ D is also abelian. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
@[simp]
    
theorem
category_theory.abelian.functor_category.coimage_obj_iso_hom
    {C : Type (max v u)}
    [category_theory.category C]
    {D : Type w}
    [category_theory.category D]
    [category_theory.abelian D]
    {F G : C ⥤ D}
    (α : F ⟶ G)
    (X : C) :
(category_theory.abelian.functor_category.coimage_obj_iso α X).hom = (category_theory.limits.preserves_cokernel.iso ((category_theory.evaluation C D).obj X) (category_theory.limits.kernel.ι α)).hom ≫ category_theory.limits.cokernel.map ((category_theory.limits.kernel.ι α).app X) (category_theory.limits.kernel.ι (α.app X)) (category_theory.limits.kernel_comparison α ((category_theory.evaluation C D).obj X)) (𝟙 (F.obj X)) _
@[simp]
    
theorem
category_theory.abelian.functor_category.coimage_obj_iso_inv
    {C : Type (max v u)}
    [category_theory.category C]
    {D : Type w}
    [category_theory.category D]
    [category_theory.abelian D]
    {F G : C ⥤ D}
    (α : F ⟶ G)
    (X : C) :
(category_theory.abelian.functor_category.coimage_obj_iso α X).inv = category_theory.limits.cokernel.map (category_theory.limits.kernel.ι (α.app X)) ((category_theory.limits.kernel.ι α).app X) (category_theory.limits.preserves_kernel.iso ((category_theory.evaluation C D).obj X) α).inv (𝟙 (F.obj X)) _ ≫ category_theory.limits.cokernel_comparison (category_theory.limits.kernel.ι α) ((category_theory.evaluation C D).obj X)
    
noncomputable
def
category_theory.abelian.functor_category.coimage_obj_iso
    {C : Type (max v u)}
    [category_theory.category C]
    {D : Type w}
    [category_theory.category D]
    [category_theory.abelian D]
    {F G : C ⥤ D}
    (α : F ⟶ G)
    (X : C) :
The abelian coimage in a functor category can be calculated componentwise.
Equations
- category_theory.abelian.functor_category.coimage_obj_iso α X = category_theory.limits.preserves_cokernel.iso ((category_theory.evaluation C D).obj X) (category_theory.limits.kernel.ι α) ≪≫ category_theory.limits.cokernel.map_iso (((category_theory.evaluation C D).obj X).map (category_theory.limits.kernel.ι α)) (category_theory.limits.kernel.ι (α.app X)) (category_theory.limits.preserves_kernel.iso ((category_theory.evaluation C D).obj X) α) (category_theory.iso.refl (((category_theory.evaluation C D).obj X).obj F)) _
    
noncomputable
def
category_theory.abelian.functor_category.image_obj_iso
    {C : Type (max v u)}
    [category_theory.category C]
    {D : Type w}
    [category_theory.category D]
    [category_theory.abelian D]
    {F G : C ⥤ D}
    (α : F ⟶ G)
    (X : C) :
The abelian image in a functor category can be calculated componentwise.
Equations
- category_theory.abelian.functor_category.image_obj_iso α X = category_theory.limits.preserves_kernel.iso ((category_theory.evaluation C D).obj X) (category_theory.limits.cokernel.π α) ≪≫ category_theory.limits.kernel.map_iso (((category_theory.evaluation C D).obj X).map (category_theory.limits.cokernel.π α)) (category_theory.limits.cokernel.π (α.app X)) (category_theory.iso.refl (((category_theory.evaluation C D).obj X).obj G)) (category_theory.limits.preserves_cokernel.iso ((category_theory.evaluation C D).obj X) α) _
@[simp]
    
theorem
category_theory.abelian.functor_category.image_obj_iso_hom
    {C : Type (max v u)}
    [category_theory.category C]
    {D : Type w}
    [category_theory.category D]
    [category_theory.abelian D]
    {F G : C ⥤ D}
    (α : F ⟶ G)
    (X : C) :
(category_theory.abelian.functor_category.image_obj_iso α X).hom = category_theory.limits.kernel_comparison (category_theory.limits.cokernel.π α) ((category_theory.evaluation C D).obj X) ≫ category_theory.limits.kernel.map ((category_theory.limits.cokernel.π α).app X) (category_theory.limits.cokernel.π (α.app X)) (𝟙 (G.obj X)) (category_theory.limits.preserves_cokernel.iso ((category_theory.evaluation C D).obj X) α).hom _
@[simp]
    
theorem
category_theory.abelian.functor_category.image_obj_iso_inv
    {C : Type (max v u)}
    [category_theory.category C]
    {D : Type w}
    [category_theory.category D]
    [category_theory.abelian D]
    {F G : C ⥤ D}
    (α : F ⟶ G)
    (X : C) :
(category_theory.abelian.functor_category.image_obj_iso α X).inv = category_theory.limits.kernel.map (category_theory.limits.cokernel.π (α.app X)) ((category_theory.limits.cokernel.π α).app X) (𝟙 (G.obj X)) (category_theory.limits.cokernel_comparison α ((category_theory.evaluation C D).obj X)) _ ≫ (category_theory.limits.preserves_kernel.iso ((category_theory.evaluation C D).obj X) (category_theory.limits.cokernel.π α)).inv
    
theorem
category_theory.abelian.functor_category.coimage_image_comparison_app
    {C : Type (max v u)}
    [category_theory.category C]
    {D : Type w}
    [category_theory.category D]
    [category_theory.abelian D]
    {F G : C ⥤ D}
    (α : F ⟶ G)
    (X : C) :
    
theorem
category_theory.abelian.functor_category.coimage_image_comparison_app'
    {C : Type (max v u)}
    [category_theory.category C]
    {D : Type w}
    [category_theory.category D]
    [category_theory.abelian D]
    {F G : C ⥤ D}
    (α : F ⟶ G)
    (X : C) :
@[protected, instance]
    
def
category_theory.abelian.functor_category.functor_category_is_iso_coimage_image_comparison
    {C : Type (max v u)}
    [category_theory.category C]
    {D : Type w}
    [category_theory.category D]
    [category_theory.abelian D]
    {F G : C ⥤ D}
    (α : F ⟶ G) :
@[protected, instance]
    
noncomputable
def
category_theory.abelian.functor_category_abelian
    {C : Type (max v u)}
    [category_theory.category C]
    {D : Type w}
    [category_theory.category D]
    [category_theory.abelian D] :
    
category_theory.abelian (C ⥤ D)
@[protected, instance]
    
noncomputable
def
category_theory.abelian.functor_category_abelian'
    {C : Type u}
    [category_theory.small_category C]
    {D : Type (u+1)}
    [category_theory.large_category D]
    [category_theory.abelian D] :
category_theory.abelian (C ⥤ D)
A variant with specialized universes for a common case.