MATHLIBANNEX / EXACT SOURCE

Mathlib/Analysis/LocallyConvex/HahnBanach.lean

Exact source: Mathlib/Analysis/LocallyConvex/HahnBanach.lean

Pinned GitHub source Β· Raw UTF-8 source

Back to Each satellite norms its coefficient preimage in absolute value

1/-2Copyright (c) 2026 Yongxi Lin. All rights reserved.3Released under Apache 2.0 license as described in the file LICENSE.4Authors: Yongxi Lin5-/6module78public import Mathlib.Analysis.Convex.Cone.Extension9public import Mathlib.Analysis.LocallyConvex.AbsConvexOpen10public import Mathlib.Analysis.LocallyConvex.WeakDual11public import Mathlib.Analysis.Normed.Module.RCLike.Extend12public import Mathlib.Topology.Algebra.Module.FiniteDimension1314/-!15# Hahn-Banach theorem for polynormable spaces1617In this file, we prove the analytic Hahn-Banach theorem for polynormable spaces over a field18satisfying `IsRCLikeNormedField`. For any continuous linear functional on a subspace, we can extend19it to the entire space. Note that we cannot use `LocallyConvexSpace` because an20`IsRCLikeNormedField` has no order structure.2122We prove23* `Module.Dual.exists_continuous_extension_of_le_seminorm`: Hahn-Banach theorem for linear24  functionals dominated by a continuous seminorm on polynormable spaces over a field satisfying25  `IsRCLikeNormedField`.26* `StrongDual.exists_extension`: Hahn-Banach theorem for continuous linear functionals on27  polynormable spaces over fields satisfying `IsRCLikeNormedField`.2829-/3031public section3233open Module Topology RCLike3435open scoped ComplexConjugate3637variable {π•œ E : Type*} [AddCommGroup E]3839theorem Module.Dual.exists_extension_of_le_seminorm_real [Module ℝ E]40    (S : Subspace ℝ E) (f : Dual ℝ S)41    {p : Seminorm ℝ E} (hp : βˆ€ x, f x ≀ p x) :42    βˆƒ g : Dual ℝ E, (βˆ€ x : S, g x = f x) ∧ βˆ€ x, |g x| ≀ p x := by43  obtain ⟨g, hg, hl⟩ := by44    refine exists_extension_of_le_sublinear ⟨S, f⟩ p (fun _ hc _ => ?_) ?_ hp45    Β· simp [map_smul_eq_mul, abs_of_nonneg hc.le]46    Β· exact fun x y => map_add_le_add p x y47  exact ⟨g, hg, p.abs_le_of_le hl⟩4849variable [NormedField π•œ] [IsRCLikeNormedField π•œ]5051theorem Module.Dual.exists_extension_of_le_seminorm [Module π•œ E] (S : Submodule π•œ E) (f : Dual π•œ S)52    {p : Seminorm π•œ E} (hp : βˆ€ x, β€–f xβ€– ≀ p x) :53    βˆƒ g : Dual π•œ E, (βˆ€ x : S, g x = f x) ∧ βˆ€ x, β€–g xβ€– ≀ p x := by54  letI : RCLike π•œ := IsRCLikeNormedField.rclike π•œ55  letI : Module ℝ E := .restrictScalars ℝ π•œ E56  letI : IsScalarTower ℝ π•œ E := .restrictScalars _ _ _57  let fr : Dual ℝ S := reLm.comp (f.restrictScalars ℝ)58  obtain ⟨g, (hg : βˆ€ x : S, g x = fr x), hgp⟩ :=59    fr.exists_extension_of_le_seminorm_real (S.restrictScalars ℝ) (p := p.restrictScalars ℝ)60      fun x ↦ (re_le_norm (f x)).trans (hp x)61  refine ⟨g.extendRCLike, fun x ↦ ?_, fun x ↦ ?_⟩62  Β· rw [g.extendRCLike_apply, ← Submodule.coe_smul, hg, hg]63    simp [fr, mul_comm I]64  Β· apply norm_extendRCLike_le_seminorm65    exact hgp6667variable [TopologicalSpace E]6869/-- **Hahn-Banach theorem** for linear functionals dominated by a continuous seminorm on70polynormable spaces over `ℝ`. -/71theorem Module.Dual.exists_continuous_extension_of_le_seminorm_real [IsTopologicalAddGroup E]72    [Module ℝ E] [ContinuousSMul ℝ E] [PolynormableSpace ℝ E] (S : Subspace ℝ E) (f : Dual ℝ S)73    {p : Seminorm ℝ E} (hp_cont : Continuous p) (hp : βˆ€ x, f x ≀ p x) :74    βˆƒ g : StrongDual ℝ E, (βˆ€ x : S, g x = f x) ∧ βˆ€ x, |g x| ≀ p x := by75  obtain ⟨g, hg, hl⟩ := f.exists_extension_of_le_seminorm_real S hp76  exact ⟨⟨g, (PolynormableSpace.withSeminorms ℝ E).continuous_real_rng g77    ⟨{⟨p, hp_cont⟩}, 1, fun x ↦ by simpa using (le_abs_self _).trans (hl x)⟩⟩, hg, hl⟩7879variable [Module π•œ E] [PolynormableSpace π•œ E]8081/-- **Hahn-Banach theorem** for linear functionals dominated by a continuous seminorm on82polynormable spaces over fields satisfying `IsRCLikeNormedField`. -/83theorem Module.Dual.exists_continuous_extension_of_le_seminorm (S : Submodule π•œ E) (f : Dual π•œ S)84    {p : Seminorm π•œ E} (hp_cont : Continuous p) (hp : βˆ€ x, β€–f xβ€– ≀ p x) :85    βˆƒ g : StrongDual π•œ E, (βˆ€ x : S, g x = f x) ∧ βˆ€ x, β€–g xβ€– ≀ p x := by86  obtain ⟨g, hg, hle⟩ := Dual.exists_extension_of_le_seminorm S f hp87  refine ⟨⟨g, (PolynormableSpace.withSeminorms π•œ E).continuous_normedSpace_rng π•œ g ?_⟩, hg, hle⟩88  exact ⟨{⟨p, hp_cont⟩}, 1, by simpa⟩8990/-- **Hahn-Banach theorem** for continuous linear functionals on polynormable spaces over a field91satisfying `IsRCLikeNormedField`. -/92theorem StrongDual.exists_extension {π•œ} [NontriviallyNormedField π•œ] [IsRCLikeNormedField π•œ]93    [Module π•œ E] [PolynormableSpace π•œ E] (S : Submodule π•œ E) (f : StrongDual π•œ S) :94    βˆƒ g : StrongDual π•œ E, βˆ€ x : S, g x = f x := by95  obtain ⟨q, hq_cont, hq⟩ := Seminorm.exists_le_comp_of_isInducing (f := S.subtype)96    (p := f.toSeminorm) f.continuous.norm IsInducing.subtypeVal97  obtain ⟨g, hg, _⟩ := Dual.exists_continuous_extension_of_le_seminorm S f.toLinearMap hq_cont hq98  exact ⟨g, hg⟩99100variable {F : Type*} [AddCommGroup F] [TopologicalSpace F] [IsTopologicalAddGroup F] [Module π•œ F]101  [ContinuousSMul π•œ F] [T2Space F]102103/-- Corollary of the polynormable **Hahn-Banach theorem**: if `f : S β†’ F` is a continuous104linear map with finite-dimensional range, then `f` extends to a continuous linear map on the whole105space. -/106lemma ContinuousLinearMap.exist_extension_of_finiteDimensional_range {S : Submodule π•œ E}107    (f : S β†’L[π•œ] F) [FiniteDimensional π•œ f.range] :108    βˆƒ g : E β†’L[π•œ] F, f = g.comp S.subtypeL := by109  letI : RCLike π•œ := IsRCLikeNormedField.rclike π•œ110  let b := Module.finBasis π•œ f.range111  let e := b.equivFunL112  let fi := fun i ↦ (LinearMap.toContinuousLinearMap (b.coord i)).comp113    (f.codRestrict _ <| LinearMap.mem_range_self _)114  choose gi hgf using fun i ↦ StrongDual.exists_extension S (fi i)115  use f.range.subtypeL.comp <| e.symm.toContinuousLinearMap.comp (.pi gi)116  ext x117  simp [fi, e, hgf]118119/-- A finite-dimensional submodule of a polynormable space over a field satisfying120`IsRCLikeNormedField` is `Submodule.ClosedComplemented`. -/121lemma Submodule.ClosedComplemented.of_finiteDimensional [PolynormableSpace π•œ F] (S : Submodule π•œ F)122    [FiniteDimensional π•œ S] : S.ClosedComplemented := by123  let ⟨g, hg⟩ := (ContinuousLinearMap.id π•œ S).exist_extension_of_finiteDimensional_range124  exact ⟨g, DFunLike.congr_fun hg.symm⟩
Back to top ↑