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) :