Mathlib Phrasebook

22.2.ย Locally convex spaces๐Ÿ”—

Locally convex topological vector spaces (LCTVS) come in different forms. Mathlib distinguishes between the topological notion and spaces whose topology is induced by a family of seminorms, and the later one comes in two different forms. Hence, we have the options

  • LocallyConvexSpace

  • WithSeminorms

  • PolynormableSpace

Mathlib contains an extensive theory of all of these different notions. We will now describe how and when to use which notion.

The first option, LocallyConvexSpace, is the topological characterization that the convex neighborhoods of a point form a neighborhood basis of that point and this can be combined with the above characterization of TVS to spell a CLTVS over โ„ or โ„‚ as follows:

variable (E ๐•œ : Type*) [NormedField ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [ContinuousAdd E] [ContinuousSMul ๐•œ E] [NormedSpace โ„ ๐•œ] [Module โ„ E] [IsScalarTower โ„ ๐•œ E] [LocallyConvexSpace โ„ E]

This spelling is useful for proving topological properties about LCTVS.

The more analytical characterization of LCTVS is that the topology is induced by a family of seminorms and there is the predicate WithSeminorms that states that a given topology is induced by a family of seminorms:

variable {ฮน : Type*} (E ๐•œ : Type*) [NormedField ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [ContinuousAdd E] [ContinuousSMul ๐•œ E] {p : SeminormFamily ๐•œ E ฮน} (hp : WithSeminorms p)

and Mathlib knows that in this case the space is locally convex:

example [NormedSpace โ„ ๐•œ] [Module โ„ E] [IsScalarTower โ„ ๐•œ E] : LocallyConvexSpace โ„ E := hp.toLocallyConvexSpace

and conversely the gaugeSeminormFamily induces the topology on a locally convex space:

open scoped ComplexOrder variable {E ๐•œ : Type*} [RCLike ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousSMul ๐•œ E] [Module โ„ E] [IsScalarTower โ„ ๐•œ E] [ContinuousSMul โ„ E] [LocallyConvexSpace ๐•œ E] example : WithSeminorms (gaugeSeminormFamily ๐•œ E) := with_gaugeSeminormFamily

The spelling WithSeminorms is used in the case where the family of seminorms explicitly appears in the statement or the hypothesis, for example WithSeminorms.tendsto_nhds_atTop.

Finally, there is PolynormableSpace, which states that the family of continuous seminorms induce the topology.

variable {E ๐•œ : Type*} [NormedField ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [PolynormableSpace ๐•œ E]

This characterization of LCTVS is valid for coefficients more general than โ„ or โ„‚ and coincides with LocallyConvexSpace if the base field is โ„ or โ„‚.

open scoped ComplexOrder variable (E ๐•œ : Type*) [RCLike ๐•œ] [AddCommGroup E] [TopologicalSpace E] [IsTopologicalAddGroup E] [Module ๐•œ E] [ContinuousSMul ๐•œ E] [Module โ„ E] [ContinuousSMul โ„ E] [IsScalarTower โ„ ๐•œ E] example [LocallyConvexSpace ๐•œ E] : PolynormableSpace ๐•œ E := Eโœ:Type u_1๐•œโœ:Type u_2instโœยนโด:NormedField ๐•œโœinstโœยนยณ:AddCommGroup Eโœinstโœยนยฒ:Module ๐•œโœ Eโœinstโœยนยน:TopologicalSpace Eโœinstโœยนโฐ:PolynormableSpace ๐•œโœ EโœE:Type u_3๐•œ:Type u_4instโœโน:RCLike ๐•œinstโœโธ:AddCommGroup Einstโœโท:TopologicalSpace Einstโœโถ:IsTopologicalAddGroup Einstโœโต:Module ๐•œ Einstโœโด:ContinuousSMul ๐•œ Einstโœยณ:Module โ„ Einstโœยฒ:ContinuousSMul โ„ Einstโœยน:IsScalarTower โ„ ๐•œ Einstโœ:LocallyConvexSpace ๐•œ EโŠข PolynormableSpace ๐•œ E All goals completed! ๐Ÿ™ example [PolynormableSpace โ„ E] : LocallyConvexSpace โ„ E := Eโœ:Type u_1๐•œโœ:Type u_2instโœยนโด:NormedField ๐•œโœinstโœยนยณ:AddCommGroup Eโœinstโœยนยฒ:Module ๐•œโœ Eโœinstโœยนยน:TopologicalSpace Eโœinstโœยนโฐ:PolynormableSpace ๐•œโœ EโœE:Type u_3๐•œ:Type u_4instโœโน:RCLike ๐•œinstโœโธ:AddCommGroup Einstโœโท:TopologicalSpace Einstโœโถ:IsTopologicalAddGroup Einstโœโต:Module ๐•œ Einstโœโด:ContinuousSMul ๐•œ Einstโœยณ:Module โ„ Einstโœยฒ:ContinuousSMul โ„ Einstโœยน:IsScalarTower โ„ ๐•œ Einstโœ:PolynormableSpace โ„ EโŠข LocallyConvexSpace โ„ E All goals completed! ๐Ÿ™

Using PolynormableSpace is preferred over WithSeminorms when the family of seminorms does not explicitly appear in either the hypothesis or the conclusion, for instance for statements about derivatives of Frรฉchet-valued functions.

22.2.1.ย Notable results๐Ÿ”—

  • The Hahn-Banach theorem: StrongDual.exists_extension

  • The Banach-Steinhaus theorem: WithSeminorms.banach_steinhaus and PolynormableSpace.banach_steinhaus