Documentation

Mathlib.Topology.Algebra.Module.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.

Instances For
    @[implicit_reducible]
    noncomputable instance instAddCommMonoidWeakDual (π•œ : Type u_1) (E : Type u_2) [CommSemiring π•œ] [TopologicalSpace π•œ] [ContinuousAdd π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommMonoid E] [Module π•œ E] [TopologicalSpace E] :
    AddCommMonoid (WeakDual π•œ E)
    @[implicit_reducible]
    noncomputable instance instModuleWeakDual (π•œ : Type u_1) (E : Type u_2) [CommSemiring π•œ] [TopologicalSpace π•œ] [ContinuousAdd π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommMonoid E] [Module π•œ E] [TopologicalSpace E] :
    Module π•œ (WeakDual π•œ E)
    @[implicit_reducible]
    noncomputable instance instTopologicalSpaceWeakDual (π•œ : Type u_1) (E : Type u_2) [CommSemiring π•œ] [TopologicalSpace π•œ] [ContinuousAdd π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommMonoid E] [Module π•œ E] [TopologicalSpace E] :
    @[implicit_reducible]
    noncomputable instance instContinuousAddWeakDual (π•œ : Type u_1) (E : Type u_2) [CommSemiring π•œ] [TopologicalSpace π•œ] [ContinuousAdd π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommMonoid E] [Module π•œ E] [TopologicalSpace E] :
    ContinuousAdd (WeakDual π•œ E)
    @[implicit_reducible]
    noncomputable instance instInhabitedWeakDual (π•œ : Type u_1) (E : Type u_2) [CommSemiring π•œ] [TopologicalSpace π•œ] [ContinuousAdd π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommMonoid E] [Module π•œ E] [TopologicalSpace E] :
    Inhabited (WeakDual π•œ E)
    @[implicit_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 π•œ
    @[implicit_reducible]
    noncomputable instance instContinuousLinearMapClassWeakDual (π•œ : Type u_1) (E : Type u_2) [CommSemiring π•œ] [TopologicalSpace π•œ] [ContinuousAdd π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommMonoid E] [Module π•œ E] [TopologicalSpace E] :
    ContinuousLinearMapClass (WeakDual π•œ E) π•œ E π•œ
    @[implicit_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.

    @[implicit_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.

    @[implicit_reducible]
    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.

    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.

    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)
    @[implicit_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)
    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.

    Instances For
      @[implicit_reducible]
      noncomputable instance instAddCommMonoidWeakSpace (π•œ : Type u_2) (E : Type u_1) [CommSemiring π•œ] [TopologicalSpace π•œ] [ContinuousAdd π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommMonoid E] [Module π•œ E] [TopologicalSpace E] :
      @[implicit_reducible]
      noncomputable instance instModuleWeakSpace (π•œ : Type u_1) (E : Type u_2) [CommSemiring π•œ] [TopologicalSpace π•œ] [ContinuousAdd π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommMonoid E] [Module π•œ E] [TopologicalSpace E] :
      Module π•œ (WeakSpace π•œ E)
      @[implicit_reducible]
      noncomputable instance instTopologicalSpaceWeakSpace (π•œ : Type u_2) (E : Type u_1) [CommSemiring π•œ] [TopologicalSpace π•œ] [ContinuousAdd π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommMonoid E] [Module π•œ E] [TopologicalSpace E] :
      @[implicit_reducible]
      noncomputable instance instContinuousAddWeakSpace (π•œ : Type u_2) (E : Type u_1) [CommSemiring π•œ] [TopologicalSpace π•œ] [ContinuousAdd π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommMonoid E] [Module π•œ E] [TopologicalSpace E] :
      @[implicit_reducible]
      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)
      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.

      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.

        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.

          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))
            @[implicit_reducible]
            instance WeakSpace.instAddCommGroup {π•œ : Type u_2} {E : Type u_4} [CommRing π•œ] [TopologicalSpace π•œ] [IsTopologicalAddGroup π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommGroup E] [Module π•œ E] [TopologicalSpace E] :
            AddCommGroup (WeakSpace π•œ E)
            instance WeakSpace.instIsTopologicalAddGroup {π•œ : Type u_2} {E : Type u_4} [CommRing π•œ] [TopologicalSpace π•œ] [IsTopologicalAddGroup π•œ] [ContinuousConstSMul π•œ π•œ] [AddCommGroup E] [Module π•œ E] [TopologicalSpace E] :