Module structure on monoid algebras #
Main results #
MonoidAlgebra.module,AddMonoidAlgebra.module: lift a module structure to monoid algebras
Implementation notes #
We do not state the equivalent of DistribMulAction M (MonoidAlgebra S M) for AddMonoidAlgebra
because mathlib does not have the notion of distributive actions of additive groups.
Multiplicative monoids #
Equations
- MonoidAlgebra.distribMulAction = { toSMul := MonoidAlgebra.smulZeroClass.toSMul, mul_smul := ⋯, one_smul := ⋯, smul_zero := ⋯, smul_add := ⋯ }
Equations
- AddMonoidAlgebra.distribMulAction = { toSMul := AddMonoidAlgebra.smulZeroClass.toSMul, mul_smul := ⋯, one_smul := ⋯, smul_zero := ⋯, smul_add := ⋯ }
Equations
- MonoidAlgebra.instModule = { toDistribMulAction := MonoidAlgebra.distribMulAction, add_smul := ⋯, zero_smul := ⋯ }
Equations
- AddMonoidAlgebra.instModule = { toDistribMulAction := AddMonoidAlgebra.distribMulAction, add_smul := ⋯, zero_smul := ⋯ }
MonoidAlgebra.coeff as a linear equiv.
Instances For
MonoidAlgebra.coeff as a linear equiv.
Instances For
MonoidAlgebra.mapDomain as a linear map.
Equations
Instances For
AddMonoidAlgebra.mapDomain as a linear map.
Equations
Instances For
MonoidAlgebra.mapDomain as a linear equiv.
Equations
Instances For
AddMonoidAlgebra.mapDomain as a linear equiv.
Equations
Instances For
The trivial monoid algebra is the base ring.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The trivial monoid algebra is the base ring.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The R-submodule of all elements of S[M] supported on a subset s of M.
Equations
- MonoidAlgebra.supported R S s = Submodule.comap (↑(MonoidAlgebra.coeffLinearEquiv R)) (Finsupp.supported S R s)
Instances For
The R-submodule of all elements of S[M] supported on a subset s of M.
Equations
- AddMonoidAlgebra.supported R S s = Submodule.comap (↑(AddMonoidAlgebra.coeffLinearEquiv R)) (Finsupp.supported S R s)
Instances For
Interpret Finsupp.restrictSupportEquiv as a linear equivalence between
supported M R s and s →₀ M.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Interpret Finsupp.restrictSupportEquiv as a linear equivalence between
supported M R s and s →₀ M.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The standard basis for a monoid algebra.
Equations
- MonoidAlgebra.basis R k = { repr := MonoidAlgebra.coeffLinearEquiv k }
Instances For
The standard basis for an additive monoid algebra.
Equations
- AddMonoidAlgebra.basis R k = { repr := AddMonoidAlgebra.coeffLinearEquiv k }
Instances For
This is not an instance as it conflicts with MonoidAlgebra.distribMulAction when M = kˣ.
TODO: Change the type to DistribMulAction Gᵈᵐᵃ S[M] and then it can be an instance.
TODO: Generalise to a group acting on another, instead of just the left multiplication action.
Equations
- One or more equations did not get rendered due to their size.
Instances For
MonoidAlgebra.single as a DistribMulActionHom.
Equations
- MonoidAlgebra.singleDistribMulActionHom a = { toFun := (↑(MonoidAlgebra.singleAddHom a)).toFun, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
AddMonoidAlgebra.single as a DistribMulActionHom.
Equations
- AddMonoidAlgebra.singleDistribMulActionHom a = { toFun := (↑(AddMonoidAlgebra.singleAddHom a)).toFun, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
A copy of Finsupp.distribMulActionHom_ext' for MonoidAlgebra.
A copy of Finsupp.distribMulActionHom_ext' for AddMonoidAlgebra.
A copy of Finsupp.lsingle for MonoidAlgebra.
Equations
Instances For
A copy of Finsupp.lsingle for AddMonoidAlgebra.
Equations
Instances For
A copy of Finsupp.lhom_ext' for MonoidAlgebra.
The image of an element m : M in R[M] belongs to the submodule generated by
s : Set M if and only if m ∈ s.
If the image of an element m : M in R[M] belongs to the submodule generated by the
closure of some s : Set M then m ∈ closure s.
Non-unital, non-associative algebra structure #
Note that if S is a CommSemiring then we have SMulCommClass S S S and so we can take
R = S in the below. In other words, if the coefficients are commutative amongst themselves, they
also commute with the algebra multiplication.
A submodule over S which is stable under scalar multiplication by elements of M is a
submodule over S[M]
Equations
- MonoidAlgebra.submoduleOfSMulMem W h = { carrier := ↑W, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }
Instances For
Additive monoids #
The image of an element m : M in R[M] belongs the submodule generated by
s : Set M if and only if m ∈ s.
If the image of an element m : M in R[M] belongs the submodule generated by
the closure of some s : Set M then m ∈ closure s.