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β©