Documentation

Mathlib.Topology.Algebra.Module.Spaces.WeakDual

Weak dual topology #

We continue in the setting of Mathlib/Topology/Algebra/Module/WeakBilin.lean, which defines the weak topology given two vector spaces E and F over a commutative semiring š•œ and a bilinear form B : E →ₗ[š•œ] F →ₗ[š•œ] š•œ. The weak topology on E is the coarsest topology such that for all y : F every map fun x => B x y is continuous.

In this file, we consider two special cases. In the case that F = E →L[š•œ] š•œ and B being the canonical pairing, we obtain the weak-* topology, WeakDual š•œ E := (E →L[š•œ] š•œ). Interchanging the arguments in the bilinear form yields the weak topology WeakSpace š•œ E := E.

Main definitions #

The main definitions are the types WeakDual š•œ E and WeakSpace š•œ E, with the respective topology instances on it.

References #

Tags #

weak-star, weak dual, duality

def WeakDual (š•œ : Type u_6) (E : Type u_7) [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
Type (max u_6 u_7)

The weak star topology is the topology coarsest topology on E →L[š•œ] š•œ such that all functionals fun v => v x are continuous.

Equations
Instances For
    @[instance_reducible]
    noncomputable instance instTopologicalSpaceWeakDual (š•œ : Type u_1) (E : Type u_2) [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
    Equations
    @[instance_reducible]
    noncomputable instance instInhabitedWeakDual (š•œ : Type u_1) (E : Type u_2) [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
    Inhabited (WeakDual š•œ E)
    Equations
    @[instance_reducible]
    noncomputable instance instFunLikeWeakDual (š•œ : Type u_1) (E : Type u_2) [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
    FunLike (WeakDual š•œ E) E š•œ
    Equations
    instance instContinuousLinearMapClassWeakDual (š•œ : Type u_1) (E : Type u_2) [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
    ContinuousLinearMapClass (WeakDual š•œ E) š•œ E š•œ
    @[instance_reducible]
    instance WeakDual.instMulAction {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (M : Type u_6) [Monoid M] [DistribMulAction M š•œ] [SMulCommClass š•œ M š•œ] [ContinuousConstSMul M š•œ] :
    MulAction M (WeakDual š•œ E)

    If a monoid M distributively continuously acts on š•œ and this action commutes with multiplication on š•œ, then it acts on WeakDual š•œ E.

    Equations
    @[instance_reducible]
    noncomputable instance WeakDual.instAddCommMonoid (š•œāœ : Type u_1) (Eāœ : Type u_2) [CommSemiring š•œāœ] [TopologicalSpace š•œāœ] [ContinuousAdd š•œāœ] [ContinuousConstSMul š•œāœ š•œāœ] [AddCommMonoid Eāœ] [Module š•œāœ Eāœ] [TopologicalSpace Eāœ] :
    AddCommMonoid (WeakDual š•œāœ Eāœ)
    Equations
    • One or more equations did not get rendered due to their size.
    instance WeakDual.instContinuousAdd (š•œāœ : Type u_1) (Eāœ : Type u_2) [CommSemiring š•œāœ] [TopologicalSpace š•œāœ] [ContinuousAdd š•œāœ] [ContinuousConstSMul š•œāœ š•œāœ] [AddCommMonoid Eāœ] [Module š•œāœ Eāœ] [TopologicalSpace Eāœ] :
    ContinuousAdd (WeakDual š•œāœ Eāœ)
    @[instance_reducible]
    instance WeakDual.instDistribMulAction {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (M : Type u_6) [Monoid M] [DistribMulAction M š•œ] [SMulCommClass š•œ M š•œ] [ContinuousConstSMul M š•œ] :
    DistribMulAction M (WeakDual š•œ E)

    If a monoid M distributively continuously acts on š•œ and this action commutes with multiplication on š•œ, then it acts distributively on WeakDual š•œ E.

    Equations
    instance WeakDual.instContinuousConstSMul {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (M : Type u_6) [Monoid M] [DistribMulAction M š•œ] [SMulCommClass š•œ M š•œ] [ContinuousConstSMul M š•œ] :
    instance WeakDual.instContinuousSMul {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (M : Type u_6) [Monoid M] [DistribMulAction M š•œ] [SMulCommClass š•œ M š•œ] [TopologicalSpace M] [ContinuousSMul M š•œ] :
    ContinuousSMul M (WeakDual š•œ E)

    If a monoid M distributively continuously acts on š•œ and this action commutes with multiplication on š•œ, then it continuously acts on WeakDual š•œ E.

    @[instance_reducible, instance 950]
    instance WeakDual.instModule' {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (R : Type u_6) [Semiring R] [Module R š•œ] [SMulCommClass š•œ R š•œ] [ContinuousConstSMul R š•œ] :
    Module R (WeakDual š•œ E)

    If š•œ is a topological module over a semiring R and scalar multiplication commutes with the multiplication on š•œ, then WeakDual š•œ E is a module over R.

    Equations
    @[instance_reducible]
    instance WeakDual.instModule {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
    Module š•œ (WeakDual š•œ E)
    Equations
    def StrongDual.toWeakDual {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
    StrongDual š•œ E ā‰ƒā‚—[š•œ] WeakDual š•œ E

    For vector spaces E, there is a canonical map StrongDual š•œ E → WeakDual š•œ E (the "identity" mapping). It is a linear equivalence.

    Equations
    Instances For
      theorem StrongDual.coe_toWeakDual {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (x' : StrongDual š•œ E) :
      ⇑(toWeakDual x') = ⇑x'
      @[simp]
      theorem StrongDual.toWeakDual_apply {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (x' : StrongDual š•œ E) (y : E) :
      (toWeakDual x') y = x' y
      theorem StrongDual.toWeakDual_inj {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (x' y' : StrongDual š•œ E) :
      noncomputable def WeakDual.toStrongDual {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
      WeakDual š•œ E ā‰ƒā‚—[š•œ] StrongDual š•œ E

      For vector spaces E, there is a canonical map WeakDual š•œ E → StrongDual š•œ E (the "identity" mapping). It is a linear equivalence. Here it is implemented as the inverse of the linear equivalence StrongDual.toWeakDual in the other direction.

      Equations
      Instances For
        @[simp]
        theorem WeakDual.symm_toStrongDual {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
        @[simp]
        theorem StrongDual.symm_toWeakDual {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
        @[simp]
        theorem StrongDual.toStrongDual_toWeakDual {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (x : StrongDual š•œ E) :
        @[simp]
        theorem WeakDual.toWeakDual_toStrongDual {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (x : WeakDual š•œ E) :
        @[simp]
        theorem WeakDual.toStrongDual_apply {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (x : WeakDual š•œ E) (y : E) :
        (toStrongDual x) y = x y
        theorem WeakDual.coe_toStrongDual {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (x' : WeakDual š•œ E) :
        ⇑(toStrongDual x') = ⇑x'
        theorem WeakDual.toStrongDual_inj {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (x' y' : WeakDual š•œ E) :
        theorem WeakDual.coeFn_continuous {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
        Continuous fun (x : WeakDual š•œ E) (y : E) => x y
        theorem WeakDual.eval_continuous {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (y : E) :
        Continuous fun (x : WeakDual š•œ E) => x y
        theorem WeakDual.continuous_of_continuous_eval {α : Type u_1} {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] [TopologicalSpace α] {g : α → WeakDual š•œ E} (h : āˆ€ (y : E), Continuous fun (a : α) => (g a) y) :
        instance WeakDual.instT2Space {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] [T2Space š•œ] :
        T2Space (WeakDual š•œ E)
        @[instance_reducible]
        noncomputable instance WeakDual.instAddCommGroup {š•œ : Type u_2} {E : Type u_4} [CommRing š•œ] [TopologicalSpace š•œ] [IsTopologicalAddGroup š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommGroup E] [Module š•œ E] [TopologicalSpace E] :
        AddCommGroup (WeakDual š•œ E)
        Equations
        • One or more equations did not get rendered due to their size.
        instance WeakDual.instIsTopologicalAddGroup {š•œ : Type u_2} {E : Type u_4} [CommRing š•œ] [TopologicalSpace š•œ] [IsTopologicalAddGroup š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommGroup E] [Module š•œ E] [TopologicalSpace E] :
        def WeakSpace (š•œ : Type u_6) (E : Type u_7) [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
        Type u_7

        The weak topology is the topology coarsest topology on E such that all functionals fun x => v x are continuous.

        Equations
        Instances For
          @[instance_reducible]
          noncomputable instance instTopologicalSpaceWeakSpace (š•œ : Type u_2) (E : Type u_1) [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
          Equations
          @[instance_reducible]
          noncomputable instance instSMulWeakSpaceOfModule {š•œ : Type u_3} {š• : Type u_1} {E : Type u_2} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] [CommSemiring š•] [Module š• E] :
          SMul š• (WeakSpace š•œ E)
          Equations
          instance instContinuousAddWeakSpace (š•œāœ : Type u_2) (Eāœ : Type u_1) [CommSemiring š•œāœ] [TopologicalSpace š•œāœ] [ContinuousAdd š•œāœ] [ContinuousConstSMul š•œāœ š•œāœ] [AddCommMonoid Eāœ] [Module š•œāœ Eāœ] [TopologicalSpace Eāœ] :
          ContinuousAdd (WeakSpace š•œāœ Eāœ)
          @[instance_reducible]
          noncomputable instance instAddCommMonoidWeakSpace (š•œāœ : Type u_2) (Eāœ : Type u_1) [CommSemiring š•œāœ] [TopologicalSpace š•œāœ] [ContinuousAdd š•œāœ] [ContinuousConstSMul š•œāœ š•œāœ] [AddCommMonoid Eāœ] [Module š•œāœ Eāœ] [TopologicalSpace Eāœ] :
          AddCommMonoid (WeakSpace š•œāœ Eāœ)
          Equations
          • One or more equations did not get rendered due to their size.
          @[instance_reducible]
          noncomputable instance WeakSpace.instModule' {š•œ : Type u_2} {š• : Type u_3} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] [CommSemiring š•] [Module š• E] :
          Module š• (WeakSpace š•œ E)
          Equations
          @[instance_reducible]
          noncomputable instance WeakSpace.instModule {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
          Module š•œ (WeakSpace š•œ E)
          Equations
          instance WeakSpace.instIsScalarTower {š•œ : Type u_2} {š• : Type u_3} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] [CommSemiring š•] [Module š• š•œ] [Module š• E] [IsScalarTower š• š•œ E] :
          IsScalarTower š• š•œ (WeakSpace š•œ E)
          instance WeakSpace.instContinuousSMul {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] [ContinuousSMul š•œ š•œ] :
          ContinuousSMul š•œ (WeakSpace š•œ E)
          def WeakSpace.map {š•œ : Type u_2} {E : Type u_4} {F : Type u_5} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] [AddCommMonoid F] [Module š•œ F] [TopologicalSpace F] (f : E →L[š•œ] F) :
          WeakSpace š•œ E →L[š•œ] WeakSpace š•œ F

          A continuous linear map from E to F is still continuous when E and F are equipped with their weak topologies.

          Equations
          Instances For
            theorem WeakSpace.map_apply {š•œ : Type u_2} {E : Type u_4} {F : Type u_5} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] [AddCommMonoid F] [Module š•œ F] [TopologicalSpace F] (f : E →L[š•œ] F) (x : E) :
            (map f) x = f x
            @[simp]
            theorem WeakSpace.coe_map {š•œ : Type u_2} {E : Type u_4} {F : Type u_5} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] [AddCommMonoid F] [Module š•œ F] [TopologicalSpace F] (f : E →L[š•œ] F) :
            ⇑(map f) = ⇑f
            def toWeakSpace (š•œ : Type u_2) (E : Type u_4) [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
            E ā‰ƒā‚—[š•œ] WeakSpace š•œ E

            There is a canonical map E → WeakSpace š•œ E (the "identity" mapping). It is a linear equivalence.

            Equations
            Instances For
              def toWeakSpaceCLM (š•œ : Type u_2) (E : Type u_4) [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
              E →L[š•œ] WeakSpace š•œ E

              For a topological vector space E, "identity mapping" E → WeakSpace š•œ E is continuous. This definition implements it as a continuous linear map.

              Equations
              Instances For
                @[simp]
                theorem toWeakSpaceCLM_eq_toWeakSpace (š•œ : Type u_2) (E : Type u_4) [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (x : E) :
                (toWeakSpaceCLM š•œ E) x = (toWeakSpace š•œ E) x
                theorem toWeakSpaceCLM_bijective {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
                theorem isOpenMap_toWeakSpace_symm {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] :
                IsOpenMap ⇑(toWeakSpace š•œ E).symm

                The canonical map from WeakSpace š•œ E to E is an open map.

                theorem WeakSpace.isOpen_of_isOpen {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] (V : Set E) (hV : IsOpen (⇑(toWeakSpaceCLM š•œ E) '' V)) :

                A set in E which is open in the weak topology is open.

                theorem tendsto_iff_forall_eval_tendsto_topDualPairing {α : Type u_1} {š•œ : Type u_2} {E : Type u_4} [CommSemiring š•œ] [TopologicalSpace š•œ] [ContinuousAdd š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommMonoid E] [Module š•œ E] [TopologicalSpace E] {l : Filter α} {f : α → WeakDual š•œ E} {x : WeakDual š•œ E} :
                Filter.Tendsto f l (nhds x) ↔ āˆ€ (y : E), Filter.Tendsto (fun (i : α) => ((topDualPairing š•œ E) (f i)) y) l (nhds (((topDualPairing š•œ E) x) y))
                @[instance_reducible]
                noncomputable instance WeakSpace.instAddCommGroup {š•œ : Type u_2} {E : Type u_4} [CommRing š•œ] [TopologicalSpace š•œ] [IsTopologicalAddGroup š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommGroup E] [Module š•œ E] [TopologicalSpace E] :
                AddCommGroup (WeakSpace š•œ E)
                Equations
                • One or more equations did not get rendered due to their size.
                instance WeakSpace.instIsTopologicalAddGroup {š•œ : Type u_2} {E : Type u_4} [CommRing š•œ] [TopologicalSpace š•œ] [IsTopologicalAddGroup š•œ] [ContinuousConstSMul š•œ š•œ] [AddCommGroup E] [Module š•œ E] [TopologicalSpace E] :