Skip to content

Commit 99234da

Browse files
committed
feat: port Analysis.LocallyConvex.StrongTopology (#4193)
1 parent 6bc7d71 commit 99234da

File tree

2 files changed

+82
-0
lines changed

2 files changed

+82
-0
lines changed

β€ŽMathlib.leanβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,7 @@ import Mathlib.Analysis.LocallyConvex.Basic
423423
import Mathlib.Analysis.LocallyConvex.Bounded
424424
import Mathlib.Analysis.LocallyConvex.ContinuousOfBounded
425425
import Mathlib.Analysis.LocallyConvex.Polar
426+
import Mathlib.Analysis.LocallyConvex.StrongTopology
426427
import Mathlib.Analysis.Normed.Field.Basic
427428
import Mathlib.Analysis.Normed.Field.InfiniteSum
428429
import Mathlib.Analysis.Normed.Field.UnitBall
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
/-
2+
Copyright (c) 2022 Anatole Dedecker. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Anatole Dedecker
5+
6+
! This file was ported from Lean 3 source module analysis.locally_convex.strong_topology
7+
! leanprover-community/mathlib commit 47b12e7f2502f14001f891ca87fbae2b4acaed3f
8+
! Please do not edit these lines, except to modify the commit id
9+
! if you have ported upstream changes.
10+
-/
11+
import Mathlib.Topology.Algebra.Module.StrongTopology
12+
import Mathlib.Topology.Algebra.Module.LocallyConvex
13+
14+
/-!
15+
# Local convexity of the strong topology
16+
17+
In this file we prove that the strong topology on `E β†’L[ℝ] F` is locally convex provided that `F` is
18+
locally convex.
19+
20+
## References
21+
22+
* [N. Bourbaki, *Topological Vector Spaces*][bourbaki1987]
23+
24+
## Todo
25+
26+
* Characterization in terms of seminorms
27+
28+
## Tags
29+
30+
locally convex, bounded convergence
31+
-/
32+
33+
34+
open Topology UniformConvergence
35+
36+
variable {R π•œβ‚ π•œβ‚‚ E F : Type _}
37+
38+
namespace ContinuousLinearMap
39+
40+
variable [AddCommGroup E] [TopologicalSpace E] [AddCommGroup F] [TopologicalSpace F]
41+
[TopologicalAddGroup F]
42+
43+
section General
44+
45+
variable (R)
46+
47+
variable [OrderedSemiring R]
48+
49+
variable [NormedField π•œβ‚] [NormedField π•œβ‚‚] [Module π•œβ‚ E] [Module π•œβ‚‚ F] {Οƒ : π•œβ‚ β†’+* π•œβ‚‚}
50+
51+
variable [Module R F] [ContinuousConstSMul R F] [LocallyConvexSpace R F] [SMulCommClass π•œβ‚‚ R F]
52+
53+
theorem strongTopology.locallyConvexSpace (𝔖 : Set (Set E)) (h𝔖₁ : 𝔖.Nonempty)
54+
(h𝔖₂ : DirectedOn (Β· βŠ† Β·) 𝔖) :
55+
@LocallyConvexSpace R (E β†’SL[Οƒ] F) _ _ _ (strongTopology Οƒ F 𝔖) := by
56+
letI : TopologicalSpace (E β†’SL[Οƒ] F) := strongTopology Οƒ F 𝔖
57+
haveI : TopologicalAddGroup (E β†’SL[Οƒ] F) := strongTopology.topologicalAddGroup _ _ _
58+
apply LocallyConvexSpace.ofBasisZero _ _ _ _
59+
(strongTopology.hasBasis_nhds_zero_of_basis _ _ _ h𝔖₁ h𝔖₂
60+
(LocallyConvexSpace.convex_basis_zero R F)) _
61+
rintro ⟨S, V⟩ ⟨_, _, hVconvex⟩ f hf g hg a b ha hb hab x hx
62+
exact hVconvex (hf x hx) (hg x hx) ha hb hab
63+
#align continuous_linear_map.strong_topology.locally_convex_space ContinuousLinearMap.strongTopology.locallyConvexSpace
64+
65+
end General
66+
67+
section BoundedSets
68+
69+
variable [OrderedSemiring R]
70+
71+
variable [NormedField π•œβ‚] [NormedField π•œβ‚‚] [Module π•œβ‚ E] [Module π•œβ‚‚ F] {Οƒ : π•œβ‚ β†’+* π•œβ‚‚}
72+
73+
variable [Module R F] [ContinuousConstSMul R F] [LocallyConvexSpace R F] [SMulCommClass π•œβ‚‚ R F]
74+
75+
instance : LocallyConvexSpace R (E β†’SL[Οƒ] F) :=
76+
strongTopology.locallyConvexSpace R _ βŸ¨βˆ…, Bornology.isVonNBounded_empty π•œβ‚ E⟩
77+
(directedOn_of_sup_mem fun _ _ => Bornology.IsVonNBounded.union)
78+
79+
end BoundedSets
80+
81+
end ContinuousLinearMap

0 commit comments

Comments
Β (0)