Documentation

Mathlib.CategoryTheory.Endomorphism

Endomorphisms #

Definition and basic properties of endomorphisms and automorphisms of an object in a category.

For each X : C, we provide CategoryTheory.End X := X ⟶ X with a monoid structure, and CategoryTheory.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 CategoryTheory.CategoryStruct.comp.

Equations
    Instances For
      instance CategoryTheory.End.one {C : Type u} [CategoryStruct.{v, u} C] (X : C) :
      One (End X)
      Equations
        instance CategoryTheory.End.mul {C : Type u} [CategoryStruct.{v, u} C] (X : C) :
        Mul (End X)

        Multiplication of endomorphisms agrees with Function.comp, not with CategoryTheory.CategoryStruct.comp.

        Equations
          def CategoryTheory.End.of {C : Type u} [CategoryStruct.{v, u} C] {X : C} (f : X X) :
          End X

          Assist the typechecker by expressing a morphism X ⟶ X as a term of CategoryTheory.End X.

          Equations
            Instances For
              def CategoryTheory.End.asHom {C : Type u} [CategoryStruct.{v, u} C] {X : C} (f : End X) :
              X X

              Assist the typechecker by expressing an endomorphism f : CategoryTheory.End X as a term of X ⟶ X.

              Equations
                Instances For
                  @[simp]
                  theorem CategoryTheory.End.mul_def {C : Type u} [CategoryStruct.{v, u} C] {X : C} (xs ys : End X) :
                  xs * ys = CategoryStruct.comp ys xs
                  instance CategoryTheory.End.monoid {C : Type u} [Category.{v, u} C] {X : C} :

                  Endomorphisms of an object form a monoid

                  Equations
                    instance CategoryTheory.End.mulActionRight {C : Type u} [Category.{v, u} C] {X Y : C} :
                    MulAction (End Y) (X Y)
                    Equations
                      Equations
                        theorem CategoryTheory.End.smul_right {C : Type u} [Category.{v, u} C] {X Y : C} {r : End Y} {f : X Y} :
                        instance CategoryTheory.End.group {C : Type u} [Groupoid C] (X : C) :

                        In a groupoid, endomorphisms form a group

                        Equations
                          def CategoryTheory.Aut {C : Type u} [Category.{v, u} C] (X : C) :

                          Automorphisms of an object in a category.

                          The order of arguments in multiplication agrees with Function.comp, not with CategoryTheory.CategoryStruct.comp.

                          Equations
                            Instances For
                              theorem CategoryTheory.Aut.ext {C : Type u} [Category.{v, u} C] {X : C} {φ₁ φ₂ : Aut X} (h : φ₁.hom = φ₂.hom) :
                              φ₁ = φ₂
                              theorem CategoryTheory.Aut.ext_iff {C : Type u} [Category.{v, u} C] {X : C} {φ₁ φ₂ : Aut X} :
                              φ₁ = φ₂ φ₁.hom = φ₂.hom
                              Equations
                                instance CategoryTheory.Aut.instGroup {C : Type u} [Category.{v, u} C] (X : C) :
                                Equations
                                  theorem CategoryTheory.Aut.Aut_mul_def {C : Type u} [Category.{v, u} C] (X : C) (f g : Aut X) :
                                  f * g = g ≪≫ f

                                  Units in the monoid of endomorphisms of an object are (multiplicatively) equivalent to automorphisms of that object.

                                  Equations
                                    Instances For

                                      The inclusion of Aut X to End X as a monoid homomorphism.

                                      Equations
                                        Instances For
                                          @[simp]
                                          theorem CategoryTheory.Aut.toEnd_apply {C : Type u} [Category.{v, u} C] (X : C) (a✝ : Aut X) :
                                          (toEnd X) a✝ = ((unitsEndEquivAut X).symm a✝)
                                          def CategoryTheory.Aut.autMulEquivOfIso {C : Type u} [Category.{v, u} C] {X Y : C} (h : X Y) :

                                          Isomorphisms induce isomorphisms of the automorphism group

                                          Equations
                                            Instances For
                                              def CategoryTheory.Functor.mapEnd {C : Type u} [Category.{v, u} C] (X : C) {D : Type u'} [Category.{v', u'} D] (f : Functor C D) :
                                              End X →* End (f.obj X)

                                              f.map as a monoid hom between endomorphism monoids.

                                              Equations
                                                Instances For
                                                  @[simp]
                                                  theorem CategoryTheory.Functor.mapEnd_apply {C : Type u} [Category.{v, u} C] (X : C) {D : Type u'} [Category.{v', u'} D] (f : Functor C D) (a✝ : X X) :
                                                  (mapEnd X f) a✝ = f.map a✝
                                                  def CategoryTheory.Functor.mapAut {C : Type u} [Category.{v, u} C] (X : C) {D : Type u'} [Category.{v', u'} D] (f : Functor C D) :
                                                  Aut X →* Aut (f.obj X)

                                                  f.mapIso as a group hom between automorphism groups.

                                                  Equations
                                                    Instances For
                                                      noncomputable def CategoryTheory.Functor.FullyFaithful.mulEquivEnd {C : Type u} [Category.{v, u} C] {D : Type u'} [Category.{v', u'} D] {f : Functor C D} (hf : f.FullyFaithful) (X : C) :
                                                      End X ≃* End (f.obj X)

                                                      mulEquivEnd as an isomorphism between endomorphism monoids.

                                                      Equations
                                                        Instances For
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.FullyFaithful.mulEquivEnd_symm_apply {C : Type u} [Category.{v, u} C] {D : Type u'} [Category.{v', u'} D] {f : Functor C D} (hf : f.FullyFaithful) (X : C) (f✝ : f.obj X f.obj X) :
                                                          (hf.mulEquivEnd X).symm f✝ = hf.preimage f✝
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.FullyFaithful.mulEquivEnd_apply {C : Type u} [Category.{v, u} C] {D : Type u'} [Category.{v', u'} D] {f : Functor C D} (hf : f.FullyFaithful) (X : C) (a✝ : X X) :
                                                          (hf.mulEquivEnd X) a✝ = f.map a✝

                                                          mulEquivAut as an isomorphism between automorphism groups.

                                                          Equations
                                                            Instances For