Theorem: DenseRange.topologicalClosure_map_submodule
File: Mathlib/Topology/Algebra/Module/Basic.lean

tactic: rw [SetLike.ext'_iff] at hs⊢
state_before: R₁ : Type u_1
R₂ : Type u_2
R₃ : Type ?u.327240
inst✝²³ : Semiring R₁
inst✝²² : Semiring R₂
inst✝²¹ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
M₁ : Type u_3
inst✝²⁰ : TopologicalSpace M₁
inst✝¹⁹ : AddCommMonoid M₁
M'₁ : Type ?u.327327
inst✝¹⁸ : TopologicalSpace M'₁
inst✝¹⁷ : AddCommMonoid M'₁
M₂ : Type u_4
inst✝¹⁶ : TopologicalSpace M₂
inst✝¹⁵ : AddCommMonoid M₂
M₃ : Type ?u.327345
inst✝¹⁴ : TopologicalSpace M₃
inst✝¹³ : AddCommMonoid M₃
M₄ : Type ?u.327354
inst✝¹² : TopologicalSpace M₄
inst✝¹¹ : AddCommMonoid M₄
inst✝¹⁰ : Module R₁ M₁
inst✝⁹ : Module R₁ M'₁
inst✝⁸ : Module R₂ M₂
inst✝⁷ : Module R₃ M₃
inst✝⁶ : RingHomSurjective σ₁₂
inst✝⁵ : TopologicalSpace R₁
inst✝⁴ : TopologicalSpace R₂
inst✝³ : ContinuousSMul R₁ M₁
inst✝² : ContinuousAdd M₁
inst✝¹ : ContinuousSMul R₂ M₂
inst✝ : ContinuousAdd M₂
f : M₁ →SL[σ₁₂] M₂
hf' : DenseRange ↑f
s : Submodule R₁ M₁
hs : Submodule.topologicalClosure s = ⊤
⊢ Submodule.topologicalClosure (Submodule.map (↑f) s) = ⊤

tactic: simp only [Submodule.topologicalClosure_coe, Submodule.top_coe, ← dense_iff_closure_eq] at hs⊢
state_before: R₁ : Type u_1
R₂ : Type u_2
R₃ : Type ?u.327240
inst✝²³ : Semiring R₁
inst✝²² : Semiring R₂
inst✝²¹ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
M₁ : Type u_3
inst✝²⁰ : TopologicalSpace M₁
inst✝¹⁹ : AddCommMonoid M₁
M'₁ : Type ?u.327327
inst✝¹⁸ : TopologicalSpace M'₁
inst✝¹⁷ : AddCommMonoid M'₁
M₂ : Type u_4
inst✝¹⁶ : TopologicalSpace M₂
inst✝¹⁵ : AddCommMonoid M₂
M₃ : Type ?u.327345
inst✝¹⁴ : TopologicalSpace M₃
inst✝¹³ : AddCommMonoid M₃
M₄ : Type ?u.327354
inst✝¹² : TopologicalSpace M₄
inst✝¹¹ : AddCommMonoid M₄
inst✝¹⁰ : Module R₁ M₁
inst✝⁹ : Module R₁ M'₁
inst✝⁸ : Module R₂ M₂
inst✝⁷ : Module R₃ M₃
inst✝⁶ : RingHomSurjective σ₁₂
inst✝⁵ : TopologicalSpace R₁
inst✝⁴ : TopologicalSpace R₂
inst✝³ : ContinuousSMul R₁ M₁
inst✝² : ContinuousAdd M₁
inst✝¹ : ContinuousSMul R₂ M₂
inst✝ : ContinuousAdd M₂
f : M₁ →SL[σ₁₂] M₂
hf' : DenseRange ↑f
s : Submodule R₁ M₁
hs✝ : Submodule.topologicalClosure s = ⊤
hs : ↑(Submodule.topologicalClosure s) = ↑⊤
⊢ ↑(Submodule.topologicalClosure (Submodule.map (↑f) s)) = ↑⊤

tactic: exact hf'.dense_image f.continuous hs
state_before: R₁ : Type u_1
R₂ : Type u_2
R₃ : Type ?u.327240
inst✝²³ : Semiring R₁
inst✝²² : Semiring R₂
inst✝²¹ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
M₁ : Type u_3
inst✝²⁰ : TopologicalSpace M₁
inst✝¹⁹ : AddCommMonoid M₁
M'₁ : Type ?u.327327
inst✝¹⁸ : TopologicalSpace M'₁
inst✝¹⁷ : AddCommMonoid M'₁
M₂ : Type u_4
inst✝¹⁶ : TopologicalSpace M₂
inst✝¹⁵ : AddCommMonoid M₂
M₃ : Type ?u.327345
inst✝¹⁴ : TopologicalSpace M₃
inst✝¹³ : AddCommMonoid M₃
M₄ : Type ?u.327354
inst✝¹² : TopologicalSpace M₄
inst✝¹¹ : AddCommMonoid M₄
inst✝¹⁰ : Module R₁ M₁
inst✝⁹ : Module R₁ M'₁
inst✝⁸ : Module R₂ M₂
inst✝⁷ : Module R₃ M₃
inst✝⁶ : RingHomSurjective σ₁₂
inst✝⁵ : TopologicalSpace R₁
inst✝⁴ : TopologicalSpace R₂
inst✝³ : ContinuousSMul R₁ M₁
inst✝² : ContinuousAdd M₁
inst✝¹ : ContinuousSMul R₂ M₂
inst✝ : ContinuousAdd M₂
f : M₁ →SL[σ₁₂] M₂
hf' : DenseRange ↑f
s : Submodule R₁ M₁
hs✝ : Submodule.topologicalClosure s = ⊤
hs : Dense ↑s
⊢ Dense ↑(Submodule.map (↑f) s)