Documentation

Mathlib.Algebra.Category.Ring.Under.Basic

Under CommRingCat #

In this file we provide basic API for Under R when R : CommRingCat. Under R is (equivalent to) the category of commutative R-algebras. For not necessarily commutative algebras, use AlgebraCat R instead.

Equations
def CommRingCat.toAlgHom {R : CommRingCat} {A B : CategoryTheory.Under R} (f : A B) :
A.right →ₐ[R] B.right

Turn a morphism in Under R into an algebra homomorphism.

Equations
Instances For
    @[simp]
    theorem CommRingCat.toAlgHom_apply {R : CommRingCat} {A B : CategoryTheory.Under R} (f : A B) (a : A.right) :
    (CommRingCat.toAlgHom f) a = f.right.hom a

    Make an object of Under R from an R-algebra.

    Equations
    Instances For
      @[simp]
      theorem CommRingCat.mkUnder_hom (R : CommRingCat) (A : Type u) [CommRing A] [Algebra (↑R) A] :
      (R.mkUnder A).hom = CommRingCat.ofHom (algebraMap (↑R) A)
      theorem CommRingCat.mkUnder_right (R : CommRingCat) (A : Type u) [CommRing A] [Algebra (↑R) A] :
      (R.mkUnder A).right = CommRingCat.of A
      theorem CommRingCat.mkUnder_ext {R : CommRingCat} {A : Type u} [CommRing A] [Algebra (↑R) A] {B : CategoryTheory.Under R} {f g : R.mkUnder A B} (h : ∀ (a : A), f.right.hom a = g.right.hom a) :
      f = g
      def AlgHom.toUnder {R : CommRingCat} {A B : Type u} [CommRing A] [CommRing B] [Algebra (↑R) A] [Algebra (↑R) B] (f : A →ₐ[R] B) :
      R.mkUnder A R.mkUnder B

      Make a morphism in Under R from an algebra map.

      Equations
      Instances For
        @[simp]
        theorem AlgHom.toUnder_right {R : CommRingCat} {A B : Type u} [CommRing A] [CommRing B] [Algebra (↑R) A] [Algebra (↑R) B] (f : A →ₐ[R] B) (a : A) :
        f.toUnder.right.hom a = f a
        @[simp]
        theorem AlgHom.toUnder_comp {R : CommRingCat} {A B C : Type u} [CommRing A] [CommRing B] [CommRing C] [Algebra (↑R) A] [Algebra (↑R) B] [Algebra (↑R) C] (f : A →ₐ[R] B) (g : B →ₐ[R] C) :
        (g.comp f).toUnder = CategoryTheory.CategoryStruct.comp f.toUnder g.toUnder
        def AlgEquiv.toUnder {R : CommRingCat} {A B : Type u} [CommRing A] [CommRing B] [Algebra (↑R) A] [Algebra (↑R) B] (f : A ≃ₐ[R] B) :
        R.mkUnder A R.mkUnder B

        Make an isomorphism in Under R from an algebra isomorphism.

        Equations
        • f.toUnder = { hom := (↑f).toUnder, inv := (↑f.symm).toUnder, hom_inv_id := , inv_hom_id := }
        Instances For
          @[simp]
          theorem AlgEquiv.toUnder_hom_right_apply {R : CommRingCat} {A B : Type u} [CommRing A] [CommRing B] [Algebra (↑R) A] [Algebra (↑R) B] (f : A ≃ₐ[R] B) (a : A) :
          f.toUnder.hom.right.hom a = f a
          @[simp]
          theorem AlgEquiv.toUnder_inv_right_apply {R : CommRingCat} {A B : Type u} [CommRing A] [CommRing B] [Algebra (↑R) A] [Algebra (↑R) B] (f : A ≃ₐ[R] B) (b : B) :
          f.toUnder.inv.right.hom b = f.symm b
          @[simp]
          theorem AlgEquiv.toUnder_trans {R : CommRingCat} {A B C : Type u} [CommRing A] [CommRing B] [CommRing C] [Algebra (↑R) A] [Algebra (↑R) B] [Algebra (↑R) C] (f : A ≃ₐ[R] B) (g : B ≃ₐ[R] C) :
          (f.trans g).toUnder = f.toUnder ≪≫ g.toUnder

          The base change functor A ↦ S ⊗[R] A.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CommRingCat.tensorProd_map_right (R S : CommRingCat) [Algebra R S] {X✝ Y✝ : CategoryTheory.Under R} (f : X✝ Y✝) :
            ((R.tensorProd S).map f).right = CommRingCat.ofHom (Algebra.TensorProduct.map (AlgHom.id S S) (CommRingCat.toAlgHom f))

            The natural isomorphism S ⊗[R] A ≅ pushout A.hom (algebraMap R S) in Under S.

            Equations
            Instances For

              A ↦ S ⊗[R] A is naturally isomorphic to A ↦ pushout A.hom (algebraMap R S).

              Equations
              Instances For
                @[simp]
                theorem CommRingCat.tensorProdIsoPushout_app {R S : CommRingCat} [Algebra R S] (A : CategoryTheory.Under R) :
                (R.tensorProdIsoPushout S).app A = CommRingCat.tensorProdObjIsoPushoutObj S A