File: Mathlib/Analysis/Normed/Module/Dual.lean

full_name: NormedSpace.Dual
code: /-- The topological dual of a seminormed space `E`. -/
abbrev Dual : Type _ 
goal: Type (max u_1 u_2)

full_name: NormedSpace.instDual
code: instance : NormedSpace 𝕜 (Dual 𝕜 E) 
goal: NormedSpace 𝕜 (NormedSpace.Dual 𝕜 E)

full_name: NormedSpace.instSeminormedAddCommGroupDual
code: instance : SeminormedAddCommGroup (Dual 𝕜 E) 
goal: SeminormedAddCommGroup (NormedSpace.Dual 𝕜 E)

full_name: NormedSpace.inclusionInDoubleDual
code: /-- The inclusion of a normed space in its double (topological) dual, considered
   as a bounded linear map. -/
def inclusionInDoubleDual : E →L[𝕜] Dual 𝕜 (Dual 𝕜 E) 
goal: E →L[𝕜] NormedSpace.Dual 𝕜 (NormedSpace.Dual 𝕜 E)

full_name: NormedSpace.dual_def
code: @[simp]
theorem dual_def (x : E) (f : Dual 𝕜 E) : inclusionInDoubleDual 𝕜 E x f = f x 
goal: ((NormedSpace.inclusionInDoubleDual 𝕜 E) x) f = f x

full_name: NormedSpace.inclusionInDoubleDual_norm_eq
code: theorem inclusionInDoubleDual_norm_eq :
    ‖inclusionInDoubleDual 𝕜 E‖ = ‖ContinuousLinearMap.id 𝕜 (Dual 𝕜 E)‖ 
goal: ‖NormedSpace.inclusionInDoubleDual 𝕜 E‖ = ‖ContinuousLinearMap.id 𝕜 (NormedSpace.Dual 𝕜 E)‖

full_name: NormedSpace.inclusionInDoubleDual_norm_le
code: theorem inclusionInDoubleDual_norm_le : ‖inclusionInDoubleDual 𝕜 E‖ ≤ 1 
goal: ‖NormedSpace.inclusionInDoubleDual 𝕜 E‖ ≤ 1

full_name: NormedSpace.double_dual_bound
code: theorem double_dual_bound (x : E) : ‖(inclusionInDoubleDual 𝕜 E) x‖ ≤ ‖x‖ 
goal: ‖(NormedSpace.inclusionInDoubleDual 𝕜 E) x‖ ≤ ‖x‖

full_name: NormedSpace.dualPairing
code: /-- The dual pairing as a bilinear form. -/
def dualPairing : Dual 𝕜 E →ₗ[𝕜] E →ₗ[𝕜] 𝕜 
goal: NormedSpace.Dual 𝕜 E →ₗ[𝕜] E →ₗ[𝕜] 𝕜

full_name: NormedSpace.dualPairing_apply
code: @[simp]
theorem dualPairing_apply {v : Dual 𝕜 E} {x : E} : dualPairing 𝕜 E v x = v x 
goal: ((NormedSpace.dualPairing 𝕜 E) v) x = v x

full_name: NormedSpace.dualPairing_separatingLeft
code: theorem dualPairing_separatingLeft : (dualPairing 𝕜 E).SeparatingLeft 
goal: (NormedSpace.dualPairing 𝕜 E).SeparatingLeft

full_name: NormedSpace.norm_le_dual_bound
code: /-- If one controls the norm of every `f x`, then one controls the norm of `x`.
    Compare `ContinuousLinearMap.opNorm_le_bound`. -/
theorem norm_le_dual_bound (x : E) {M : ℝ} (hMp : 0 ≤ M) (hM : ∀ f : Dual 𝕜 E, ‖f x‖ ≤ M * ‖f‖) :
    ‖x‖ ≤ M 
goal: ‖x‖ ≤ M

full_name: NormedSpace.eq_zero_of_forall_dual_eq_zero
code: theorem eq_zero_of_forall_dual_eq_zero {x : E} (h : ∀ f : Dual 𝕜 E, f x = (0 : 𝕜)) : x = 0 
goal: x = 0

full_name: NormedSpace.eq_zero_iff_forall_dual_eq_zero
code: theorem eq_zero_iff_forall_dual_eq_zero (x : E) : x = 0 ↔ ∀ g : Dual 𝕜 E, g x = 0 
goal: x = 0 ↔ ∀ (g : NormedSpace.Dual 𝕜 E), g x = 0

full_name: NormedSpace.eq_iff_forall_dual_eq
code: /-- See also `geometric_hahn_banach_point_point`. -/
theorem eq_iff_forall_dual_eq {x y : E} : x = y ↔ ∀ g : Dual 𝕜 E, g x = g y 
goal: x = y ↔ ∀ (g : NormedSpace.Dual 𝕜 E), g x = g y

full_name: NormedSpace.inclusionInDoubleDualLi
code: /-- The inclusion of a normed space in its double dual is an isometry onto its image. -/
def inclusionInDoubleDualLi : E →ₗᵢ[𝕜] Dual 𝕜 (Dual 𝕜 E) 
goal: E →ₗᵢ[𝕜] NormedSpace.Dual 𝕜 (NormedSpace.Dual 𝕜 E)

full_name: NormedSpace.polar
code: /-- 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`. -/
def polar (𝕜 : Type*) [NontriviallyNormedField 𝕜] {E : Type*} [SeminormedAddCommGroup E]
    [NormedSpace 𝕜 E] : Set E → Set (Dual 𝕜 E) 
goal: Set E → Set (NormedSpace.Dual 𝕜 E)

full_name: NormedSpace.mem_polar_iff
code: theorem mem_polar_iff {x' : Dual 𝕜 E} (s : Set E) : x' ∈ polar 𝕜 s ↔ ∀ z ∈ s, ‖x' z‖ ≤ 1 
goal: x' ∈ NormedSpace.polar 𝕜 s ↔ ∀ z ∈ s, ‖x' z‖ ≤ 1

full_name: NormedSpace.polar_univ
code: @[simp]
theorem polar_univ : polar 𝕜 (univ : Set E) = {(0 : Dual 𝕜 E)} 
goal: NormedSpace.polar 𝕜 Set.univ = {0}

full_name: NormedSpace.isClosed_polar
code: theorem isClosed_polar (s : Set E) : IsClosed (polar 𝕜 s) 
goal: IsClosed (NormedSpace.polar 𝕜 s)

full_name: NormedSpace.polar_closure
code: @[simp]
theorem polar_closure (s : Set E) : polar 𝕜 (closure s) = polar 𝕜 s 
goal: NormedSpace.polar 𝕜 (closure s) = NormedSpace.polar 𝕜 s

full_name: NormedSpace.smul_mem_polar
code: /-- 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 smul_mem_polar {s : Set E} {x' : Dual 𝕜 E} {c : 𝕜} (hc : ∀ z, z ∈ s → ‖x' z‖ ≤ ‖c‖) :
    c⁻¹ • x' ∈ polar 𝕜 s 
goal: c⁻¹ • x' ∈ NormedSpace.polar 𝕜 s

full_name: NormedSpace.polar_ball_subset_closedBall_div
code: theorem polar_ball_subset_closedBall_div {c : 𝕜} (hc : 1 < ‖c‖) {r : ℝ} (hr : 0 < r) :
    polar 𝕜 (ball (0 : E) r) ⊆ closedBall (0 : Dual 𝕜 E) (‖c‖ / r) 
goal: NormedSpace.polar 𝕜 (Metric.ball 0 r) ⊆ Metric.closedBall 0 (‖c‖ / r)

full_name: NormedSpace.closedBall_inv_subset_polar_closedBall
code: theorem closedBall_inv_subset_polar_closedBall {r : ℝ} :
    closedBall (0 : Dual 𝕜 E) r⁻¹ ⊆ polar 𝕜 (closedBall (0 : E) r) 
goal: Metric.closedBall 0 r⁻¹ ⊆ NormedSpace.polar 𝕜 (Metric.closedBall 0 r)

full_name: NormedSpace.polar_closedBall
code: /-- The `polar` of closed ball in a normed space `E` is the closed ball of the dual with
inverse radius. -/
theorem polar_closedBall {𝕜 E : Type*} [RCLike 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] {r : ℝ}
    (hr : 0 < r) : polar 𝕜 (closedBall (0 : E) r) = closedBall (0 : Dual 𝕜 E) r⁻¹ 
goal: NormedSpace.polar 𝕜 (Metric.closedBall 0 r) = Metric.closedBall 0 r⁻¹

full_name: NormedSpace.isBounded_polar_of_mem_nhds_zero
code: /-- 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. -/
theorem isBounded_polar_of_mem_nhds_zero {s : Set E} (s_nhd : s ∈ 𝓝 (0 : E)) :
    IsBounded (polar 𝕜 s) 
goal: Bornology.IsBounded (NormedSpace.polar 𝕜 s)