Pointwise scalar actions on submodules #
This file also records how scalar products that fix or annihilate a scalar control its pointwise image of the whole module. The image-membership result needs only a distributive monoid action.
Let S be a subring of a commutative ring A, M an A-module and M₀ an S-submodule of
M. This file collects the elementary facts about the family rⁿ • M₀, for r : S, in
Mathlib's pointwise action on submodules.
The family is written out as rⁿ • M₀ rather than wrapped in a definition of its own:
Submodule.mem_smul_pointwise_iff_exists already characterises membership and
Submodule.smul_le_self_of_tower already gives the shrinking, so a wrapper would only oblige
this file to restate both.
Main results #
Submodule.pow_smul_mem_pow_smul: the ambient-scalar bridge — an element ofM₀scaled bysⁿ : Alands in⟨s, _⟩ⁿ • M₀, so a consumer speakingAneeds no coercion plumbing.Submodule.pow_smul_antitone: the family is antitone in the exponent.Submodule.pow_add_smul_mem:M₀absorbs further powers of a scalar drawn fromS.
The ambient-scalar bridge. Membership in rⁿ • M₀ is stated in Mathlib's terms with the
subring scalar r : S, while a caller typically holds the ambient s : A. This is the crossing,
so the coercion plumbing is done once here.
Only this direction holds: the converse would need multiplication by sⁿ to be injective.
Not @[simp]: the left-hand side is already reducible by
Submodule.mem_smul_pointwise_iff_exists, so simp would rather rewrite it than close it, and the
simpNF linter says so. This is a bridge to apply, not a normalisation.
The family rⁿ • M₀ is antitone in n. Raising the exponent multiplies by a further
r, and Submodule.smul_le_self_of_tower says that shrinks the submodule.
A submodule over a subring absorbs further powers of a scalar from that subring: raising
the exponent cannot leave M₀, because the extra factor is itself a scalar from S.
Scaling into sⁿ • M₀. If c factors as s ^ (n + k) • b with b : S, and s ^ k • m
already lies in M₀, then c • m lies in sⁿ • M₀.
This is the step that both a submodules-basis smul condition and a module-filter-basis
smul_right' axiom reduce to, which is why it is stated once here rather than inline at each.
An element r fixed on the left by f carries the whole module into f • M: if
f * r = r then every multiple of r lies in f • M. No idempotency is needed.
An element that kills e on the right annihilates e • M: if r * e = 0 then r sends
every element of e • M to zero. No idempotency is needed.