Additively-graded algebra structures on ⨁ i, A i #
This file provides R-algebra structures on external direct sums of R-modules.
Recall that if A i are a family of AddCommMonoids indexed by an AddMonoid, then an instance
of DirectSum.GMonoid A is a multiplication A i → A j → A (i + j) giving ⨁ i, A i the
structure of a semiring. In this file, we introduce the DirectSum.GAlgebra R A class for the case
where all A i are R-modules. This is the extra structure needed to promote ⨁ i, A i to an
R-algebra.
Main definitions #
DirectSum.GAlgebra R A, the typeclass.DirectSum.toAlgebraextendsDirectSum.toSemiringto produce anAlgHom.
A graded version of Algebra. An instance of DirectSum.GAlgebra R A endows (⨁ i, A i)
with an R-algebra structure.
- toFun : R →+ A 0
- map_one : DirectSum.GAlgebra.toFun 1 = GradedMonoid.GOne.one
- map_mul : ∀ (r s : R), GradedMonoid.mk 0 (DirectSum.GAlgebra.toFun (r * s)) = GradedMonoid.mk (0 + 0) (GradedMonoid.GMul.mul (DirectSum.GAlgebra.toFun r) (DirectSum.GAlgebra.toFun s))
- commutes : ∀ (r : R) (x : GradedMonoid A), GradedMonoid.mk 0 (DirectSum.GAlgebra.toFun r) * x = x * GradedMonoid.mk 0 (DirectSum.GAlgebra.toFun r)
- smul_def : ∀ (r : R) (x : GradedMonoid A), r • x = GradedMonoid.mk 0 (DirectSum.GAlgebra.toFun r) * x
Instances
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- One or more equations did not get rendered due to their size.
A family of LinearMaps preserving DirectSum.GOne.one and DirectSum.GMul.mul
describes an AlgHom on ⨁ i, A i. This is a stronger version of DirectSum.toSemiring.
Of particular interest is the case when A i are bundled subojects, f is the family of
coercions such as Submodule.subtype (A i), and the [GMonoid A] structure originates from
DirectSum.GMonoid.ofAddSubmodules, in which case the proofs about GOne and GMul
can be discharged by rfl.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Two AlgHoms out of a direct sum are equal if they agree on the generators.
See note [partially-applied ext lemmas].
The piecewise multiplication from the Mul instance, as a bundled linear homomorphism.
This is the graded version of LinearMap.mul, and the linear version of DirectSum.gMulHom
Equations
- One or more equations did not get rendered due to their size.
Instances For
Concrete instances #
A direct sum of copies of an Algebra inherits the algebra structure.
Equations
- Algebra.directSumGAlgebra = { toFun := RingHom.toAddMonoidHom (algebraMap R A), map_one := ⋯, map_mul := ⋯, commutes := ⋯, smul_def := ⋯ }