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 ifSacts onR
V.restrictScalars 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 = { 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 = { 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
- Submodule.restrictScalarsEquiv S R M p = let __src := AddEquiv.refl ↥p; { toFun := __src.toFun, map_add' := ⋯, map_smul' := ⋯, invFun := __src.invFun, left_inv := ⋯, right_inv := ⋯ }
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 = { toFun := Submodule.restrictScalars S, map_sInf' := ⋯, map_sSup' := ⋯ }