Documentation

Mathlib.Algebra.Category.AlgCat.Basic

Category instance for algebras over a commutative ring #

We introduce the bundled category AlgCat of algebras over a fixed commutative ring R along with the forgetful functors to RingCat and ModuleCat. We furthermore show that the functor associating to a type the free R-algebra on that type is left adjoint to the forgetful functor.

structure AlgCat (R : Type u) [CommRing R] :
Type (max u (v + 1))

The category of R-algebras and their morphisms.

  • carrier : Type v

    The underlying type.

  • isRing : Ring โ†‘self
  • isAlgebra : Algebra R โ†‘self
Instances For
    @[reducible, inline]
    abbrev AlgCat.of (R : Type u) [CommRing R] (X : Type v) [Ring X] [Algebra R X] :

    The object in the category of R-algebras associated to a type equipped with the appropriate typeclasses. This is the preferred way to construct a term of AlgCat R.

    Equations
      Instances For
        theorem AlgCat.coe_of (R : Type u) [CommRing R] (X : Type v) [Ring X] [Algebra R X] :
        โ†‘(of R X) = X
        structure AlgCat.Hom {R : Type u} [CommRing R] (A B : AlgCat R) :

        The type of morphisms in AlgCat R.

        Instances For
          theorem AlgCat.Hom.ext {R : Type u} {instโœ : CommRing R} {A B : AlgCat R} {x y : A.Hom B} (hom' : x.hom' = y.hom') :
          x = y
          theorem AlgCat.Hom.ext_iff {R : Type u} {instโœ : CommRing R} {A B : AlgCat R} {x y : A.Hom B} :
          x = y โ†” x.hom' = y.hom'
          @[reducible, inline]
          abbrev AlgCat.Hom.hom {R : Type u} [CommRing R] {A B : AlgCat R} (f : A.Hom B) :
          โ†‘A โ†’โ‚[R] โ†‘B

          Turn a morphism in AlgCat back into an AlgHom.

          Equations
            Instances For
              @[reducible, inline]
              abbrev AlgCat.ofHom {R : Type u} [CommRing R] {A B : Type v} [Ring A] [Ring B] [Algebra R A] [Algebra R B] (f : A โ†’โ‚[R] B) :
              of R A โŸถ of R B

              Typecheck an AlgHom as a morphism in AlgCat.

              Equations
                Instances For
                  def AlgCat.Hom.Simps.hom {R : Type u} [CommRing R] (A B : AlgCat R) (f : A.Hom B) :
                  โ†‘A โ†’โ‚[R] โ†‘B

                  Use the ConcreteCategory.hom projection for @[simps] lemmas.

                  Equations
                    Instances For

                      The results below duplicate the ConcreteCategory simp lemmas, but we can keep them for dsimp.

                      theorem AlgCat.hom_ext (R : Type u) [CommRing R] {A B : AlgCat R} {f g : A โŸถ B} (hf : Hom.hom f = Hom.hom g) :
                      f = g
                      theorem AlgCat.hom_ext_iff {R : Type u} [CommRing R] {A B : AlgCat R} {f g : A โŸถ B} :
                      @[simp]
                      theorem AlgCat.hom_ofHom {R : Type u} [CommRing R] {X Y : Type v} [Ring X] [Algebra R X] [Ring Y] [Algebra R Y] (f : X โ†’โ‚[R] Y) :
                      @[simp]
                      theorem AlgCat.ofHom_hom (R : Type u) [CommRing R] {A B : AlgCat R} (f : A โŸถ B) :
                      @[simp]
                      theorem AlgCat.ofHom_comp (R : Type u) [CommRing R] {X Y Z : Type v} [Ring X] [Ring Y] [Ring Z] [Algebra R X] [Algebra R Y] [Algebra R Z] (f : X โ†’โ‚[R] Y) (g : Y โ†’โ‚[R] Z) :
                      theorem AlgCat.ofHom_apply {R : Type u} [CommRing R] {X Y : Type v} [Ring X] [Algebra R X] [Ring Y] [Algebra R Y] (f : X โ†’โ‚[R] Y) (x : X) :

                      The "free algebra" functor, sending a type S to the free algebra on S.

                      Equations
                        Instances For
                          @[simp]
                          theorem AlgCat.free_map (R : Type u) [CommRing R] {Xโœ Yโœ : Type u} (f : Xโœ โŸถ Yโœ) :
                          @[simp]
                          theorem AlgCat.free_obj (R : Type u) [CommRing R] (S : Type u) :
                          (free R).obj S = of R (FreeAlgebra R S)

                          The free/forget adjunction for R-algebras.

                          Equations
                            Instances For
                              def AlgEquiv.toAlgebraIso {R : Type u} [CommRing R] {Xโ‚ Xโ‚‚ : Type u} {gโ‚ : Ring Xโ‚} {gโ‚‚ : Ring Xโ‚‚} {mโ‚ : Algebra R Xโ‚} {mโ‚‚ : Algebra R Xโ‚‚} (e : Xโ‚ โ‰ƒโ‚[R] Xโ‚‚) :
                              AlgCat.of R Xโ‚ โ‰… AlgCat.of R Xโ‚‚

                              Build an isomorphism in the category AlgCat R from an AlgEquiv between Algebras.

                              Equations
                                Instances For
                                  @[simp]
                                  theorem AlgEquiv.toAlgebraIso_inv {R : Type u} [CommRing R] {Xโ‚ Xโ‚‚ : Type u} {gโ‚ : Ring Xโ‚} {gโ‚‚ : Ring Xโ‚‚} {mโ‚ : Algebra R Xโ‚} {mโ‚‚ : Algebra R Xโ‚‚} (e : Xโ‚ โ‰ƒโ‚[R] Xโ‚‚) :
                                  @[simp]
                                  theorem AlgEquiv.toAlgebraIso_hom {R : Type u} [CommRing R] {Xโ‚ Xโ‚‚ : Type u} {gโ‚ : Ring Xโ‚} {gโ‚‚ : Ring Xโ‚‚} {mโ‚ : Algebra R Xโ‚} {mโ‚‚ : Algebra R Xโ‚‚} (e : Xโ‚ โ‰ƒโ‚[R] Xโ‚‚) :
                                  def CategoryTheory.Iso.toAlgEquiv {R : Type u} [CommRing R] {X Y : AlgCat R} (i : X โ‰… Y) :
                                  โ†‘X โ‰ƒโ‚[R] โ†‘Y

                                  Build an AlgEquiv from an isomorphism in the category AlgCat R.

                                  Equations
                                    Instances For
                                      @[simp]
                                      theorem CategoryTheory.Iso.toAlgEquiv_symm_apply {R : Type u} [CommRing R] {X Y : AlgCat R} (i : X โ‰… Y) (a : โ†‘Y) :
                                      @[simp]
                                      theorem CategoryTheory.Iso.toAlgEquiv_apply {R : Type u} [CommRing R] {X Y : AlgCat R} (i : X โ‰… Y) (a : โ†‘X) :
                                      def algEquivIsoAlgebraIso {R : Type u} [CommRing R] {X Y : Type u} [Ring X] [Ring Y] [Algebra R X] [Algebra R Y] :

                                      Algebra equivalences between Algebras are the same as (isomorphic to) isomorphisms in AlgCat.

                                      Equations
                                        Instances For