Zulip Chat Archive
Stream: Is there code for X?
Topic: Range of LinearMap.prod
Michael Rothgang (Mar 21 2025 at 14:03):
Do we really not have this?
import Mathlib
open Function Set
variable {๐ : Type*} [NontriviallyNormedField ๐] {E E' F F' G : Type*}
[NormedAddCommGroup E] [NormedSpace ๐ E] [NormedAddCommGroup E'] [NormedSpace ๐ E']
[NormedAddCommGroup F] [NormedSpace ๐ F] [NormedAddCommGroup F'] [NormedSpace ๐ F']
namespace LinearMap
lemma range_prodMap {f : E โL[๐] F} {g : E' โL[๐] F'} :
range (f.prodMap g) = (range f).prod (range g) := by
ext x
rw [Submodule.mem_prod]
simp_rw [LinearMap.mem_range]
constructor <;> intro h
ยท have : x โ Set.range (Prod.map f g) := h
rcases h with โจโจy1, yโโฉ, hyโฉ
all_goals simp_all
ยท choose yโ hyโ using h.1
choose yโ hyโ using h.2
use (yโ, yโ), by simp [hyโ, hyโ]
Michael Rothgang (Mar 21 2025 at 14:03):
@loogle LinearMap, "range", "prod"
Michael Rothgang (Mar 21 2025 at 14:04):
None of these mentions Prod.map.
Junyan Xu (Mar 23 2025 at 09:08):
lemma range_prodMap {f : E โL[๐] F} {g : E' โL[๐] F'} :
range (f.prodMap g) = (range f).prod (range g) := by
ext; simp [Prod.ext_iff]
works
Last updated: May 02 2025 at 03:31 UTC