@@ -731,27 +731,34 @@ lemma map_comm (f : M →ₗ[R] P) (g : N →ₗ[R] Q) (x : N ⊗[R] M) :
731
731
map f g (TensorProduct.comm R N M x) = TensorProduct.comm R Q P (map g f x) :=
732
732
DFunLike.congr_fun (map_comp_comm_eq _ _) _
733
733
734
- theorem map_range_eq_span_tmul (f : M →ₗ[R] P) (g : N →ₗ[R] Q) :
734
+ theorem range_map (f : M →ₗ[R] P) (g : N →ₗ[R] Q) :
735
+ range (map f g) = .map₂ (mk R _ _) (range f) (range g) := by
736
+ simp_rw [← Submodule.map_top, Submodule.map₂_map_map, ← map₂_mk_top_top_eq_top,
737
+ Submodule.map_map₂]
738
+ rfl
739
+
740
+ theorem range_map_eq_span_tmul (f : M →ₗ[R] P) (g : N →ₗ[R] Q) :
735
741
range (map f g) = Submodule.span R { t | ∃ m n, f m ⊗ₜ g n = t } := by
736
742
simp only [← Submodule.map_top, ← span_tmul_eq_top, Submodule.map_span]
737
743
congr; ext t
738
744
simp
739
745
746
+ @[deprecated (since := "2025-09-07")] alias map_range_eq_span_tmul := range_map_eq_span_tmul
747
+
740
748
/-- Given submodules `p ⊆ P` and `q ⊆ Q`, this is the natural map: `p ⊗ q → P ⊗ Q`. -/
741
749
@[simp]
742
750
def mapIncl (p : Submodule R P) (q : Submodule R Q) : p ⊗[R] q →ₗ[R] P ⊗[R] Q :=
743
751
map p.subtype q.subtype
744
752
745
753
lemma range_mapIncl (p : Submodule R P) (q : Submodule R Q) :
746
- LinearMap.range (mapIncl p q) = Submodule.span R (Set.image2 (· ⊗ₜ ·) p q) := by
747
- rw [mapIncl, map_range_eq_span_tmul]
748
- congr; ext; simp
754
+ LinearMap.range (mapIncl p q) = .map₂ (mk R _ _) p q := by
755
+ simp_rw [mapIncl, range_map, Submodule.range_subtype]
749
756
750
757
theorem map₂_eq_range_lift_comp_mapIncl (f : P →ₗ[R] Q →ₗ[R] M)
751
758
(p : Submodule R P) (q : Submodule R Q) :
752
759
Submodule.map₂ f p q = LinearMap.range (lift f ∘ₗ mapIncl p q) := by
753
- simp_rw [LinearMap.range_comp, range_mapIncl, Submodule.map_span,
754
- Set.image_image2, Submodule.map₂_eq_span_image2, lift.tmul]
760
+ simp_rw [LinearMap.range_comp, range_mapIncl, Submodule.map_map₂]
761
+ rfl
755
762
756
763
section
757
764
@@ -772,7 +779,7 @@ lemma map_map (f₂ : M₂ →ₗ[R] M₃) (g₂ : N₂ →ₗ[R] N₃) (f₁ :
772
779
lemma range_mapIncl_mono {p p' : Submodule R P} {q q' : Submodule R Q} (hp : p ≤ p') (hq : q ≤ q') :
773
780
LinearMap.range (mapIncl p q) ≤ LinearMap.range (mapIncl p' q') := by
774
781
simp_rw [range_mapIncl]
775
- exact Submodule.span_mono (Set.image2_subset hp hq)
782
+ exact Submodule.map₂_le_map₂ hp hq
776
783
777
784
theorem lift_comp_map (i : P →ₗ[R] Q →ₗ[R] Q') (f : M →ₗ[R] P) (g : N →ₗ[R] Q) :
778
785
(lift i).comp (map f g) = lift ((i.comp f).compl₂ g) :=
0 commit comments