Restriction of scalars for submodules #
If semiring S
acts on a semiring R
and M
is a module over both (compatibly with this action)
then we can turn an R
-submodule into an S
-submodule by forgetting the action of R
. We call
this restriction of scalars for submodules.
Main definitions: #
Submodule.restrictScalars
: regard anR
-submodule as anS
-submodule ifS
acts onR
V.restrict_scalars S
is the S
-submodule of the S
-module given by restriction of scalars,
corresponding to V
, an R
-submodule of the original R
-module.
Equations
- Submodule.restrictScalars S V = { toAddSubmonoid := { toAddSubsemigroup := { carrier := ↑V, add_mem' := ⋯ }, zero_mem' := ⋯ }, smul_mem' := ⋯ }
Instances For
Even though p.restrictScalars S
has type Submodule S M
, it is still an R
-module.
Equations
- Submodule.restrictScalars.origModule S R M p = inferInstance
Equations
- ⋯ = ⋯
restrictScalars S
is an embedding of the lattice of R
-submodules into
the lattice of S
-submodules.
Equations
- Submodule.restrictScalarsEmbedding S R M = { toEmbedding := { toFun := Submodule.restrictScalars S, inj' := ⋯ }, map_rel_iff' := ⋯ }
Instances For
Turning p : Submodule R M
into an S
-submodule gives the same module structure
as turning it into a type and adding a module structure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If ring S
acts on a ring R
and M
is a module over both (compatibly with this action) then
we can turn an R
-submodule into an S
-submodule by forgetting the action of R
.
Equations
- Submodule.restrictScalarsLatticeHom S R M = { tosInfHom := { toFun := Submodule.restrictScalars S, map_sInf' := ⋯ }, map_sSup' := ⋯ }