forked from leanprover-community/mathlib
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
…eanprover-community#2577) A continuous additive map between two vector spaces over `ℝ` is `ℝ`-linear.
- Loading branch information
Showing
1 changed file
with
39 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/- | ||
Copyright (c) 2020 Yury Kudryashov. All rights reserved. | ||
Released under Apache 2.0 license as described in the file LICENSE. | ||
Author: Yury Kudryashov | ||
-/ | ||
import topology.algebra.module | ||
import topology.instances.real | ||
|
||
/-! | ||
# Continuous additive maps are `ℝ`-linear | ||
In this file we prove that a continuous map `f : E →+ F` between two topological vector spaces | ||
over `ℝ` is `ℝ`-linear | ||
-/ | ||
|
||
variables {E : Type*} [add_comm_group E] [vector_space ℝ E] [topological_space E] | ||
[topological_vector_space ℝ E] {F : Type*} [add_comm_group F] [vector_space ℝ F] | ||
[topological_space F] [topological_vector_space ℝ F] [t2_space F] | ||
|
||
namespace add_monoid_hom | ||
|
||
/-- A continuous additive map between two vector spaces over `ℝ` is `ℝ`-linear. -/ | ||
lemma map_real_smul (f : E →+ F) (hf : continuous f) (c : ℝ) (x : E) : | ||
f (c • x) = c • f x := | ||
suffices (λ c : ℝ, f (c • x)) = λ c : ℝ, c • f x, from congr_fun this c, | ||
dense_embedding_of_rat.dense.equalizer | ||
(hf.comp $ continuous_id.smul continuous_const) | ||
(continuous_id.smul continuous_const) | ||
(funext $ λ r, f.map_rat_cast_smul r x) | ||
|
||
/-- Reinterpret a continuous additive homomorphism between two real vector spaces | ||
as a continuous real-linear map. -/ | ||
def to_real_linear_map (f : E →+ F) (hf : continuous f) : E →L[ℝ] F := | ||
⟨⟨f, f.map_add, f.map_real_smul hf⟩, hf⟩ | ||
|
||
@[simp] lemma coe_to_real_linear_map (f : E →+ F) (hf : continuous f) : | ||
⇑(f.to_real_linear_map hf) = f := rfl | ||
|
||
end add_monoid_hom |