The interaction of linear span and tensor product for mixed scalars. #
def Submodule.tensorToSpan {R : Type u_1} (A : Type u_2) {M : Type u_3} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] (p : Submodule R M) :
If A is an R-algebra and p is an R-submodule of an A-module M, this is the natural
surjection A ⊗[R] p → span A p.
See also Submodule.tensorEquivSpan.
Equations
- Submodule.tensorToSpan A p = TensorProduct.AlgebraTensorModule.lift { toFun := fun (a : A) => a • Submodule.inclusionSpan A p, map_add' := ⋯, map_smul' := ⋯ }
Instances For
@[simp]
theorem Submodule.tensorToSpan_apply_tmul {R : Type u_1} (A : Type u_2) {M : Type u_3} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] (p : Submodule R M) (a : A) (x : ↥p) :
theorem Submodule.surjective_tensorToSpan {R : Type u_1} (A : Type u_2) {M : Type u_3} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] (p : Submodule R M) :
Function.Surjective ⇑(tensorToSpan A p)
theorem Submodule.injective_tensorToSpan {R : Type u_1} (A : Type u_2) {M : Type u_3} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] (p : Submodule R M) [Algebra.IsEpi R A] [Module.Flat R A] :
Function.Injective ⇑(tensorToSpan A p)
noncomputable def Submodule.tensorEquivSpan {R : Type u_1} (A : Type u_2) {M : Type u_3} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] (p : Submodule R M) [Algebra.IsEpi R A] [Module.Flat R A] :
If A is a flat epi R-algebra and p is an R-submodule of an A-module M then the
natural surjection from A ⊗[R] p to span A p is an equivalence.
Equations
Instances For
@[simp]
theorem Submodule.tensorEquivSpan_apply_tmul {R : Type u_1} (A : Type u_2) {M : Type u_3} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] (p : Submodule R M) [Algebra.IsEpi R A] [Module.Flat R A] (a : A) (x : ↥p) :
noncomputable def Submodule.tensorSpanEquivSpan (R : Type u_1) (A : Type u_2) {M : Type u_3} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [Algebra.IsEpi R A] [Module.Flat R A] (s : Set M) :
If A is a flat epi R-algebra and s is a subset of an A-module M then the natural
surjection from A ⊗[R] span R s to span A s is an equivalence.
Equations
- Submodule.tensorSpanEquivSpan R A s = (Submodule.tensorEquivSpan A (Submodule.span R s)).trans (LinearEquiv.ofEq (Submodule.span A ↑(Submodule.span R s)) (Submodule.span A s) ⋯)
Instances For
@[simp]
theorem Submodule.coe_tensorSpanEquivSpan_apply_tmul {R : Type u_1} (A : Type u_2) {M : Type u_3} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [Algebra.IsEpi R A] [Module.Flat R A] {s : Set M} (a : A) (x : ↥(span R s)) :
@[simp]
theorem Submodule.finrank_span_eq_finrank {R : Type u_1} (A : Type u_2) {M : Type u_3} [CommRing R] [CommRing A] [Nontrivial A] [Algebra R A] [Algebra.IsEpi R A] [Module.Flat R A] [AddCommGroup M] [Module R M] [Module A M] [IsScalarTower R A M] (p : Submodule R M) [Module.Free R ↥p] [Module.Finite R ↥p] :
theorem Submodule.finrank_span_eq_finrank_span (R : Type u_1) (A : Type u_2) {M : Type u_3} [CommRing R] [CommRing A] [Nontrivial A] [Algebra R A] [Algebra.IsEpi R A] [Module.Flat R A] [AddCommGroup M] [Module R M] [Module A M] [IsScalarTower R A M] [IsPrincipalIdealRing R] [IsDomain R] [Module.IsTorsionFree R M] (s : Set M) [Module.Finite R ↥(span R s)] :