Additively-graded multiplicative action structures #
This module provides a set of heterogeneous typeclasses for defining a multiplicative structure
over the sigma type GradedMonoid A such that (•) : A i → M j → M (i +ᵥ j); that is to say, A
has an additively-graded multiplicative action on M. The typeclasses are:
With the SigmaGraded scope open, these respectively imbue:
SMul (GradedMonoid A) (GradedMonoid M)MulAction (GradedMonoid A) (GradedMonoid M)
For now, these typeclasses are primarily used in the construction of DirectSum.GModule.Module and
the rest of that file.
Internally graded multiplicative actions #
In addition to the above typeclasses, in the most frequent case when A is an indexed collection of
SetLike subobjects (such as AddSubmonoids, AddSubgroups, or Submodules), this file
provides the Prop typeclasses:
SetLike.GradedSMul A M(which provides the obviousGradedMonoid.GSMul Ainstance)
which provides the API lemma
SetLike.graded_smul_mem_graded
Note that there is no need for SetLike.graded_mul_action or similar, as all the information it
would contain is already supplied by GradedSMul when the objects within A and M have
a MulAction instance.
Tags #
graded action
Typeclasses #
A graded version of SMul. Scalar multiplication combines grades additively, i.e.
if a ∈ A i and m ∈ M j, then a • b must be in M (i + j).
The homogeneous multiplication map
smul
Instances
A graded version of Mul.toSMul
A graded version of MulAction.
- one_smul (b : GradedMonoid M) : 1 • b = b
One is the neutral element for
• Associativity of
•and*
Instances
The graded version of Monoid.toMulAction.
Shorthands for creating instance of the above typeclasses for collections of subobjects #
Internally graded version of Mul.toSMul.