1. Dual Pairs and Weak Topologies
This chapter collects the locally convex input to the rest of the blueprint. Throughout,
\mathbb{K} is \mathbb{R} or \mathbb{C}, and B : E \times F \to \mathbb{K} is a bilinear
form, or pairing, between vector spaces E and F. The ultraweak topology on a
W^*-algebra M is the case E = M, F = M_*. Most of the results here are destined for
mathlib.
The weak topology \sigma(E, F) on E is the coarsest topology for which the functionals
x \mapsto B(x, y) are continuous for every y \in F. We say that a topology on E is weak
for B if it coincides with \sigma(E, F).
Lean code for Definition1.1●2 definitions
Associated Lean declarations
-
WeakBilin[complete]
-
LinearMap.IsWeak[complete]
-
WeakBilin[complete] -
LinearMap.IsWeak[complete]
-
defdefined in Mathlib/Topology/Algebra/Module/Spaces/WeakBilin.leancomplete
def WeakBilin.{u_2, u_4, u_5} {𝕜 : Type u_2} {E : Type u_4} {F : Type u_5} [CommSemiring 𝕜] [AddCommMonoid E] [Module 𝕜 E] [AddCommMonoid F] [Module 𝕜 F] : (E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) → Type u_4
def WeakBilin.{u_2, u_4, u_5} {𝕜 : Type u_2} {E : Type u_4} {F : Type u_5} [CommSemiring 𝕜] [AddCommMonoid E] [Module 𝕜 E] [AddCommMonoid F] [Module 𝕜 F] : (E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) → Type u_4
The space `E` equipped with the weak topology induced by the bilinear form `B`.
-
classdefined in LeanOA/IsWeak.leancomplete
class LinearMap.IsWeak.{u_2, u_3, u_4} {𝕜 : Type u_2} {E : Type u_3} {F : Type u_4} [CommSemiring 𝕜] [TopologicalSpace 𝕜] [AddCommMonoid E] [Module 𝕜 E] [AddCommMonoid F] [Module 𝕜 F] [t : TopologicalSpace E] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) : Prop
class LinearMap.IsWeak.{u_2, u_3, u_4} {𝕜 : Type u_2} {E : Type u_3} {F : Type u_4} [CommSemiring 𝕜] [TopologicalSpace 𝕜] [AddCommMonoid E] [Module 𝕜 E] [AddCommMonoid F] [Module 𝕜 F] [t : TopologicalSpace E] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) : Prop
Typeclass expressing that the topology on `E` is the weak topology induced by the bilinear form `B`.
Methods
eq_induced : t = TopologicalSpace.induced (fun x1 x2 ↦ (B x1) x2) Pi.topologicalSpace
A topology on E is compatible with B if every continuous linear functional on E is of
the form x \mapsto B(x, y) for exactly one y \in F; that is, y \mapsto B(\cdot, y) is a
linear isomorphism of F onto the continuous dual E' of E.
Lean code for Definition1.2●1 definition
Associated Lean declarations
-
LinearMap.IsCompatibleDual[complete]
-
LinearMap.IsCompatibleDual[complete]
-
classdefined in LeanOA/Mathlib/Analysis/LocallyConvex/IsCompatibleDual.leancomplete
class LinearMap.IsCompatibleDual.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField 𝕜] [AddCommGroup E] [Module 𝕜 E] [TopologicalSpace E] [AddCommGroup F] [Module 𝕜 F] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) : Prop
class LinearMap.IsCompatibleDual.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField 𝕜] [AddCommGroup E] [Module 𝕜 E] [TopologicalSpace E] [AddCommGroup F] [Module 𝕜 F] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) : Prop
A linear topology on `E` is compatible with the bilinear form `B` if the every continuous linear functional on `E` has the form `B.flip f` for exactly one `f : F`.
Methods
range_eq_range : B.flip.range = (ContinuousLinearMap.coeLM 𝕜).range
injective : Function.Injective ⇑B.flip
-
LinearMap.IsWeak.eval_surjective[complete] -
LinearMap.IsWeak.rightDualEquiv[complete]
Every \sigma(E, F)-continuous linear functional on E is of the form B(\cdot, y) for some
y \in F. Consequently, if B separates the points of F, then \sigma(E, F) is compatible
with B.
Lean code for Lemma1.3●2 declarations
Associated Lean declarations
-
LinearMap.IsWeak.eval_surjective[complete]
-
LinearMap.IsWeak.rightDualEquiv[complete]
-
LinearMap.IsWeak.eval_surjective[complete] -
LinearMap.IsWeak.rightDualEquiv[complete]
-
theoremdefined in LeanOA/IsWeak.leancomplete
theorem LinearMap.IsWeak.eval_surjective.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField 𝕜] [AddCommGroup E] [Module 𝕜 E] [AddCommGroup F] [Module 𝕜 F] [TopologicalSpace E] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [hB : B.IsWeak] : Function.Surjective ⇑(LinearMap.IsWeak.eval B)
theorem LinearMap.IsWeak.eval_surjective.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField 𝕜] [AddCommGroup E] [Module 𝕜 E] [AddCommGroup F] [Module 𝕜 F] [TopologicalSpace E] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [hB : B.IsWeak] : Function.Surjective ⇑(LinearMap.IsWeak.eval B)
The **Weak Representation Theorem**: Every continuous functional on `E` endowed with the `σ(E, F; B)`-topology is of the form `x ↦ B(x, y)` for some `y : F`.
-
defdefined in LeanOA/IsWeak.leancomplete
def LinearMap.IsWeak.rightDualEquiv.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField 𝕜] [AddCommGroup E] [Module 𝕜 E] [AddCommGroup F] [Module 𝕜 F] [TopologicalSpace E] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [hB : B.IsWeak] (hr : B.SeparatingRight) : F ≃ₗ[𝕜] StrongDual 𝕜 E
def LinearMap.IsWeak.rightDualEquiv.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [NontriviallyNormedField 𝕜] [AddCommGroup E] [Module 𝕜 E] [AddCommGroup F] [Module 𝕜 F] [TopologicalSpace E] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [hB : B.IsWeak] (hr : B.SeparatingRight) : F ≃ₗ[𝕜] StrongDual 𝕜 E
When `B` is right-separating, `F` is linearly equivalent to the strong dual of `E` with the weak topology.
If f is \sigma(E, F)-continuous, then |f(x)| \le C \max_i |B(x, y_i)| for some
C \ge 0 and finitely many y_1, \ldots, y_n \in F. So f vanishes on the common kernel of
the functionals B(\cdot, y_i), and is therefore a linear combination of them, which is
B(\cdot, y) for some y in the span of the y_i. Uniqueness of y is exactly the
statement that B separates the points of F.
(Banach-Alaoglu) The closed unit ball of the dual space of a normed vector space is compact
in the weak-* topology.
Lean code for Theorem1.4●1 theorem
Associated Lean declarations
-
WeakDual.isCompact_closedBall[complete]
-
WeakDual.isCompact_closedBall[complete]
-
theoremdefined in Mathlib/Analysis/Normed/Module/WeakDual.leancomplete
theorem WeakDual.isCompact_closedBall.{u_1, u_3} {𝕜 : Type u_1} {E : Type u_3} [NontriviallyNormedField 𝕜] [SeminormedAddCommGroup E] [NormedSpace 𝕜 E] [ProperSpace 𝕜] (x' : StrongDual 𝕜 E) (r : ℝ) : IsCompact (⇑WeakDual.toStrongDual ⁻¹' Metric.closedBall x' r)
theorem WeakDual.isCompact_closedBall.{u_1, u_3} {𝕜 : Type u_1} {E : Type u_3} [NontriviallyNormedField 𝕜] [SeminormedAddCommGroup E] [NormedSpace 𝕜 E] [ProperSpace 𝕜] (x' : StrongDual 𝕜 E) (r : ℝ) : IsCompact (⇑WeakDual.toStrongDual ⁻¹' Metric.closedBall x' r)
The **Banach-Alaoglu theorem**: closed balls of the dual of a normed space `E` are compact in the weak-star topology.
For s \subseteq E, the polar of s is
s^\circ = \{y \in F \mid |B(x, y)| \le 1 \text{ for all } x \in s\}, and the polar of a subset
of F is defined symmetrically.
-
LinearMap.flip_polar_polar[complete] -
LinearMap.IsCompatibleDual.flip_polar_polar[complete]
(Bipolar theorem) Suppose that E carries the weak topology \sigma(E, F), or more generally
a locally convex topology compatible with B. Then for every nonempty s \subseteq E, the
bipolar s^{\circ\circ} is the closed absolutely convex hull of s.
Lean code for Theorem1.5●2 theorems
Associated Lean declarations
-
LinearMap.flip_polar_polar[complete]
-
LinearMap.IsCompatibleDual.flip_polar_polar[complete]
-
LinearMap.flip_polar_polar[complete] -
LinearMap.IsCompatibleDual.flip_polar_polar[complete]
-
theoremdefined in LeanOA/Mathlib/Analysis/LocallyConvex/Bipolar.leancomplete
theorem LinearMap.flip_polar_polar.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [AddCommGroup E] [AddCommGroup F] [Module 𝕜 E] [Module 𝕜 F] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [TopologicalSpace E] [hB : B.IsWeak] {s : Set E} (hs : s.Nonempty) : B.flip.polar (B.polar s) = (closedAbsConvexHull 𝕜) s
theorem LinearMap.flip_polar_polar.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [AddCommGroup E] [AddCommGroup F] [Module 𝕜 E] [Module 𝕜 F] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [TopologicalSpace E] [hB : B.IsWeak] {s : Set E} (hs : s.Nonempty) : B.flip.polar (B.polar s) = (closedAbsConvexHull 𝕜) s
-
theoremdefined in LeanOA/Mathlib/Analysis/LocallyConvex/Bipolar.leancomplete
theorem LinearMap.IsCompatibleDual.flip_polar_polar.{u_4, u_5, u_6} {𝕜 : Type u_4} {E : Type u_5} {F : Type u_6} [RCLike 𝕜] [AddCommGroup E] [Module 𝕜 E] [Module ℝ E] [IsScalarTower ℝ 𝕜 E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousSMul 𝕜 E] [LocallyConvexSpace ℝ E] [AddCommGroup F] [Module 𝕜 F] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [hB : B.IsCompatibleDual] {s : Set E} (h : s.Nonempty) : B.flip.polar (B.polar s) = (closedAbsConvexHull 𝕜) s
theorem LinearMap.IsCompatibleDual.flip_polar_polar.{u_4, u_5, u_6} {𝕜 : Type u_4} {E : Type u_5} {F : Type u_6} [RCLike 𝕜] [AddCommGroup E] [Module 𝕜 E] [Module ℝ E] [IsScalarTower ℝ 𝕜 E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousSMul 𝕜 E] [LocallyConvexSpace ℝ E] [AddCommGroup F] [Module 𝕜 F] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [hB : B.IsCompatibleDual] {s : Set E} (h : s.Nonempty) : B.flip.polar (B.polar s) = (closedAbsConvexHull 𝕜) s
The bipolar is closed, absolutely convex, and contains s, so it contains the closed absolutely
convex hull K of s. Conversely, if x_0 \notin K, the Hahn–Banach separation theorem
yields a continuous linear functional f on E and a real number c > 0 with
|f(x)| \le c < \operatorname{Re} f(x_0) for all x \in K. By Lemma 1.3, or
by compatibility, f = B(\cdot, y) for some y \in F, so y / c \in s^\circ while
|B(x_0, y / c)| > 1, and therefore x_0 \notin s^{\circ\circ}.
Under the hypotheses of Theorem 1.5, let W \subseteq E be a subspace. Then
W^\circ is the annihilator W^\perp = \{y \in F \mid B(x, y) = 0 \text{ for all } x \in W\},
and (W^\perp)^\perp is the closure of W.
Lean code for Corollary1.6●2 theorems
Associated Lean declarations
-
theoremdefined in LeanOA/Mathlib/Analysis/LocallyConvex/PolarSubmodule.leancomplete
theorem LinearMap.IsWeak.flip_polarSubmodule_polarSubmodule.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [AddCommGroup E] [Module 𝕜 E] [AddCommGroup F] [Module 𝕜 F] [TopologicalSpace E] [ContinuousAdd E] [ContinuousConstSMul 𝕜 E] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [B.IsWeak] (W : Submodule 𝕜 E) : B.flip.polarSubmodule (B.polarSubmodule W) = W.topologicalClosure
theorem LinearMap.IsWeak.flip_polarSubmodule_polarSubmodule.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [AddCommGroup E] [Module 𝕜 E] [AddCommGroup F] [Module 𝕜 F] [TopologicalSpace E] [ContinuousAdd E] [ContinuousConstSMul 𝕜 E] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [B.IsWeak] (W : Submodule 𝕜 E) : B.flip.polarSubmodule (B.polarSubmodule W) = W.topologicalClosure
If `E` carries the weak topology induced by `B`, then the bipolar of a submodule is its closure.
-
theoremdefined in LeanOA/Mathlib/Analysis/LocallyConvex/PolarSubmodule.leancomplete
theorem LinearMap.IsCompatibleDual.flip_polarSubmodule_polarSubmodule.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [AddCommGroup E] [Module 𝕜 E] [AddCommGroup F] [Module 𝕜 F] [Module ℝ E] [IsScalarTower ℝ 𝕜 E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousSMul 𝕜 E] [LocallyConvexSpace ℝ E] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [B.IsCompatibleDual] (W : Submodule 𝕜 E) : B.flip.polarSubmodule (B.polarSubmodule W) = W.topologicalClosure
theorem LinearMap.IsCompatibleDual.flip_polarSubmodule_polarSubmodule.{u_1, u_2, u_3} {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [AddCommGroup E] [Module 𝕜 E] [AddCommGroup F] [Module 𝕜 F] [Module ℝ E] [IsScalarTower ℝ 𝕜 E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousSMul 𝕜 E] [LocallyConvexSpace ℝ E] (B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜) [B.IsCompatibleDual] (W : Submodule 𝕜 E) : B.flip.polarSubmodule (B.polarSubmodule W) = W.topologicalClosure
If `E` is a locally convex space whose topology is compatible with `B`, then the bipolar of a submodule is its closure.
Since W is closed under scaling, |B(x, y)| \le 1 for all x \in W forces B(x, y) = 0,
so W^\circ = W^\perp, and likewise for subspaces of F. The closed absolutely convex hull of
a subspace is its closure, so the claim follows from Theorem 1.5.
-
krein_smulian[complete] -
krein_smulian_of_submodule[complete] -
LinearMap.IsWeak.continuous_of_continuousOn_closedBall[complete]
(Krein–Smulian) Let E be a Banach space. A convex subset of E^* is weak-* closed if its
intersection with every closed ball is weak-* closed. Consequently, if B : X \times E \to
\mathbb{K} identifies X with E^* (that is, \sigma(E, X) is compatible with B) and
X carries the weak topology \sigma(X, E), then a convex cone in X is closed as soon as its
intersection with the closed unit ball is closed, and a linear map from X into a space carrying
a weak topology is continuous as soon as it is continuous on the closed unit ball.
Lean code for Theorem1.7●3 theorems
Associated Lean declarations
-
krein_smulian[complete]
-
krein_smulian_of_submodule[complete]
-
LinearMap.IsWeak.continuous_of_continuousOn_closedBall[complete]
-
krein_smulian[complete] -
krein_smulian_of_submodule[complete] -
LinearMap.IsWeak.continuous_of_continuousOn_closedBall[complete]
-
theoremdefined in LeanOA/KreinSmulian.leancomplete
theorem krein_smulian.{u_1, u_2} {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] [CompleteSpace E] (A : Set (WeakDual 𝕜 E)) (hA : ∃ᶠ (r : ℝ) in Filter.atTop, IsClosed (A ∩ ⇑WeakDual.toStrongDual ⁻¹' Metric.closedBall 0 r)) (hA_conv : Convex 𝕜 A) : IsClosed A
theorem krein_smulian.{u_1, u_2} {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] [CompleteSpace E] (A : Set (WeakDual 𝕜 E)) (hA : ∃ᶠ (r : ℝ) in Filter.atTop, IsClosed (A ∩ ⇑WeakDual.toStrongDual ⁻¹' Metric.closedBall 0 r)) (hA_conv : Convex 𝕜 A) : IsClosed A
The **Krein-Smulian theorem**. If `A : Set (WeakDual 𝕜 E)` is convex and its intersection with arbitrarily large closed balls is closed, then `A` is itself closed (in the weak⋆ topology).
-
theoremdefined in LeanOA/KreinSmulian.leancomplete
theorem krein_smulian_of_submodule.{u_1, u_2} {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] [CompleteSpace E] (A : Submodule NNReal (WeakDual 𝕜 E)) (hA : IsClosed (↑A ∩ ⇑WeakDual.toStrongDual ⁻¹' Metric.closedBall 0 1)) : IsClosed ↑A
theorem krein_smulian_of_submodule.{u_1, u_2} {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] [CompleteSpace E] (A : Submodule NNReal (WeakDual 𝕜 E)) (hA : IsClosed (↑A ∩ ⇑WeakDual.toStrongDual ⁻¹' Metric.closedBall 0 1)) : IsClosed ↑A
The **Krein-Smulian theorem**. If `A : Submodule 𝕜 (WeakDual 𝕜 E)` and if the intersection of `A` with the closed unit ball is closed, then `A` is itself closed (in the weak⋆ topology).
-
theoremdefined in LeanOA/KreinSmulian.leancomplete
theorem LinearMap.IsWeak.continuous_of_continuousOn_closedBall.{u_1, u_2, u_3, u_4, u_5} {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] [CompleteSpace E] {X : Type u_3} [AddCommGroup X] [Module 𝕜 X] [TopologicalSpace X] (B : X →ₗ[𝕜] E →ₗ[𝕜] 𝕜) [B.IsWeak] [B.flip.IsCompatibleDual] {Y : Type u_4} {G : Type u_5} [AddCommGroup Y] [Module 𝕜 Y] [TopologicalSpace Y] [AddCommGroup G] [Module 𝕜 G] (C : Y →ₗ[𝕜] G →ₗ[𝕜] 𝕜) [C.IsWeak] (f : X →ₗ[𝕜] Y) (hf : ContinuousOn (⇑f) (⇑(LinearMap.IsCompatibleDual.equiv B.flip) ⁻¹' Metric.closedBall 0 1)) : Continuous ⇑f
theorem LinearMap.IsWeak.continuous_of_continuousOn_closedBall.{u_1, u_2, u_3, u_4, u_5} {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] [CompleteSpace E] {X : Type u_3} [AddCommGroup X] [Module 𝕜 X] [TopologicalSpace X] (B : X →ₗ[𝕜] E →ₗ[𝕜] 𝕜) [B.IsWeak] [B.flip.IsCompatibleDual] {Y : Type u_4} {G : Type u_5} [AddCommGroup Y] [Module 𝕜 Y] [TopologicalSpace Y] [AddCommGroup G] [Module 𝕜 G] (C : Y →ₗ[𝕜] G →ₗ[𝕜] 𝕜) [C.IsWeak] (f : X →ₗ[𝕜] Y) (hf : ContinuousOn (⇑f) (⇑(LinearMap.IsCompatibleDual.equiv B.flip) ⁻¹' Metric.closedBall 0 1)) : Continuous ⇑f
A linear map from a space with the weak topology of a pairing `B` with a Banach space into a space carrying the weak topology of another pairing `C` is continuous if it is continuous on the closed unit ball.
The first statement is proved by an inductive construction of a sequence of finite sets in
E, tending to zero, whose polars separate a point outside the convex set from the set itself;
compactness of the intersections with closed balls (Theorem 1.4) drives each
step. For the consequences, X is homeomorphic to E^* with its weak-* topology, and a
linear map into a weak topology is continuous if and only if each of its compositions with the
defining functionals is; the preimage of a closed set under such a composition, intersected with
a closed ball, is closed by hypothesis.