Documentation

Mathlib.LinearAlgebra.SymmetricAlgebra.Basic

Symmetric Algebras #

Given a commutative semiring R, and an R-module M, we construct the symmetric algebra of M. This is the free commutative R-algebra generated (R-linearly) by the module M.

Notation #

Note #

See SymAlg R instead if you are looking for the symmetrized algebra, which gives a commutative multiplication on R by $a \circ b = \frac{1}{2}(ab + ba)$.

inductive TensorAlgebra.SymRel (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] :

Relation on the tensor algebra which will yield the symmetric algebra when quotiented out by.

Instances For
    @[reducible, inline]
    abbrev SymmetricAlgebra (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] :
    Type (max u_1 u_2)

    Concrete construction of the symmetric algebra of M by quotienting out the tensor algebra by the commutativity relation.

    Equations
      Instances For
        @[reducible, inline]

        Algebra homomorphism from the tensor algebra over M to the symmetric algebra over M.

        Equations
          Instances For

            Canonical inclusion of M into the symmetric algebra SymmetricAlgebra R M.

            Equations
              Instances For
                theorem SymmetricAlgebra.induction (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] {motive : SymmetricAlgebra R MProp} (algebraMap : ∀ (r : R), motive ((algebraMap R (SymmetricAlgebra R M)) r)) (ι : ∀ (x : M), motive ((ι R M) x)) (mul : ∀ (a b : SymmetricAlgebra R M), motive amotive bmotive (a * b)) (add : ∀ (a b : SymmetricAlgebra R M), motive amotive bmotive (a + b)) (a : SymmetricAlgebra R M) :
                motive a
                def SymmetricAlgebra.lift {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] :

                For any linear map f : M →ₗ[R] A, SymmetricAlgebra.lift f lifts the linear map to an R-algebra homomorphism from SymmetricAlgebra R M to A.

                Equations
                  Instances For
                    @[simp]
                    theorem SymmetricAlgebra.lift_ι_apply {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] (f : M →ₗ[R] A) (a : M) :
                    (lift f) ((ι R M) a) = f a
                    @[simp]
                    theorem SymmetricAlgebra.lift_comp_ι {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] (f : M →ₗ[R] A) :
                    (lift f) ∘ₗ ι R M = f
                    theorem SymmetricAlgebra.algHom_ext {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {F G : SymmetricAlgebra R M →ₐ[R] A} (h : F ∘ₗ ι R M = G ∘ₗ ι R M) :
                    F = G
                    theorem SymmetricAlgebra.algHom_ext_iff {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {F G : SymmetricAlgebra R M →ₐ[R] A} :
                    F = G F ∘ₗ ι R M = G ∘ₗ ι R M
                    @[simp]
                    theorem SymmetricAlgebra.lift_ι {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] :

                    The left-inverse of algebraMap.

                    Equations
                      Instances For
                        @[simp]
                        theorem SymmetricAlgebra.algebraMap_inj {R : Type u_1} (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] (x y : R) :
                        @[simp]
                        theorem SymmetricAlgebra.algebraMap_eq_zero_iff {R : Type u_1} (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] (x : R) :
                        (algebraMap R (SymmetricAlgebra R M)) x = 0 x = 0
                        @[simp]
                        theorem SymmetricAlgebra.algebraMap_eq_one_iff {R : Type u_1} (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] (x : R) :
                        (algebraMap R (SymmetricAlgebra R M)) x = 1 x = 1

                        A SymmetricAlgebra over a nontrivial semiring is nontrivial.

                        def IsSymmetricAlgebra {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] (f : M →ₗ[R] A) :

                        Given a morphism f : M →ₗ[R] A, IsSymmetricAlgebra f is a proposition saying that the algebra homomorphism from SymmetricAlgebra R M to A is bijective.

                        Equations
                          Instances For
                            noncomputable def IsSymmetricAlgebra.equiv {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} (h : IsSymmetricAlgebra f) :

                            For f : M →ₗ[R] A, construct the algebra isomorphism SymmetricAlgebra R M ≃ₐ[R] A from IsSymmetricAlgebra f.

                            Equations
                              Instances For
                                @[simp]
                                theorem IsSymmetricAlgebra.equiv_apply {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} (h : IsSymmetricAlgebra f) (a : SymmetricAlgebra R M) :
                                @[simp]
                                theorem IsSymmetricAlgebra.equiv_toAlgHom {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} (h : IsSymmetricAlgebra f) :
                                @[simp]
                                theorem IsSymmetricAlgebra.equiv_symm_apply {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} (h : IsSymmetricAlgebra f) (a : M) :
                                @[simp]
                                theorem IsSymmetricAlgebra.equiv_symm_comp {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} (h : IsSymmetricAlgebra f) :
                                theorem IsSymmetricAlgebra.of_equiv {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} (e : SymmetricAlgebra R M ≃ₐ[R] A) (he : e ∘ₗ SymmetricAlgebra.ι R M = f) :
                                noncomputable def IsSymmetricAlgebra.lift {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} (h : IsSymmetricAlgebra f) {A' : Type u_4} [CommSemiring A'] [Algebra R A'] (g : M →ₗ[R] A') :
                                A →ₐ[R] A'

                                Given a morphism g : M →ₗ[R] A', lift this to a morphism of type A →ₐ[R] A' (where A satisfies the universal property of the symmetric algebra of M)

                                Equations
                                  Instances For
                                    @[simp]
                                    theorem IsSymmetricAlgebra.lift_eq {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} (h : IsSymmetricAlgebra f) {A' : Type u_4} [CommSemiring A'] [Algebra R A'] (g : M →ₗ[R] A') (a : M) :
                                    (h.lift g) (f a) = g a
                                    @[simp]
                                    theorem IsSymmetricAlgebra.lift_comp_linearMap {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} (h : IsSymmetricAlgebra f) {A' : Type u_4} [CommSemiring A'] [Algebra R A'] (g : M →ₗ[R] A') :
                                    (h.lift g) ∘ₗ f = g
                                    theorem IsSymmetricAlgebra.algHom_ext {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} {A' : Type u_4} [CommSemiring A'] [Algebra R A'] (h : IsSymmetricAlgebra f) {F G : A →ₐ[R] A'} (hFG : F ∘ₗ f = G ∘ₗ f) :
                                    F = G
                                    theorem IsSymmetricAlgebra.lift_unique {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} (h : IsSymmetricAlgebra f) {A' : Type u_4} [CommSemiring A'] [Algebra R A'] {g : M →ₗ[R] A'} {F : A →ₐ[R] A'} (hF : F ∘ₗ f = g) :
                                    F = h.lift g
                                    theorem IsSymmetricAlgebra.induction {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {A : Type u_3} [CommSemiring A] [Algebra R A] {f : M →ₗ[R] A} (h : IsSymmetricAlgebra f) {motive : AProp} (algebraMap : ∀ (r : R), motive ((algebraMap R A) r)) (ι : ∀ (x : M), motive (f x)) (mul : ∀ (a b : A), motive amotive bmotive (a * b)) (add : ∀ (a b : A), motive amotive bmotive (a + b)) (a : A) :
                                    motive a