# Documentation

Mathlib.Algebra.Algebra.Prod

# The R-algebra structure on products of R-algebras #

The R-algebra structure on (i : I) → A i when each A i is an R-algebra.

## Main definitions #

• Pi.algebra
• Pi.evalAlgHom
• Pi.constAlgHom
instance Prod.algebra (R : Type u_1) (A : Type u_2) (B : Type u_3) [] [] [Algebra R A] [] [Algebra R B] :
Algebra R (A × B)
@[simp]
theorem Prod.algebraMap_apply {R : Type u_1} {A : Type u_2} {B : Type u_3} [] [] [Algebra R A] [] [Algebra R B] (r : R) :
↑(algebraMap R (A × B)) r = (↑() r, ↑() r)
def AlgHom.fst (R : Type u_1) (A : Type u_2) (B : Type u_3) [] [] [Algebra R A] [] [Algebra R B] :
A × B →ₐ[R] A

First projection as AlgHom.

Instances For
def AlgHom.snd (R : Type u_1) (A : Type u_2) (B : Type u_3) [] [] [Algebra R A] [] [Algebra R B] :
A × B →ₐ[R] B

Second projection as AlgHom.

Instances For
@[simp]
theorem AlgHom.prod_apply {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [] [] [Algebra R A] [] [Algebra R B] [] [Algebra R C] (f : A →ₐ[R] B) (g : A →ₐ[R] C) (x : A) :
↑() x = (f x, g x)
def AlgHom.prod {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [] [] [Algebra R A] [] [Algebra R B] [] [Algebra R C] (f : A →ₐ[R] B) (g : A →ₐ[R] C) :
A →ₐ[R] B × C

The Pi.prod of two morphisms is a morphism.

Instances For
theorem AlgHom.coe_prod {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [] [] [Algebra R A] [] [Algebra R B] [] [Algebra R C] (f : A →ₐ[R] B) (g : A →ₐ[R] C) :
↑() = Pi.prod f g
@[simp]
theorem AlgHom.fst_prod {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [] [] [Algebra R A] [] [Algebra R B] [] [Algebra R C] (f : A →ₐ[R] B) (g : A →ₐ[R] C) :
AlgHom.comp (AlgHom.fst R B C) () = f
@[simp]
theorem AlgHom.snd_prod {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [] [] [Algebra R A] [] [Algebra R B] [] [Algebra R C] (f : A →ₐ[R] B) (g : A →ₐ[R] C) :
AlgHom.comp (AlgHom.snd R B C) () = g
@[simp]
theorem AlgHom.prod_fst_snd {R : Type u_1} {A : Type u_2} {B : Type u_3} [] [] [Algebra R A] [] [Algebra R B] :
@[simp]
theorem AlgHom.prodEquiv_symm_apply {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [] [] [Algebra R A] [] [Algebra R B] [] [Algebra R C] (f : A →ₐ[R] B × C) :
AlgHom.prodEquiv.symm f = (AlgHom.comp (AlgHom.fst R B C) f, AlgHom.comp (AlgHom.snd R B C) f)
@[simp]
theorem AlgHom.prodEquiv_apply {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [] [] [Algebra R A] [] [Algebra R B] [] [Algebra R C] (f : (A →ₐ[R] B) × (A →ₐ[R] C)) :
AlgHom.prodEquiv f = AlgHom.prod f.fst f.snd
def AlgHom.prodEquiv {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [] [] [Algebra R A] [] [Algebra R B] [] [Algebra R C] :
(A →ₐ[R] B) × (A →ₐ[R] C) (A →ₐ[R] B × C)

Taking the product of two maps with the same domain is equivalent to taking the product of their codomains.

Instances For