English
Let R be a commutative semiring, S a semiring with an R-algebra structure, and N a submodule of S. There is a natural R-linear map from (⊥) ⊗_R N to N given by multiplication in S, and this induces an isomorphism of R-modules between ⊥ ⊗_R N and N; on simple tensors it sends algebraMap_R_S(y) ⊗ n to y · n.
Русский
Пусть R — коммутативное полупкольце, S — полукольцо с структурой R-алгебры, N — подпростство S. Существует естественный R-линейный отображение от ⊥ ⊗_R N в N, заданное умножением в S, и оно порождает изоморфизм як модулей R между ⊥ ⊗_R N и N; на простых тензорах оно отправляет algebraMap_R_S(y) ⊗ n в y·n.
LaTeX
$$$l\otimes_N: (\bot \otimes_R N) \to N, \qquad l(a \otimes n) = a \cdot n \quad( a = \text{algebraMap } R S(y) \in \bot ).$$$
Lean4
/-- If `N` is a submodule in an algebra `S` over `R`, there is the natural `R`-linear map
`i(R) ⊗[R] N →ₗ[R] N` induced by multiplication in `S`, here `i : R → S` is the structure map.
This is promoted to an isomorphism of `R`-modules as `Submodule.lTensorOne`. Use that instead. -/
def lTensorOne' : (⊥ : Subalgebra R S) ⊗[R] N →ₗ[R] N :=
show Subalgebra.toSubmodule ⊥ ⊗[R] N →ₗ[R] N from
(LinearEquiv.ofEq _ _ (by rw [Algebra.toSubmodule_bot, mulMap_range, one_mul])).toLinearMap ∘ₗ
(mulMap _ N).rangeRestrict