Zulip Chat Archive
Stream: new members
Topic: convergence in norm/WeakSpace
Yoh Tanimoto (Mar 08 2024 at 15:02):
Hello!
I would like to prove that a convergent sequence in normed space is convergent in the weak topology as well. Could someone help me state it in Lean?
I tried Tendsto (fun n β¦ (x n : (WeakSpace π E))) atTop (nhds (p : (WeakSpace π E)))
, thinking that I were casting x n
to Weakspace π E
, but actually it remains in E
:
import Mathlib
variable {π : Type*} [NontriviallyNormedField π]
variable {E : Type*} [SeminormedAddCommGroup E] [NormedSpace π E]
open NormedSpace Filter Set
theorem weak_convergence_of_norm_convergence
(x : β β E) (p : E) (hx : Tendsto x atTop (nhds p)) :
Tendsto (fun n β¦ (x n : (WeakSpace π E))) atTop (nhds (p : (WeakSpace π E))) := by
exact hx
Yoh Tanimoto (Mar 11 2024 at 17:00):
Let me ask in a different way.
For a variable p : E
, is it possible to take a variable q : WeakSpace π E
such that p = q
?
import Mathlib
variable {π : Type*} [NontriviallyNormedField π]
variable {E : Type*} [SeminormedAddCommGroup E] [NormedSpace π E]
variable (p : E)
variable (q : WeakSpace π E)
#check p = q -- : Prop
Kalle KytΓΆlΓ€ (Mar 11 2024 at 22:50):
I thought the coercions should work as you thought, too, with explicit type ascriptions...
Adding the id
-trick, this seems to work:
import Mathlib
variable {π : Type*} [NontriviallyNormedField π]
variable {E : Type*} [SeminormedAddCommGroup E] [NormedSpace π E]
variable (p : E)
#check (p : WeakSpace π E) -- p : E -- :(
#check (id p : WeakSpace π E) -- id p : WeakSpace π E -- :)
Eric Wieser (Mar 11 2024 at 23:39):
I think this is the wrong question; you should be asking if there is an equivalence such that p : E
but e p : WeakSpace k E
Eric Wieser (Mar 11 2024 at 23:39):
I would expect to find one right next to docs#WeakSpace
Eric Wieser (Mar 11 2024 at 23:41):
... though it does look like it's missing
Eric Wieser (Mar 11 2024 at 23:41):
See docs#WithLp.equiv for an example of what I mean
Yoh Tanimoto (Mar 12 2024 at 04:59):
OK, so id
with explicit type ascription works, thanks!
import Mathlib
variable {π : Type*} [NontriviallyNormedField π]
variable {E : Type*} [SeminormedAddCommGroup E] [NormedSpace π E]
open NormedSpace Filter Set
theorem norm_topology_le_weak_topology :
(UniformSpace.toTopologicalSpace : TopologicalSpace E) β€
(WeakSpace.instTopologicalSpace : TopologicalSpace (WeakSpace π E)) := by
apply Continuous.le_induced
refine continuous_pi ?h.h
intro y
simp
have : (fun x => ((topDualPairing π E) y) x) = (fun x => y x) := by
ext x
exact topDualPairing_apply y x
rw [this]
exact ContinuousLinearMap.continuous y
theorem weak_convergence_of_norm_convergence
(x : β β E) (p : E) (hx : Tendsto x atTop (nhds p)) :
Tendsto (fun n β¦ (id (x n) : (WeakSpace π E))) atTop (nhds (p : (WeakSpace π E))) := by
refine tendsto_atTop_nhds.mpr ?_
intro U hpU hU
have hUnorm : IsOpen (id U : Set E) := by
exact norm_topology_le_weak_topology (id U : Set E) hU
rw [tendsto_atTop_nhds] at hx
exact hx (id U : Set E) hpU hUnorm
What is the convention of mathlib for different topologies on the same set?
Should there be a canonical map E β WeakSpace π E
as you say, or a coercion?
I see the notation IsOpen[s]
at docs#TopologicalSpace.le_def but if I just write #check IsOpen[UniformSpace.toTopologicalSpace : TopologicalSpace E]
, I get an error.
Yoh Tanimoto (Mar 18 2024 at 09:20):
I made a PR #11472 (from a fork) proving some basic relations between the weak and the original topology. May I have a write access to non-master branches of the mathlib repo?
I am a mathematical physicist, here is my website https://www.mat.uniroma2.it/~tanimoto/
I organized a workshop on Lean in Rome in January https://www.mat.uniroma2.it/butterley/formalisation/
Riccardo Brasca (Mar 18 2024 at 09:22):
Invitation sent!
Yoh Tanimoto (Mar 18 2024 at 09:24):
thank you!
Moritz Doll (Mar 18 2024 at 10:23):
I would guess that we are missing something like this:
def foo : E βL[π] WeakSpace π E where
toFun x := x
map_add' := sorry
map_smul' := sorry
cont := by
apply WeakBilin.continuous_of_continuous_eval
exact ContinuousLinearMap.continuous
and the convergence statement should be a very easy consequence of this definition.
Yoh Tanimoto (Mar 18 2024 at 10:33):
I agree that it would be nice to have such functions! I asked above which was the convention of mathlib for different topologies on a set.
So should there be a canonical map for any combination of two topologies on the same set? Or is there a way to solve this by, say, coercion? I wanted to know this because in von Neumann algebras one puts 7 topologies on B(H)...
Moritz Doll (Mar 18 2024 at 10:39):
The convention is that we mainly use type synonyms such as WeakSpace k E
and then have mappings such as WithLp.equiv
or the one I sketched out above to go between the different types
Yoh Tanimoto (Mar 18 2024 at 10:39):
ok!
Moritz Doll (Mar 18 2024 at 10:51):
There might be quite a bit of API missing for WeakSpace
, as far as I know nobody really used it
Last updated: May 02 2025 at 03:31 UTC