Endomorphisms #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Definition and basic properties of endomorphisms and automorphisms of an object in a category.
For each X : C
, we provide End X := X ⟶ X
with a monoid structure,
and Aut X := X ≅ X
with a group structure.
Endomorphisms of an object in a category. Arguments order in multiplication agrees with
function.comp
, not with category.comp
.
Equations
- category_theory.End X = (X ⟶ X)
Instances for category_theory.End
- category_theory.End.has_one
- category_theory.End.inhabited
- category_theory.End.has_mul
- category_theory.End.monoid
- category_theory.End.mul_action_right
- category_theory.End.mul_action_left
- category_theory.End.group
- category_theory.preadditive.category_theory.End.add_comm_group
- category_theory.preadditive.category_theory.End.ring
- category_theory.preadditive.module_End_right
- category_theory.linear.category_theory.End.module
- category_theory.linear.category_theory.End.algebra
Equations
- category_theory.End.has_one X = {one := 𝟙 X}
Equations
- category_theory.End.inhabited X = {default := 𝟙 X}
Multiplication of endomorphisms agrees with function.comp
, not category_struct.comp
.
Equations
- category_theory.End.has_mul X = {mul := λ (x y : category_theory.End X), y ≫ x}
Assist the typechecker by expressing a morphism X ⟶ X
as a term of End X
.
Equations
Assist the typechecker by expressing an endomorphism f : End X
as a term of X ⟶ X
.
Endomorphisms of an object form a monoid
Equations
- category_theory.End.monoid = {mul := has_mul.mul (category_theory.End.has_mul X), mul_assoc := _, one := 1, one_mul := _, mul_one := _, npow := npow_rec (mul_one_class.to_has_mul (category_theory.End X)), npow_zero' := _, npow_succ' := _}
Equations
- category_theory.End.mul_action_right = {to_has_smul := {smul := λ (r : category_theory.End Y) (f : X ⟶ Y), f ≫ r}, one_smul := _, mul_smul := _}
Equations
- category_theory.End.mul_action_left = {to_has_smul := {smul := λ (r : category_theory.End X) (f : opposite.unop X ⟶ Y), quiver.hom.unop r ≫ f}, one_smul := _, mul_smul := _}
In a groupoid, endomorphisms form a group
Equations
- category_theory.End.group X = {mul := monoid.mul category_theory.End.monoid, mul_assoc := _, one := monoid.one category_theory.End.monoid, one_mul := _, mul_one := _, npow := monoid.npow category_theory.End.monoid, npow_zero' := _, npow_succ' := _, inv := category_theory.groupoid.inv X, div := div_inv_monoid.div._default monoid.mul _ monoid.one _ _ monoid.npow _ _ category_theory.groupoid.inv, div_eq_mul_inv := _, zpow := div_inv_monoid.zpow._default monoid.mul _ monoid.one _ _ monoid.npow _ _ category_theory.groupoid.inv, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, mul_left_inv := _}
Automorphisms of an object in a category.
The order of arguments in multiplication agrees with
function.comp
, not with category.comp
.
Equations
- category_theory.Aut X = (X ≅ X)
Instances for category_theory.Aut
Equations
Equations
- category_theory.Aut.group X = {mul := flip category_theory.iso.trans, mul_assoc := _, one := category_theory.iso.refl X, one_mul := _, mul_one := _, npow := npow_rec {mul := flip category_theory.iso.trans}, npow_zero' := _, npow_succ' := _, inv := category_theory.iso.symm X, div := λ (a b : X ≅ X), a * b.symm, div_eq_mul_inv := _, zpow := zpow_rec {inv := category_theory.iso.symm X}, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, mul_left_inv := _}
Units in the monoid of endomorphisms of an object are (multiplicatively) equivalent to automorphisms of that object.
Equations
- category_theory.Aut.units_End_equiv_Aut X = {to_fun := λ (f : (category_theory.End X)ˣ), {hom := f.val, inv := f.inv, hom_inv_id' := _, inv_hom_id' := _}, inv_fun := λ (f : category_theory.Aut X), {val := f.hom, inv := f.inv, val_inv := _, inv_val := _}, left_inv := _, right_inv := _, map_mul' := _}
Isomorphisms induce isomorphisms of the automorphism group
Equations
- category_theory.Aut.Aut_mul_equiv_of_iso h = {to_fun := λ (x : category_theory.Aut X), {hom := h.inv ≫ x.hom ≫ h.hom, inv := h.inv ≫ x.inv ≫ h.hom, hom_inv_id' := _, inv_hom_id' := _}, inv_fun := λ (y : category_theory.Aut Y), {hom := h.hom ≫ y.hom ≫ h.inv, inv := h.hom ≫ y.inv ≫ h.inv, hom_inv_id' := _, inv_hom_id' := _}, left_inv := _, right_inv := _, map_mul' := _}
f.map
as a monoid hom between endomorphism monoids.
f.map_iso
as a group hom between automorphism groups.