Documentation

Mathlib.Analysis.Normed.Module.Dual

The topological dual of a normed space #

In this file we define the topological dual NormedSpace.Dual of a normed space, and the continuous linear map NormedSpace.inclusionInDoubleDual from a normed space into its double dual.

For base field ๐•œ = โ„ or ๐•œ = โ„‚, this map is actually an isometric embedding; we provide a version NormedSpace.inclusionInDoubleDualLi of the map which is of type a bundled linear isometric embedding, E โ†’โ‚—แตข[๐•œ] (Dual ๐•œ (Dual ๐•œ E)).

Since a lot of elementary properties don't require eq_of_dist_eq_zero we start setting up the theory for SeminormedAddCommGroup and we specialize to NormedAddCommGroup when needed.

Main definitions #

References #

Tags #

dual, polar

@[reducible, inline]
abbrev NormedSpace.Dual (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] (E : Type u_2) [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] :
Type (max u_1 u_2)

The topological dual of a seminormed space E.

Equations
def NormedSpace.inclusionInDoubleDual (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] (E : Type u_2) [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] :
E โ†’L[๐•œ] Dual ๐•œ (Dual ๐•œ E)

The inclusion of a normed space in its double (topological) dual, considered as a bounded linear map.

Equations
@[simp]
theorem NormedSpace.dual_def (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] (E : Type u_2) [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] (x : E) (f : Dual ๐•œ E) :
((inclusionInDoubleDual ๐•œ E) x) f = f x
def NormedSpace.dualPairing (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] (E : Type u_2) [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] :
Dual ๐•œ E โ†’โ‚—[๐•œ] E โ†’โ‚—[๐•œ] ๐•œ

The dual pairing as a bilinear form.

Equations
@[simp]
theorem NormedSpace.dualPairing_apply (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] (E : Type u_2) [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] {v : Dual ๐•œ E} {x : E} :
((dualPairing ๐•œ E) v) x = v x
theorem NormedSpace.norm_le_dual_bound (๐•œ : Type v) [RCLike ๐•œ] {E : Type u} [NormedAddCommGroup E] [NormedSpace ๐•œ E] (x : E) {M : โ„} (hMp : 0 โ‰ค M) (hM : โˆ€ (f : Dual ๐•œ E), โ€–f xโ€– โ‰ค M * โ€–fโ€–) :

If one controls the norm of every f x, then one controls the norm of x. Compare ContinuousLinearMap.opNorm_le_bound.

theorem NormedSpace.eq_zero_of_forall_dual_eq_zero (๐•œ : Type v) [RCLike ๐•œ] {E : Type u} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {x : E} (h : โˆ€ (f : Dual ๐•œ E), f x = 0) :
x = 0
theorem NormedSpace.eq_zero_iff_forall_dual_eq_zero (๐•œ : Type v) [RCLike ๐•œ] {E : Type u} [NormedAddCommGroup E] [NormedSpace ๐•œ E] (x : E) :
x = 0 โ†” โˆ€ (g : Dual ๐•œ E), g x = 0
theorem NormedSpace.eq_iff_forall_dual_eq (๐•œ : Type v) [RCLike ๐•œ] {E : Type u} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {x y : E} :
x = y โ†” โˆ€ (g : Dual ๐•œ E), g x = g y

See also geometric_hahn_banach_point_point.

def NormedSpace.inclusionInDoubleDualLi (๐•œ : Type v) [RCLike ๐•œ] {E : Type u} [NormedAddCommGroup E] [NormedSpace ๐•œ E] :
E โ†’โ‚—แตข[๐•œ] Dual ๐•œ (Dual ๐•œ E)

The inclusion of a normed space in its double dual is an isometry onto its image.

Equations
def NormedSpace.polar (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] :
Set E โ†’ Set (Dual ๐•œ E)

Given a subset s in a normed space E (over a field ๐•œ), the polar polar ๐•œ s is the subset of Dual ๐•œ E consisting of those functionals which evaluate to something of norm at most one at all points z โˆˆ s.

Equations
def NormedSpace.polarSubmodule (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] {S : Type u_3} [SetLike S E] [SMulMemClass S ๐•œ E] (m : S) :
Submodule ๐•œ (Dual ๐•œ E)

Given a subset s in a normed space E (over a field ๐•œ) closed under scalar multiplication, the polar polarSubmodule ๐•œ s is the submodule of Dual ๐•œ E consisting of those functionals which evaluate to zero at all points z โˆˆ s.

Equations
theorem NormedSpace.polarSubmodule_eq_polar (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] (m : SubMulAction ๐•œ E) :
โ†‘(polarSubmodule ๐•œ m) = polar ๐•œ โ†‘m
theorem NormedSpace.mem_polar_iff (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] {x' : Dual ๐•œ E} (s : Set E) :
x' โˆˆ polar ๐•œ s โ†” โˆ€ z โˆˆ s, โ€–x' zโ€– โ‰ค 1
theorem NormedSpace.polarSubmodule_eq_setOf (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] {S : Type u_3} [SetLike S E] [SMulMemClass S ๐•œ E] (m : S) :
โ†‘(polarSubmodule ๐•œ m) = {y : Dual ๐•œ E | โˆ€ x โˆˆ m, y x = 0}
theorem NormedSpace.mem_polarSubmodule (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] {S : Type u_3} [SetLike S E] [SMulMemClass S ๐•œ E] (m : S) (y : Dual ๐•œ E) :
y โˆˆ polarSubmodule ๐•œ m โ†” โˆ€ x โˆˆ m, y x = 0
@[simp]
theorem NormedSpace.zero_mem_polar (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] (s : Set E) :
0 โˆˆ polar ๐•œ s
theorem NormedSpace.polar_nonempty (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] (s : Set E) :
(polar ๐•œ s).Nonempty
@[simp]
theorem NormedSpace.polar_univ (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] :
polar ๐•œ Set.univ = {0}
theorem NormedSpace.isClosed_polar (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] (s : Set E) :
IsClosed (polar ๐•œ s)
@[simp]
theorem NormedSpace.polar_closure (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] (s : Set E) :
polar ๐•œ (closure s) = polar ๐•œ s
theorem NormedSpace.smul_mem_polar {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] {s : Set E} {x' : Dual ๐•œ E} {c : ๐•œ} (hc : โˆ€ z โˆˆ s, โ€–x' zโ€– โ‰ค โ€–cโ€–) :

If x' is a dual element such that the norms โ€–x' zโ€– are bounded for z โˆˆ s, then a small scalar multiple of x' is in polar ๐•œ s.

theorem NormedSpace.polar_ball_subset_closedBall_div {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] {c : ๐•œ} (hc : 1 < โ€–cโ€–) {r : โ„} (hr : 0 < r) :
theorem NormedSpace.polar_closedBall {๐•œ : Type u_3} {E : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {r : โ„} (hr : 0 < r) :

The polar of closed ball in a normed space E is the closed ball of the dual with inverse radius.

theorem NormedSpace.polar_ball {๐•œ : Type u_3} {E : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {r : โ„} (hr : 0 < r) :
theorem NormedSpace.isBounded_polar_of_mem_nhds_zero (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] {s : Set E} (s_nhd : s โˆˆ nhds 0) :

Given a neighborhood s of the origin in a normed space E, the dual norms of all elements of the polar polar ๐•œ s are bounded by a constant.

@[simp]
theorem NormedSpace.polar_empty (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] :
@[simp]
theorem NormedSpace.polar_singleton (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] {a : E} :
polar ๐•œ {a} = {x : Dual ๐•œ E | โ€–x aโ€– โ‰ค 1}
theorem NormedSpace.mem_polar_singleton (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] {a : E} (y : Dual ๐•œ E) :
theorem NormedSpace.polar_zero (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] :
polar ๐•œ {0} = Set.univ
theorem NormedSpace.sInter_polar_eq_closedBall {๐•œ : Type u_3} {E : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup E] [NormedSpace ๐•œ E] {r : โ„} (hr : 0 < r) :
theorem LinearMap.polar_AbsConvex {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [NormedField ๐•œ] [NormedSpace โ„ ๐•œ] [AddCommMonoid E] [AddCommMonoid F] [Module ๐•œ E] [Module ๐•œ F] {B : E โ†’โ‚—[๐•œ] F โ†’โ‚—[๐•œ] ๐•œ} (s : Set E) [Module โ„ F] [IsScalarTower โ„ ๐•œ F] [IsScalarTower โ„ ๐•œ ๐•œ] :
AbsConvex ๐•œ (B.polar s)