Documentation

Mathlib.Algebra.Algebra.Bilinear

Facts about algebras involving bilinear maps and tensor products #

We move a few basic statements about algebras out of Algebra.Algebra.Basic, in order to avoid importing LinearAlgebra.BilinearMap and LinearAlgebra.TensorProduct unnecessarily.

def LinearMap.mul (R : Type u_1) (A : Type u_2) [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] :

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

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

Equations
    Instances For
      @[simp]
      theorem LinearMap.mul_apply_apply (R : Type u_1) (A : Type u_2) [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] (m x2✝ : A) :
      ((mul R A) m) x2✝ = m * x2✝

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

      Equations
        Instances For

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

          Equations
            Instances For

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

              Equations
                Instances For
                  @[simp]
                  theorem LinearMap.mul_apply' {R : Type u_1} {A : Type u_2} [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] (a b : A) :
                  ((mul R A) a) b = a * b
                  @[simp]
                  theorem LinearMap.mul'_apply {R : Type u_1} {A : Type u_2} [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] {a b : A} :
                  (mul' R A) (a ⊗ₜ[R] b) = a * b

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

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

                  Equations
                    Instances For
                      @[simp]
                      theorem NonUnitalAlgHom.coe_lmul_eq_mul {R : Type u_1} {A : Type u_2} [CommSemiring R] [NonUnitalSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] :
                      (lmul R A) = (LinearMap.mul R A)
                      theorem LinearMap.map_mul_iff {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [NonUnitalSemiring A] [NonUnitalSemiring B] [Module R B] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] [SMulCommClass R B B] [IsScalarTower R B B] (f : A →ₗ[R] B) :
                      (∀ (x y : A), f (x * y) = f x * f y) (mul R A).compr₂ f = (mul R B ∘ₗ f).compl₂ f

                      A LinearMap preserves multiplication if pre- and post- composition with LinearMap.mul are equivalent. By converting the statement into an equality of LinearMaps, this lemma allows various specialized ext lemmas about →ₗ[R] to then be applied.

                      This is the LinearMap version of AddMonoidHom.map_mul_iff.

                      @[simp]
                      theorem LinearMap.pow_mulLeft (R : Type u_1) (A : Type u_2) [Semiring R] [Semiring A] [Module R A] [SMulCommClass R A A] (a : A) (n : ) :
                      mulLeft R a ^ n = mulLeft R (a ^ n)
                      @[simp]
                      theorem LinearMap.pow_mulRight (R : Type u_1) (A : Type u_2) [Semiring R] [Semiring A] [Module R A] [IsScalarTower R A A] (a : A) (n : ) :
                      mulRight R a ^ n = mulRight R (a ^ n)
                      def Algebra.lmul (R : Type u_1) (A : Type u_2) [CommSemiring R] [Semiring A] [Algebra R 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 NonUnitalAlgHom.lmul.

                      Equations
                        Instances For
                          @[simp]
                          theorem Algebra.coe_lmul_eq_mul {R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Algebra R A] :
                          (lmul R A) = (LinearMap.mul R A)
                          theorem Algebra.lmul_isUnit_iff {R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Algebra R A] {x : A} :
                          IsUnit ((lmul R A) x) IsUnit x
                          @[deprecated LinearMap.toSpanSingleton_one_eq_algebraLinearMap (since := "2025-12-30")]

                          Alias of LinearMap.toSpanSingleton_one_eq_algebraLinearMap.

                          def LinearMap.mul'' (R : Type u_1) (A : Type u_2) [CommSemiring R] [Semiring A] [Algebra R A] :

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

                          Equations
                            Instances For
                              @[simp]
                              theorem LinearMap.mul''_apply (R : Type u_1) (A : Type u_2) [CommSemiring R] [Semiring A] [Algebra R A] (a✝ : TensorProduct R A A) :
                              (mul'' R A) a✝ = (TensorProduct.liftAux (mul R A)) a✝
                              @[simp]
                              theorem LinearMap.flip_mul {R : Type u_1} {A : Type u_2} [CommSemiring R] [NonUnitalCommSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] :
                              (mul R A).flip = mul R A
                              theorem LinearMap.mul'_comm {R : Type u_1} {A : Type u_2} [CommSemiring R] [NonUnitalCommSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A] (x : TensorProduct R A A) :
                              (mul' R A) ((TensorProduct.comm R A A) x) = (mul' R A) x