Mathlib Phrasebook

19.3. Locally convex spaces🔗

Mathlib contains an extensive theory of locally convex spaces. The basic way to instantiate a LCTVS is as follows:

variable (E 𝕜 : Type*) [NormedField 𝕜] [AddCommGroup E] [Module 𝕜 E] [TopologicalSpace E] [ContinuousAdd E] [ContinuousSMul 𝕜 E] [NormedSpace 𝕜] [Module E] [IsScalarTower 𝕜 E] [LocallyConvexSpace E]

For coefficients more general than or there is also PolynormableSpace.

To say that E is a TVS whose topology is generated by a family of seminorms one writes:

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