@@ -6,13 +6,12 @@ import Mathlib.Topology.Order
6
6
import Mathlib.Algebra.Group.Action.Defs
7
7
8
8
/-
9
- -- todo : A -> R, M -> A
10
9
# An "action topology" for monoid actions.
11
10
12
- If `R` has a topology and acts on the type `A`, then `A` inherits a topology
13
- called the action topology. It's the `≤`-smallest topology (i.e. the one with
14
- the most open sets) making the action `R × A → A` continuous. We call this
15
- topology the action topology .
11
+ If `R` and `A` are types, and if `R` has a topology `[TopologicalSpace R]`
12
+ and acts on `A` `[SMul R A]`, then `A` inherits a topology from this set-up,
13
+ which we call the * action* topology. It's the `≤`-smallest topology (i.e., the one with
14
+ the most open sets) making the action `R × A → A` continuous .
16
15
17
16
In many cases this topology is the one you expect. For example if `R` is a topological field
18
17
and `A` is a finite-dimensional real vector space over `R` then picking a basis gives `A` a
@@ -80,6 +79,21 @@ so we can ask for example whether the function application map `A × (A →ₗ[R
80
79
functions from `A` (now considered only as an index set, so with no topology) to `B` is continuous.
81
80
82
81
-/
82
+
83
+ section continuous_smul
84
+
85
+ variable {R : Type } [τR : TopologicalSpace R]
86
+ variable {A : Type } [SMul R A]
87
+ variable {S : Type } [τS : TopologicalSpace S] {f : S → R} (hf : Continuous f)
88
+ variable {B : Type } [SMul S B] (g : B →ₑ[f] A)
89
+
90
+ -- note: use convert not exact to ensure typeclass inference doesn't try to find topology on B
91
+ lemma induced_continuous_smul [τA : TopologicalSpace A] [ContinuousSMul R A] :
92
+ @ContinuousSMul S B _ _ (TopologicalSpace.induced g τA) := by
93
+ convert Inducing.continuousSMul (inducing_induced g) hf (fun {c} {x} ↦ map_smulₛₗ g c x)
94
+
95
+ end continuous_smul
96
+
83
97
section basics
84
98
85
99
variable (R A : Type *) [SMul R A] [TopologicalSpace R]
0 commit comments