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 AddSubmonoid
s, AddSubgroup
s, or Submodule
s), this file
provides the Prop
typeclasses:
SetLike.GradedSMul A M
(which provides the obviousGradedMonoid.GSMul A
instance)
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 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) => { fst := x.fst +ᵥ y.fst, snd := GradedMonoid.GSMul.smul x.snd y.snd } }
A graded version of MulAction
.
- smul : {i : ιA} → {j : ιM} → A i → M j → M (i +ᵥ j)
- one_smul : ∀ (b : GradedMonoid M), 1 • b = b
One is the neutral element for
•
- mul_smul : ∀ (a a' : GradedMonoid A) (b : GradedMonoid M), (a * a') • b = a • a' • b
Associativity of
•
and*
Instances
The graded version of Monoid.toMulAction
.
Equations
- One or more equations did not get rendered due to their size.
Equations
- GradedMonoid.GMulAction.toMulAction A M = MulAction.mk (_ : ∀ (b : GradedMonoid M), 1 • b = b) (_ : ∀ (a a' : GradedMonoid A) (b : GradedMonoid M), (a * a') • b = a • a' • b)
Shorthands for creating instance of the above typeclasses for collections of subobjects #
Internally graded version of Mul.toSMul
.
Equations
- (_ : SetLike.GradedSMul A A) = (_ : SetLike.GradedSMul A A)