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 locale open, these respectively imbue:
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
Equations
- GradedMonoid.GMul.toGSMul A = { smul := fun {i j : ιA} => GradedMonoid.GMul.mul }
Equations
- GradedMonoid.GSMul.toSMul A M = { smul := fun (x : GradedMonoid A) (y : GradedMonoid M) => ⟨x.fst +ᵥ y.fst, GradedMonoid.GSMul.smul x.snd y.snd⟩ }
A graded version of MulAction.
One is the neutral element for
•Associativity of
•and*
Instances
The graded version of Monoid.toMulAction.
Equations
- GradedMonoid.GMonoid.toGMulAction A = { toGSMul := GradedMonoid.GMul.toGSMul A, one_smul := ⋯, mul_smul := ⋯ }
Equations
- GradedMonoid.GMulAction.toMulAction A M = { toSMul := GradedMonoid.GSMul.toSMul A M, one_smul := ⋯, mul_smul := ⋯ }
Shorthands for creating instance of the above typeclasses for collections of subobjects #
Internally graded version of Mul.toSMul.