The opposite of an abelian category is abelian. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
@[protected, instance]
    
def
category_theory.opposite.abelian
    (C : Type u_1)
    [category_theory.category C]
    [category_theory.abelian C] :
    
@[simp]
    
theorem
category_theory.kernel_op_unop_hom
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
@[simp]
    
theorem
category_theory.kernel_op_unop_inv
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
    
noncomputable
def
category_theory.kernel_op_unop
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
The kernel of f.op is the opposite of cokernel f.
Equations
- category_theory.kernel_op_unop f = {hom := (category_theory.limits.kernel.lift f.op (category_theory.limits.cokernel.π f).op _).unop, inv := category_theory.limits.cokernel.desc f (category_theory.limits.kernel.ι f.op).unop _, hom_inv_id' := _, inv_hom_id' := _}
@[simp]
    
theorem
category_theory.cokernel_op_unop_hom
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
    
noncomputable
def
category_theory.cokernel_op_unop
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
The cokernel of f.op is the opposite of kernel f.
Equations
- category_theory.cokernel_op_unop f = {hom := category_theory.limits.kernel.lift f (category_theory.limits.cokernel.π f.op).unop _, inv := (category_theory.limits.cokernel.desc f.op (category_theory.limits.kernel.ι f).op _).unop, hom_inv_id' := _, inv_hom_id' := _}
@[simp]
    
theorem
category_theory.cokernel_op_unop_inv
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
@[simp]
    
theorem
category_theory.kernel_unop_op_inv
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
    
noncomputable
def
category_theory.kernel_unop_op
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
The kernel of g.unop is the opposite of cokernel g.
Equations
@[simp]
    
theorem
category_theory.kernel_unop_op_hom
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
    
noncomputable
def
category_theory.cokernel_unop_op
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
The cokernel of g.unop is the opposite of kernel g.
Equations
@[simp]
    
theorem
category_theory.cokernel_unop_op_inv
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
@[simp]
    
theorem
category_theory.cokernel_unop_op_hom
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
    
theorem
category_theory.cokernel.π_op
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
    
theorem
category_theory.kernel.ι_op
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
    
noncomputable
def
category_theory.kernel_op_op
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
The kernel of f.op is the opposite of cokernel f.
Equations
@[simp]
    
theorem
category_theory.kernel_op_op_hom
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
@[simp]
    
theorem
category_theory.kernel_op_op_inv
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
@[simp]
    
theorem
category_theory.cokernel_op_op_hom
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
    
noncomputable
def
category_theory.cokernel_op_op
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
The cokernel of f.op is the opposite of kernel f.
Equations
@[simp]
    
theorem
category_theory.cokernel_op_op_inv
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
@[simp]
    
theorem
category_theory.kernel_unop_unop_inv
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
    
noncomputable
def
category_theory.kernel_unop_unop
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
The kernel of g.unop is the opposite of cokernel g.
Equations
@[simp]
    
theorem
category_theory.kernel_unop_unop_hom
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
    
theorem
category_theory.kernel.ι_unop
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
    
theorem
category_theory.cokernel.π_unop
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
@[simp]
    
theorem
category_theory.cokernel_unop_unop_inv
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
@[simp]
    
theorem
category_theory.cokernel_unop_unop_hom
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
    
noncomputable
def
category_theory.cokernel_unop_unop
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
The cokernel of g.unop is the opposite of kernel g.
Equations
    
noncomputable
def
category_theory.image_unop_op
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
The opposite of the image of g.unop is the image of g.
Equations
- category_theory.image_unop_op g = (category_theory.abelian.image_iso_image g.unop).op ≪≫ (category_theory.cokernel_op_op (category_theory.limits.cokernel.π g.unop)).symm ≪≫ category_theory.limits.cokernel_iso_of_eq _ ≪≫ category_theory.limits.cokernel_epi_comp (category_theory.cokernel_unop_op g).hom (category_theory.limits.kernel.ι g ≫ category_theory.eq_to_hom category_theory.image_unop_op._proof_10) ≪≫ category_theory.limits.cokernel_comp_is_iso (category_theory.limits.kernel.ι g) (category_theory.eq_to_hom category_theory.image_unop_op._proof_10) ≪≫ category_theory.abelian.coimage_iso_image' g
    
noncomputable
def
category_theory.image_op_op
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
The opposite of the image of f is the image of f.op.
Equations
    
noncomputable
def
category_theory.image_op_unop
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {X Y : C}
    (f : X ⟶ Y) :
The image of f.op is the opposite of the image of f.
Equations
    
noncomputable
def
category_theory.image_unop_unop
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
The image of g is the opposite of the image of g.unop.
Equations
    
theorem
category_theory.image_ι_op_comp_image_unop_op_hom
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
    
theorem
category_theory.image_unop_op_hom_comp_image_ι
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
    
theorem
category_theory.factor_thru_image_comp_image_unop_op_inv
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :
    
theorem
category_theory.image_unop_op_inv_comp_op_factor_thru_image
    {C : Type u_1}
    [category_theory.category C]
    [category_theory.abelian C]
    {A B : Cᵒᵖ}
    (g : A ⟶ B) :