Composing modules with a ring hom #
Main definitions #
Module.compHom: compose aModulewith aRingHom, with actionf s • m.RingHom.toModule: aRingHomdefines a module structure byr • x = f r * x.
Tags #
semimodule, module, vector space
@[reducible, inline]
abbrev
Function.Surjective.moduleLeft
{R : Type u_5}
{S : Type u_6}
{M : Type u_7}
[Semiring R]
[AddCommMonoid M]
[Module R M]
[Semiring S]
[SMul S M]
(f : R →+* S)
(hf : Surjective ⇑f)
(hsmul : ∀ (c : R) (x : M), f c • x = c • x)
:
Module S M
Push forward the action of R on M along a compatible surjective map f : R →+* S.
See also Function.Surjective.mulActionLeft and Function.Surjective.distribMulActionLeft.
Equations
Instances For
def
RingHom.smulOneHom
{R : Type u_1}
{S : Type u_2}
[Semiring R]
[NonAssocSemiring S]
[Module R S]
[IsScalarTower R S S]
:
If the module action of R on S is compatible with multiplication on S, then
fun x ↦ x • 1 is a ring homomorphism from R to S.
This is the RingHom version of MonoidHom.smulOneHom.
When R is commutative, usually algebraMap should be preferred.
Equations
Instances For
@[simp]
theorem
RingHom.smulOneHom_apply
{R : Type u_1}
{S : Type u_2}
[Semiring R]
[NonAssocSemiring S]
[Module R S]
[IsScalarTower R S S]
(x : R)
:
A homomorphism between semirings R and S can be equivalently specified by a R-module structure on S such that S/S/R is a scalar tower.