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 AlgCat R instead.
@[instance_reducible]
instance CommRingCat.instCoeSortUnderType {R : CommRingCat} :
CoeSort (CategoryTheory.Under R) (Type u)
Equations
- CommRingCat.instCoeSortUnderType = { coe := fun (A : CategoryTheory.Under R) => ↑A.right }
@[instance_reducible]
Equations
Turn a morphism in Under R into an algebra homomorphism.
Equations
- CommRingCat.toAlgHom f = { toRingHom := CommRingCat.Hom.hom (CategoryTheory.Under.Hom.right f), commutes' := ⋯ }
Instances For
@[simp]
@[simp]
theorem CommRingCat.toAlgHom_comp {R : CommRingCat} {A B C : CategoryTheory.Under R} (f : A ⟶ B) (g : B ⟶ C) :
@[simp]
theorem CommRingCat.toAlgHom_apply {R : CommRingCat} {A B : CategoryTheory.Under R} (f : A ⟶ B) (a : ↑A.right) :
@[implicit_reducible]
Make an object of Under R from an R-algebra.
Equations
- R.mkUnder A = CategoryTheory.Under.mk (CommRingCat.ofHom (algebraMap (↑R) A))
Instances For
@[simp]
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),
(CategoryTheory.ConcreteCategory.hom (CategoryTheory.Under.Hom.right f)) a = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Under.Hom.right g)) a) :
theorem CommRingCat.mkUnder_ext_iff {R : CommRingCat} {A : Type u} [CommRing A] [Algebra (↑R) A] {B : CategoryTheory.Under R} {f g : R.mkUnder A ⟶ B} :
f = g ↔ ∀ (a : A),
(CategoryTheory.ConcreteCategory.hom (CategoryTheory.Under.Hom.right f)) a = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Under.Hom.right g)) a
def AlgHom.toUnder {R : CommRingCat} {A B : Type u} [CommRing A] [CommRing B] [Algebra (↑R) A] [Algebra (↑R) B] (f : A →ₐ[↑R] 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) :
def AlgEquiv.toUnder {R : CommRingCat} {A B : Type u} [CommRing A] [CommRing B] [Algebra (↑R) A] [Algebra (↑R) B] (f : A ≃ₐ[↑R] B) :
Make an isomorphism in Under R from an algebra isomorphism.
Equations
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) :
@[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) :
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✝) :
@[simp]
theorem CommRingCat.tensorProd_obj_right (R S : CommRingCat) [Algebra ↑R ↑S] (A : CategoryTheory.Under R) :
noncomputable def CommRingCat.tensorProdObjIsoPushoutObj {R : CommRingCat} (S : CommRingCat) [Algebra ↑R ↑S] (A : CategoryTheory.Under R) :
S.mkUnder (TensorProduct ↑R ↑S ↑A.right) ≅ (CategoryTheory.Under.pushout (ofHom (algebraMap ↑R ↑S))).obj A
The natural isomorphism S ⊗[R] A ≅ pushout A.hom (algebraMap R S) in Under S.
Equations
Instances For
@[simp]
theorem CommRingCat.pushout_inl_tensorProdObjIsoPushoutObj_inv_right {R S : CommRingCat} [Algebra ↑R ↑S] (A : CategoryTheory.Under R) :
@[simp]
theorem CommRingCat.pushout_inl_tensorProdObjIsoPushoutObj_inv_right_assoc {R S : CommRingCat} [Algebra ↑R ↑S] (A : CategoryTheory.Under R) {Z : CommRingCat} (h : (S.mkUnder (TensorProduct ↑R ↑S ↑A.right)).right ⟶ Z) :
CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inl A.hom (ofHom (algebraMap ↑R ↑S)))
(CategoryTheory.CategoryStruct.comp (CategoryTheory.Under.Hom.right (tensorProdObjIsoPushoutObj S A).inv) h) = CategoryTheory.CategoryStruct.comp (ofHom Algebra.TensorProduct.includeRight.toRingHom) h
@[simp]
theorem CommRingCat.pushout_inr_tensorProdObjIsoPushoutObj_inv_right {R S : CommRingCat} [Algebra ↑R ↑S] (A : CategoryTheory.Under R) :
@[simp]
theorem CommRingCat.pushout_inr_tensorProdObjIsoPushoutObj_inv_right_assoc {R S : CommRingCat} [Algebra ↑R ↑S] (A : CategoryTheory.Under R) {Z : CommRingCat} (h : (S.mkUnder (TensorProduct ↑R ↑S ↑A.right)).right ⟶ Z) :
CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inr A.hom (ofHom (algebraMap ↑R ↑S)))
(CategoryTheory.CategoryStruct.comp (CategoryTheory.Under.Hom.right (tensorProdObjIsoPushoutObj S A).inv) h) = CategoryTheory.CategoryStruct.comp (ofHom Algebra.TensorProduct.includeLeftRingHom) h
A ↦ S ⊗[R] A is naturally isomorphic to A ↦ pushout A.hom (algebraMap R S).
Equations
- R.tensorProdIsoPushout S = CategoryTheory.NatIso.ofComponents (fun (A : CategoryTheory.Under R) => CommRingCat.tensorProdObjIsoPushoutObj S A) ⋯
Instances For
@[simp]
theorem CommRingCat.tensorProdIsoPushout_app {R S : CommRingCat} [Algebra ↑R ↑S] (A : CategoryTheory.Under R) :