Skip to content

Commit ea26fda

Browse files
committed
feat(Topology/Algebra/Module/WeakDual): prove basic relations between the weak topology and the original topology (#11566)
(This PR continues #11472) Prove the following basic facts about the weak topology in a topological vector space (or AddCommMonoid) `E`. - any set that is open in the weak topology is open in the original topology. - any function in `E` that converges to a point in the original topology (with respect to some filter) converges also in the weak topology. - if a function in `E` converges to a point in the original topology, then its composition with a continuous linear functional converges. - any function from `E` that is continuous in the weak topology is also continuous in the original topology. Motivation: WeakSpace has some basic properties, analogue of which are proved for WeakDual. I have some doubts: - in order to avoid typeclass instance problem, I had to add a type ascription `continuousLinearMapToWeakSpace : E →L[𝕜] WeakSpace 𝕜 E` when needed. Is this fine or is there a canonical way to avoid it? (I tried to add `variable (𝕜 E) in` before def/thm but it gave type mismatch in many places) - I made two theorems about IsOpen, but not sure about the naming convention. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
1 parent 67a73e5 commit ea26fda

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

Mathlib/Topology/Algebra/Module/WeakDual.lean

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,39 @@ theorem coe_map (f : E →L[𝕜] F) : (WeakSpace.map f : E → F) = f :=
328328

329329
end WeakSpace
330330

331+
variable (𝕜 E) in
332+
/-- There is a canonical map `E → WeakSpace 𝕜 E` (the "identity"
333+
mapping). It is a linear equivalence. -/
334+
def toWeakSpace : E ≃ₗ[𝕜] WeakSpace 𝕜 E := LinearEquiv.refl 𝕜 E
335+
336+
variable (𝕜 E) in
337+
/-- For a topological vector space `E`, "identity mapping" `E → WeakSpace 𝕜 E` is continuous.
338+
This definition implements it as a continuous linear map. -/
339+
def continuousLinearMapToWeakSpace : E →L[𝕜] WeakSpace 𝕜 E where
340+
__ := toWeakSpace 𝕜 E
341+
cont := by
342+
apply WeakBilin.continuous_of_continuous_eval
343+
exact ContinuousLinearMap.continuous
344+
345+
variable (𝕜 E) in
346+
@[simp]
347+
theorem continuousLinearMapToWeakSpace_eq_toWeakSpace (x : E) :
348+
continuousLinearMapToWeakSpace 𝕜 E x = toWeakSpace 𝕜 E x := by rfl
349+
350+
theorem continuousLinearMapToWeakSpace_bijective :
351+
Function.Bijective (continuousLinearMapToWeakSpace 𝕜 E) :=
352+
(toWeakSpace 𝕜 E).bijective
353+
354+
/-- The canonical map from `WeakSpace 𝕜 E` to `E` is an open map. -/
355+
theorem isOpenMap_toWeakSpace_symm : IsOpenMap (toWeakSpace 𝕜 E).symm :=
356+
IsOpenMap.of_inverse (continuousLinearMapToWeakSpace 𝕜 E).cont
357+
(toWeakSpace 𝕜 E).left_inv (toWeakSpace 𝕜 E).right_inv
358+
359+
/-- A set in `E` which is open in the weak topology is open. -/
360+
theorem WeakSpace.isOpen_of_isOpen (V : Set E)
361+
(hV : IsOpen ((continuousLinearMapToWeakSpace 𝕜 E) '' V : Set (WeakSpace 𝕜 E))) : IsOpen V := by
362+
simpa [Set.image_image] using isOpenMap_toWeakSpace_symm _ hV
363+
331364
theorem tendsto_iff_forall_eval_tendsto_topDualPairing {l : Filter α} {f : α → WeakDual 𝕜 E}
332365
{x : WeakDual 𝕜 E} :
333366
Tendsto f l (𝓝 x) ↔

0 commit comments

Comments
 (0)