@@ -123,7 +123,19 @@ def coe_fn_monoid_hom {α : Type*} {β : Type*} [topological_space α] [topologi
123
123
[monoid β] [has_continuous_mul β] : C(α, β) →* (α → β) :=
124
124
{ to_fun := coe_fn, map_one' := coe_one, map_mul' := coe_mul }
125
125
126
- /-- Composition on the right as an `monoid_hom`. Similar to `monoid_hom.comp_hom'`. -/
126
+ /-- Composition on the left by a (continuous) homomorphism of topological monoids, as a
127
+ `monoid_hom`. Similar to `monoid_hom.comp_left`. -/
128
+ @[to_additive " Composition on the left by a (continuous) homomorphism of topological `add_monoid`s,
129
+ as an `add_monoid_hom`. Similar to `add_monoid_hom.comp_left`." , simps]
130
+ protected def _root_.monoid_hom.comp_left_continuous (α : Type *) {β : Type *} {γ : Type *}
131
+ [topological_space α] [topological_space β] [monoid β] [has_continuous_mul β]
132
+ [topological_space γ] [monoid γ] [has_continuous_mul γ] (g : β →* γ) (hg : continuous g) :
133
+ C(α, β) →* C(α, γ) :=
134
+ { to_fun := λ f, (⟨g, hg⟩ : C(β, γ)).comp f,
135
+ map_one' := ext $ λ x, g.map_one,
136
+ map_mul' := λ f₁ f₂, ext $ λ x, g.map_mul _ _ }
137
+
138
+ /-- Composition on the right as a `monoid_hom`. Similar to `monoid_hom.comp_hom'`. -/
127
139
@[to_additive " Composition on the right as an `add_monoid_hom`. Similar to
128
140
`add_monoid_hom.comp_hom'`." , simps]
129
141
def comp_monoid_hom' {α : Type *} {β : Type *} {γ : Type *}
@@ -255,6 +267,15 @@ instance {α : Type*} {β : Type*} [topological_space α]
255
267
..continuous_map.add_comm_group,
256
268
..continuous_map.comm_monoid,}
257
269
270
+ /-- Composition on the left by a (continuous) homomorphism of topological rings, as a `ring_hom`.
271
+ Similar to `ring_hom.comp_left`. -/
272
+ @[simps] protected def _root_.ring_hom.comp_left_continuous (α : Type *) {β : Type *} {γ : Type *}
273
+ [topological_space α] [topological_space β] [semiring β] [topological_semiring β]
274
+ [topological_space γ] [semiring γ] [topological_semiring γ] (g : β →+* γ) (hg : continuous g) :
275
+ C(α, β) →+* C(α, γ) :=
276
+ { .. g.to_monoid_hom.comp_left_continuous α hg,
277
+ .. g.to_add_monoid_hom.comp_left_continuous α hg }
278
+
258
279
/-- Coercion to a function as a `ring_hom`. -/
259
280
@[simps]
260
281
def coe_fn_ring_hom {α : Type *} {β : Type *} [topological_space α] [topological_space β]
@@ -307,6 +328,7 @@ namespace continuous_map
307
328
variables {α : Type *} [topological_space α]
308
329
{R : Type *} [semiring R] [topological_space R]
309
330
{M : Type *} [topological_space M] [add_comm_monoid M]
331
+ {M₂ : Type *} [topological_space M₂] [add_comm_monoid M₂]
310
332
311
333
instance
312
334
[module R M] [has_continuous_smul R M] :
@@ -328,6 +350,7 @@ by simp
328
350
by { ext, simp, }
329
351
330
352
variables [has_continuous_add M] [module R M] [has_continuous_smul R M]
353
+ variables [has_continuous_add M₂] [module R M₂] [has_continuous_smul R M₂]
331
354
332
355
instance module : module R C(α, M) :=
333
356
{ smul := (•),
@@ -340,6 +363,14 @@ instance module : module R C(α, M) :=
340
363
341
364
variables (R)
342
365
366
+ /-- Composition on the left by a continuous linear map, as a `linear_map`.
367
+ Similar to `linear_map.comp_left`. -/
368
+ @[simps] protected def _root_.continuous_linear_map.comp_left_continuous (α : Type *)
369
+ [topological_space α] (g : M →L[R] M₂) :
370
+ C(α, M) →ₗ[R] C(α, M₂) :=
371
+ { map_smul' := λ c f, ext $ λ x, g.map_smul' c _,
372
+ .. g.to_linear_map.to_add_monoid_hom.comp_left_continuous α g.continuous }
373
+
343
374
/-- Coercion to a function as a `linear_map`. -/
344
375
@[simps]
345
376
def coe_fn_linear_map : C(α, M) →ₗ[R] (α → M) :=
@@ -401,6 +432,8 @@ variables {α : Type*} [topological_space α]
401
432
{R : Type *} [comm_semiring R]
402
433
{A : Type *} [topological_space A] [semiring A]
403
434
[algebra R A] [topological_semiring A]
435
+ {A₂ : Type *} [topological_space A₂] [semiring A₂]
436
+ [algebra R A₂] [topological_semiring A₂]
404
437
405
438
/-- Continuous constant functions as a `ring_hom`. -/
406
439
def continuous_map.C : R →+* C(α, A) :=
@@ -413,7 +446,7 @@ def continuous_map.C : R →+* C(α, A) :=
413
446
@[simp] lemma continuous_map.C_apply (r : R) (a : α) : continuous_map.C r a = algebra_map R A r :=
414
447
rfl
415
448
416
- variables [topological_space R] [has_continuous_smul R A]
449
+ variables [topological_space R] [has_continuous_smul R A] [has_continuous_smul R A₂]
417
450
418
451
instance continuous_map.algebra : algebra R C(α, A) :=
419
452
{ to_ring_hom := continuous_map.C,
@@ -422,6 +455,14 @@ instance continuous_map.algebra : algebra R C(α, A) :=
422
455
423
456
variables (R)
424
457
458
+ /-- Composition on the left by a (continuous) homomorphism of topological `R`-algebras, as an
459
+ `alg_hom`. Similar to `alg_hom.comp_left`. -/
460
+ @[simps] protected def alg_hom.comp_left_continuous {α : Type *} [topological_space α]
461
+ (g : A →ₐ[R] A₂) (hg : continuous g) :
462
+ C(α, A) →ₐ[R] C(α, A₂) :=
463
+ { commutes' := λ c, continuous_map.ext $ λ _, g.commutes' _,
464
+ .. g.to_ring_hom.comp_left_continuous α hg }
465
+
425
466
/-- Coercion to a function as an `alg_hom`. -/
426
467
@[simps]
427
468
def continuous_map.coe_fn_alg_hom : C(α, A) →ₐ[R] (α → A) :=
0 commit comments