# mathlib3documentation

algebra.algebra.bilinear

# Facts about algebras involving bilinear maps and tensor products #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

We move a few basic statements about algebras out of algebra.algebra.basic, in order to avoid importing linear_algebra.bilinear_map and linear_algebra.tensor_product unnecessarily.

def linear_map.mul (R : Type u_1) (A : Type u_2) [ A] [ A] [ A] :

The multiplication in a non-unital non-associative algebra is a bilinear map.

A weaker version of this for semirings exists as add_monoid_hom.mul.

Equations
• = _ _
def linear_map.mul' (R : Type u_1) (A : Type u_2) [ A] [ A] [ A] :
A →ₗ[R] A

The multiplication map on a non-unital algebra, as an R-linear map from A ⊗[R] A to A.

Equations
def linear_map.mul_left (R : Type u_1) {A : Type u_2} [ A] [ A] [ A] (a : A) :

The multiplication on the left in a non-unital algebra is a linear map.

Equations
def linear_map.mul_right (R : Type u_1) {A : Type u_2} [ A] [ A] [ A] (a : A) :

The multiplication on the right in an algebra is a linear map.

Equations
def linear_map.mul_left_right (R : Type u_1) {A : Type u_2} [ A] [ A] [ A] (ab : A × A) :

Simultaneous multiplication on the left and right is a linear map.

Equations
@[simp]
theorem linear_map.mul_left_to_add_monoid_hom (R : Type u_1) {A : Type u_2} [ A] [ A] [ A] (a : A) :
@[simp]
theorem linear_map.mul_right_to_add_monoid_hom (R : Type u_1) {A : Type u_2} [ A] [ A] [ A] (a : A) :
@[simp]
theorem linear_map.mul_apply' {R : Type u_1} {A : Type u_2} [ A] [ A] [ A] (a b : A) :
( A) a) b = a * b
@[simp]
theorem linear_map.mul_left_apply {R : Type u_1} {A : Type u_2} [ A] [ A] [ A] (a b : A) :
a) b = a * b
@[simp]
theorem linear_map.mul_right_apply {R : Type u_1} {A : Type u_2} [ A] [ A] [ A] (a b : A) :
a) b = b * a
@[simp]
theorem linear_map.mul_left_right_apply {R : Type u_1} {A : Type u_2} [ A] [ A] [ A] (a b x : A) :
(a, b)) x = a * x * b
@[simp]
theorem linear_map.mul'_apply {R : Type u_1} {A : Type u_2} [ A] [ A] [ A] {a b : A} :
A) (a ⊗ₜ[R] b) = a * b
@[simp]
theorem linear_map.mul_left_zero_eq_zero {R : Type u_1} {A : Type u_2} [ A] [ A] [ A] :
= 0
@[simp]
theorem linear_map.mul_right_zero_eq_zero {R : Type u_1} {A : Type u_2} [ A] [ A] [ A] :
def non_unital_alg_hom.lmul (R : Type u_1) (A : Type u_2) [ A] [ A] [ A] :

The multiplication in a non-unital algebra is a bilinear map.

A weaker version of this for non-unital non-associative algebras exists as linear_map.mul.

Equations
@[simp]
theorem non_unital_alg_hom.coe_lmul_eq_mul {R : Type u_1} {A : Type u_2} [ A] [ A] [ A] :
= A)
theorem linear_map.commute_mul_left_right {R : Type u_1} {A : Type u_2} [ A] [ A] [ A] (a b : A) :
b)
@[simp]
theorem linear_map.mul_left_mul {R : Type u_1} {A : Type u_2} [ A] [ A] [ A] (a b : A) :
(a * b) = a).comp b)
@[simp]
theorem linear_map.mul_right_mul {R : Type u_1} {A : Type u_2} [ A] [ A] [ A] (a b : A) :
(a * b) = b).comp a)
def algebra.lmul (R : Type u_1) (A : Type u_2) [semiring A] [ A] :

The multiplication in an algebra is an algebra homomorphism into the endomorphisms on the algebra.

A weaker version of this for non-unital algebras exists as non_unital_alg_hom.mul.

Equations
@[simp]
theorem algebra.coe_lmul_eq_mul {R : Type u_1} {A : Type u_2} [semiring A] [ A] :
A) = A)
@[simp]
theorem linear_map.mul_left_eq_zero_iff {R : Type u_1} {A : Type u_2} [semiring A] [ A] (a : A) :
= 0 a = 0
@[simp]
theorem linear_map.mul_right_eq_zero_iff {R : Type u_1} {A : Type u_2} [semiring A] [ A] (a : A) :
a = 0
@[simp]
theorem linear_map.mul_left_one {R : Type u_1} {A : Type u_2} [semiring A] [ A] :
@[simp]
theorem linear_map.mul_right_one {R : Type u_1} {A : Type u_2} [semiring A] [ A] :
@[simp]
theorem linear_map.pow_mul_left {R : Type u_1} {A : Type u_2} [semiring A] [ A] (a : A) (n : ) :
^ n = (a ^ n)
@[simp]
theorem linear_map.pow_mul_right {R : Type u_1} {A : Type u_2} [semiring A] [ A] (a : A) (n : ) :
= (a ^ n)
theorem linear_map.mul_left_injective {R : Type u_1} {A : Type u_2} [ring A] [ A] {x : A} (hx : x 0) :
theorem linear_map.mul_right_injective {R : Type u_1} {A : Type u_2} [ring A] [ A] {x : A} (hx : x 0) :
theorem linear_map.mul_injective {R : Type u_1} {A : Type u_2} [ring A] [ A] {x : A} (hx : x 0) :