File: Mathlib/CategoryTheory/Conj.lean

full_name: CategoryTheory.Iso.conj
code: /-- An isomorphism between two objects defines a monoid isomorphism between their
monoid of endomorphisms. -/
def conj : End X ≃* End Y 
goal: CategoryTheory.End X ≃* CategoryTheory.End Y

full_name: CategoryTheory.Iso.conj_apply
code: theorem conj_apply (f : End X) : α.conj f = α.inv ≫ f ≫ α.hom 
goal: α.conj f = CategoryTheory.CategoryStruct.comp α.inv (CategoryTheory.CategoryStruct.comp f α.hom)

full_name: CategoryTheory.Iso.conj_comp
code: @[simp]
theorem conj_comp (f g : End X) : α.conj (f ≫ g) = α.conj f ≫ α.conj g 
goal: α.conj (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (α.conj f) (α.conj g)

full_name: CategoryTheory.Iso.conj_id
code: @[simp]
theorem conj_id : α.conj (𝟙 X) = 𝟙 Y 
goal: α.conj (CategoryTheory.CategoryStruct.id X) = CategoryTheory.CategoryStruct.id Y

full_name: CategoryTheory.Iso.refl_conj
code: @[simp]
theorem refl_conj (f : End X) : (Iso.refl X).conj f = f 
goal: (CategoryTheory.Iso.refl X).conj f = f

full_name: CategoryTheory.Iso.trans_conj
code: @[simp]
theorem trans_conj {Z : C} (β : Y ≅ Z) (f : End X) : (α ≪≫ β).conj f = β.conj (α.conj f) 
goal: (α ≪≫ β).conj f = β.conj (α.conj f)

full_name: CategoryTheory.Iso.symm_self_conj
code: @[simp]
theorem symm_self_conj (f : End X) : α.symm.conj (α.conj f) = f 
goal: α.symm.conj (α.conj f) = f

full_name: CategoryTheory.Iso.self_symm_conj
code: @[simp]
theorem self_symm_conj (f : End Y) : α.conj (α.symm.conj f) = f 
goal: α.conj (α.symm.conj f) = f

full_name: CategoryTheory.Iso.conj_pow
code: theorem conj_pow (f : End X) (n : ℕ) : α.conj (f ^ n) = α.conj f ^ n 
goal: α.conj (f ^ n) = α.conj f ^ n

full_name: CategoryTheory.Iso.conjAut
code: /-- `conj` defines a group isomorphisms between groups of automorphisms -/
def conjAut : Aut X ≃* Aut Y 
goal: CategoryTheory.Aut X ≃* CategoryTheory.Aut Y

full_name: CategoryTheory.Iso.conjAut_apply
code: theorem conjAut_apply (f : Aut X) : α.conjAut f = α.symm ≪≫ f ≪≫ α 
goal: α.conjAut f = α.symm ≪≫ f ≪≫ α

full_name: CategoryTheory.Iso.conjAut_hom
code: @[simp]
theorem conjAut_hom (f : Aut X) : (α.conjAut f).hom = α.conj f.hom 
goal: (α.conjAut f).hom = α.conj f.hom

full_name: CategoryTheory.Iso.trans_conjAut
code: @[simp]
theorem trans_conjAut {Z : C} (β : Y ≅ Z) (f : Aut X) :
    (α ≪≫ β).conjAut f = β.conjAut (α.conjAut f) 
goal: (α ≪≫ β).conjAut f = β.conjAut (α.conjAut f)

full_name: CategoryTheory.Iso.conjAut_mul
code: theorem conjAut_mul (f g : Aut X) : α.conjAut (f * g) = α.conjAut f * α.conjAut g 
goal: α.conjAut (f * g) = α.conjAut f * α.conjAut g

full_name: CategoryTheory.Iso.conjAut_trans
code: @[simp]
theorem conjAut_trans (f g : Aut X) : α.conjAut (f ≪≫ g) = α.conjAut f ≪≫ α.conjAut g 
goal: α.conjAut (f ≪≫ g) = α.conjAut f ≪≫ α.conjAut g

full_name: CategoryTheory.Iso.conjAut_pow
code: theorem conjAut_pow (f : Aut X) (n : ℕ) : α.conjAut (f ^ n) = α.conjAut f ^ n 
goal: α.conjAut (f ^ n) = α.conjAut f ^ n

full_name: CategoryTheory.Iso.conjAut_zpow
code: theorem conjAut_zpow (f : Aut X) (n : ℤ) : α.conjAut (f ^ n) = α.conjAut f ^ n 
goal: α.conjAut (f ^ n) = α.conjAut f ^ n

full_name: CategoryTheory.Functor.map_conj
code: theorem map_conj {X Y : C} (α : X ≅ Y) (f : End X) :
    F.map (α.conj f) = (F.mapIso α).conj (F.map f) 
goal: F.map (α.conj f) = (F.mapIso α).conj (F.map f)

full_name: CategoryTheory.Functor.map_conjAut
code: theorem map_conjAut (F : C ⥤ D) {X Y : C} (α : X ≅ Y) (f : Aut X) :
    F.mapIso (α.conjAut f) = (F.mapIso α).conjAut (F.mapIso f) 
goal: F.mapIso (α.conjAut f) = (F.mapIso α).conjAut (F.mapIso f)