Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 8a286af

Browse files
committed
chore(topology/algebra/mul_action): rename type variables (#12020)
1 parent e815675 commit 8a286af

File tree

1 file changed

+51
-59
lines changed

1 file changed

+51
-59
lines changed

src/topology/algebra/mul_action.lean

Lines changed: 51 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ import topology.algebra.const_mul_action
1212
/-!
1313
# Continuous monoid action
1414
15-
In this file we define class `has_continuous_smul`. We say `has_continuous_smul M α` if `M` acts on
16-
`α` and the map `(c, x) ↦ c • x` is continuous on `M × α`. We reuse this class for topological
15+
In this file we define class `has_continuous_smul`. We say `has_continuous_smul M X` if `M` acts on
16+
`X` and the map `(c, x) ↦ c • x` is continuous on `M × X`. We reuse this class for topological
1717
(semi)modules, vector spaces and algebras.
1818
1919
## Main definitions
2020
21-
* `has_continuous_smul M α` : typeclass saying that the map `(c, x) ↦ c • x` is continuous
22-
on `M × α`;
23-
* `homeomorph.smul_of_ne_zero`: if a group with zero `G₀` (e.g., a field) acts on `α` and `c : G₀`
24-
is a nonzero element of `G₀`, then scalar multiplication by `c` is a homeomorphism of `α`;
25-
* `homeomorph.smul`: scalar multiplication by an element of a group `G` acting on `α`
26-
is a homeomorphism of `α`.
21+
* `has_continuous_smul M X` : typeclass saying that the map `(c, x) ↦ c • x` is continuous
22+
on `M × X`;
23+
* `homeomorph.smul_of_ne_zero`: if a group with zero `G₀` (e.g., a field) acts on `X` and `c : G₀`
24+
is a nonzero element of `G₀`, then scalar multiplication by `c` is a homeomorphism of `X`;
25+
* `homeomorph.smul`: scalar multiplication by an element of a group `G` acting on `X`
26+
is a homeomorphism of `X`.
2727
* `units.has_continuous_smul`: scalar multiplication by `Mˣ` is continuous when scalar
2828
multiplication by `M` is continuous. This allows `homeomorph.smul` to be used with on monoids
2929
with `G = Mˣ`.
@@ -37,49 +37,51 @@ or `filter.tendsto.smul` that provide dot-syntax access to `continuous_smul`.
3737
open_locale topological_space pointwise
3838
open filter
3939

40-
/-- Class `has_continuous_smul M α` says that the scalar multiplication `(•) : M → αα`
40+
/-- Class `has_continuous_smul M X` says that the scalar multiplication `(•) : M → XX`
4141
is continuous in both arguments. We use the same class for all kinds of multiplicative actions,
4242
including (semi)modules and algebras. -/
43-
class has_continuous_smul (M α : Type*) [has_scalar M α]
44-
[topological_space M] [topological_space α] : Prop :=
45-
(continuous_smul : continuous (λp : M × α, p.1 • p.2))
43+
class has_continuous_smul (M X : Type*) [has_scalar M X]
44+
[topological_space M] [topological_space X] : Prop :=
45+
(continuous_smul : continuous (λp : M × X, p.1 • p.2))
4646

4747
export has_continuous_smul (continuous_smul)
4848

49-
/-- Class `has_continuous_vadd M α` says that the additive action `(+ᵥ) : M → αα`
49+
/-- Class `has_continuous_vadd M X` says that the additive action `(+ᵥ) : M → XX`
5050
is continuous in both arguments. We use the same class for all kinds of additive actions,
5151
including (semi)modules and algebras. -/
52-
class has_continuous_vadd (M α : Type*) [has_vadd M α]
53-
[topological_space M] [topological_space α] : Prop :=
54-
(continuous_vadd : continuous (λp : M × α, p.1 +ᵥ p.2))
52+
class has_continuous_vadd (M X : Type*) [has_vadd M X]
53+
[topological_space M] [topological_space X] : Prop :=
54+
(continuous_vadd : continuous (λp : M × X, p.1 +ᵥ p.2))
5555

5656
export has_continuous_vadd (continuous_vadd)
5757

5858
attribute [to_additive] has_continuous_smul
5959

60-
variables {M α β : Type*}
61-
variables [topological_space M] [topological_space α]
60+
section main
61+
62+
variables {M X Y α : Type*} [topological_space M] [topological_space X] [topological_space Y]
6263

6364
section has_scalar
64-
variables [has_scalar M α] [has_continuous_smul M α]
65+
66+
variables [has_scalar M X] [has_continuous_smul M X]
6567

6668
@[priority 100, to_additive] instance has_continuous_smul.has_continuous_const_smul :
67-
has_continuous_const_smul M α :=
69+
has_continuous_const_smul M X :=
6870
{ continuous_const_smul := λ _, continuous_smul.comp (continuous_const.prod_mk continuous_id) }
6971

7072
@[to_additive]
71-
lemma filter.tendsto.smul {f : β → M} {g : βα} {l : filter β} {c : M} {a : α}
73+
lemma filter.tendsto.smul {f : α → M} {g : αX} {l : filter α} {c : M} {a : X}
7274
(hf : tendsto f l (𝓝 c)) (hg : tendsto g l (𝓝 a)) :
7375
tendsto (λ x, f x • g x) l (𝓝 $ c • a) :=
7476
(continuous_smul.tendsto _).comp (hf.prod_mk_nhds hg)
7577

7678
@[to_additive]
77-
lemma filter.tendsto.smul_const {f : β → M} {l : filter β} {c : M}
78-
(hf : tendsto f l (𝓝 c)) (a : α) :
79+
lemma filter.tendsto.smul_const {f : α → M} {l : filter α} {c : M}
80+
(hf : tendsto f l (𝓝 c)) (a : X) :
7981
tendsto (λ x, (f x) • a) l (𝓝 (c • a)) :=
8082
hf.smul tendsto_const_nhds
8183

82-
variables [topological_space β] {f : β → M} {g : βα} {b : β} {s : set β}
84+
variables {f : Y → M} {g : YX} {b : Y} {s : set Y}
8385

8486
@[to_additive]
8587
lemma continuous_within_at.smul (hf : continuous_within_at f s b)
@@ -103,20 +105,21 @@ lemma continuous.smul (hf : continuous f) (hg : continuous g) :
103105
continuous_smul.comp (hf.prod_mk hg)
104106

105107
/-- If a scalar is central, then its right action is continuous when its left action is. -/
106-
instance has_continuous_smul.op [has_scalar Mᵐᵒᵖ α] [is_central_scalar M α] :
107-
has_continuous_smul Mᵐᵒᵖ α :=
108-
suffices continuous (λ p : M × α, mul_opposite.op p.fst • p.snd),
108+
instance has_continuous_smul.op [has_scalar Mᵐᵒᵖ X] [is_central_scalar M X] :
109+
has_continuous_smul Mᵐᵒᵖ X :=
110+
suffices continuous (λ p : M × X, mul_opposite.op p.fst • p.snd),
109111
from this.comp (mul_opposite.continuous_unop.prod_map continuous_id),
110-
by simpa only [op_smul_eq_smul] using (continuous_smul : continuous (λ p : M × α, _)) ⟩
112+
by simpa only [op_smul_eq_smul] using (continuous_smul : continuous (λ p : M × X, _)) ⟩
111113

112114
end has_scalar
113115

114116
section monoid
115-
variables [monoid M] [mul_action M α] [has_continuous_smul M α]
116117

117-
@[to_additive] instance units.has_continuous_smul : has_continuous_smul Mˣ α :=
118+
variables [monoid M] [mul_action M X] [has_continuous_smul M X]
119+
120+
@[to_additive] instance units.has_continuous_smul : has_continuous_smul Mˣ X :=
118121
{ continuous_smul :=
119-
show continuous ((λ p : M × α, p.fst • p.snd) ∘ (λ p : Mˣ × α, (p.1, p.2))),
122+
show continuous ((λ p : M × X, p.fst • p.snd) ∘ (λ p : Mˣ × X, (p.1, p.2))),
120123
from continuous_smul.comp ((units.continuous_coe.comp continuous_fst).prod_mk continuous_snd) }
121124

122125
end monoid
@@ -128,9 +131,9 @@ instance has_continuous_mul.has_continuous_smul {M : Type*} [monoid M]
128131
⟨continuous_mul⟩
129132

130133
@[to_additive]
131-
instance [topological_space β] [has_scalar M α] [has_scalar M β] [has_continuous_smul M α]
132-
[has_continuous_smul M β] :
133-
has_continuous_smul M (α × β) :=
134+
instance [has_scalar M X] [has_scalar M Y] [has_continuous_smul M X]
135+
[has_continuous_smul M Y] :
136+
has_continuous_smul M (X × Y) :=
134137
⟨(continuous_fst.smul (continuous_fst.comp continuous_snd)).prod_mk
135138
(continuous_fst.smul (continuous_snd.comp continuous_snd))⟩
136139

@@ -142,41 +145,30 @@ instance {ι : Type*} {γ : ι → Type*}
142145
(continuous_fst.smul continuous_snd).comp $
143146
continuous_fst.prod_mk ((continuous_apply i).comp continuous_snd)⟩
144147

145-
section lattice_ops
148+
end main
146149

147-
variables {ι : Sort*} [has_scalar M β]
148-
{ts : set (topological_space β)} (h : Π t ∈ ts, @has_continuous_smul M β _ _ t)
149-
{ts' : ι → topological_space β} (h' : Π i, @has_continuous_smul M β _ _ (ts' i))
150-
{t₁ t₂ : topological_space β} [h₁ : @has_continuous_smul M β _ _ t₁]
151-
[h₂ : @has_continuous_smul M β _ _ t₂]
150+
section lattice_ops
152151

153-
include h
152+
variables {ι : Sort*} {M X : Type*} [topological_space M] [has_scalar M X]
154153

155-
@[to_additive] lemma has_continuous_smul_Inf :
156-
@has_continuous_smul M β _ _ (Inf ts) :=
154+
@[to_additive] lemma has_continuous_smul_Inf {ts : set (topological_space X)}
155+
(h : Π t ∈ ts, @has_continuous_smul M X _ _ t) :
156+
@has_continuous_smul M X _ _ (Inf ts) :=
157157
{ continuous_smul :=
158158
begin
159159
rw ← @Inf_singleton _ _ ‹topological_space M›,
160160
exact continuous_Inf_rng (λ t ht, continuous_Inf_dom₂ (eq.refl _) ht
161161
(@has_continuous_smul.continuous_smul _ _ _ _ t (h t ht)))
162162
end }
163163

164-
omit h
165-
166-
include h'
167-
168-
@[to_additive] lemma has_continuous_smul_infi :
169-
@has_continuous_smul M β _ _ (⨅ i, ts' i) :=
170-
by {rw ← Inf_range, exact has_continuous_smul_Inf (set.forall_range_iff.mpr h')}
171-
172-
omit h'
173-
174-
include h₁ h₂
175-
176-
@[to_additive] lemma has_continuous_smul_inf :
177-
@has_continuous_smul M β _ _ (t₁ ⊓ t₂) :=
178-
by {rw inf_eq_infi, refine has_continuous_smul_infi (λ b, _), cases b; assumption}
164+
@[to_additive] lemma has_continuous_smul_infi {ts' : ι → topological_space X}
165+
(h : Π i, @has_continuous_smul M X _ _ (ts' i)) :
166+
@has_continuous_smul M X _ _ (⨅ i, ts' i) :=
167+
has_continuous_smul_Inf $ set.forall_range_iff.mpr h
179168

180-
omit h₁ h₂
169+
@[to_additive] lemma has_continuous_smul_inf {t₁ t₂ : topological_space X}
170+
[@has_continuous_smul M X _ _ t₁] [@has_continuous_smul M X _ _ t₂] :
171+
@has_continuous_smul M X _ _ (t₁ ⊓ t₂) :=
172+
by { rw inf_eq_infi, refine has_continuous_smul_infi (λ b, _), cases b; assumption }
181173

182174
end lattice_ops

0 commit comments

Comments
 (0)