Documentation

Mathlib.Analysis.LocallyConvex.BalancedCoreHull

Balanced Core and Balanced Hull #

Main definitions #

Main statements #

Implementation details #

The balancedHull is defined as the ClosureOperator associated to the predicate Balanced ๐•œ, i.e., as the intersection over all balanced sets containing s. The ClosureOperator API then provides most of the main results about the hull, e.g., subset_balancedHull and Balanced.balancedHull_subset_of_subset.

On the other hand, balancedCore ๐•œ s is defined directly as the union of all balanced subsets of s. This is exactly the ClosureOperator of Balanced ๐•œ on the order dual (Set E)แต’แตˆ, but there's not much support for such objects at this time in Mathlib.

Under slightly stronger assumptions, the hull can be described as the union over r โ€ข s, for r the scalars with โ€–rโ€– โ‰ค 1; this is balancedHull_eq_iUnion. Likewise, the core can be characterized as an intersection, this is balancedCore_eq_iInter.

References #

Tags #

balanced

def balancedCore (๐•œ : Type u_1) {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] (s : Set E) :
Set E

The largest balanced subset of s.

Equations
Instances For
    @[deprecated "Use balancedCore directly instead" (since := "2026-09-16")]
    def balancedCoreAux (๐•œ : Type u_1) {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] (s : Set E) :
    Set E

    Helper definition to prove balanced_core_eq_iInter

    Equations
    Instances For
      def balancedHull (๐•œ : Type u_1) {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] :

      The smallest balanced superset of s.

      Equations
      Instances For
        theorem balancedCore_subset {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] (s : Set E) :
        balancedCore ๐•œ s โІ s
        theorem balancedCore.balanced {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] (s : Set E) :
        Balanced ๐•œ (balancedCore ๐•œ s)
        @[deprecated balancedCore.balanced (since := "2026-09-08")]
        theorem balancedCore_balanced {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] (s : Set E) :
        Balanced ๐•œ (balancedCore ๐•œ s)

        Alias of balancedCore.balanced.

        theorem Balanced.subset_balancedCore_of_subset {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] {s t : Set E} (hs : Balanced ๐•œ s) (h : s โІ t) :
        s โІ balancedCore ๐•œ t

        The balanced core of t is maximal in the sense that it contains any balanced subset s of t.

        theorem balancedCore_mono {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] {s t : Set E} (hst : s โІ t) :
        balancedCore ๐•œ s โІ balancedCore ๐•œ t
        theorem balancedCore_empty {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] :
        theorem mem_balancedCore_iff {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] {s : Set E} {x : E} :
        x โˆˆ balancedCore ๐•œ s โ†” โˆƒ (t : Set E), Balanced ๐•œ t โˆง t โІ s โˆง x โˆˆ t
        @[deprecated "Use mem_balancedCore_iff directly" (since := "2026-09-16")]
        theorem mem_balancedCoreAux_iff {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] {s : Set E} {x : E} :
        x โˆˆ balancedCoreAux ๐•œ s โ†” โˆ€ (r : ๐•œ), 1 โ‰ค โ€–rโ€– โ†’ x โˆˆ r โ€ข s
        theorem smul_balancedCore_subset {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] (s : Set E) {a : ๐•œ} (ha : โ€–aโ€– โ‰ค 1) :
        a โ€ข balancedCore ๐•œ s โІ balancedCore ๐•œ s
        theorem Balanced.balancedCore_eq {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] {s : Set E} (h : Balanced ๐•œ s) :
        balancedCore ๐•œ s = s
        theorem balancedHull.balanced {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] (s : Set E) :
        Balanced ๐•œ ((balancedHull ๐•œ) s)
        theorem subset_balancedHull (๐•œ : Type u_1) {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] {s : Set E} :
        s โІ (balancedHull ๐•œ) s
        theorem Balanced.balancedHull_subset_of_subset {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] {s t : Set E} (ht : Balanced ๐•œ t) (h : s โІ t) :
        (balancedHull ๐•œ) s โІ t

        The balanced hull of s is minimal in the sense that it is contained in any balanced superset t of s.

        theorem balancedHull_mono {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [SMul ๐•œ E] {s t : Set E} (hst : s โІ t) :
        (balancedHull ๐•œ) s โІ (balancedHull ๐•œ) t
        theorem balancedCore_zero_mem {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s : Set E} (hs : 0 โˆˆ s) :
        0 โˆˆ balancedCore ๐•œ s
        theorem balancedCore_nonempty_iff {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s : Set E} :
        theorem Balanced.zero_mem {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s : Set E} (hs : Balanced ๐•œ s) (hs_nonempty : s.Nonempty) :
        theorem balancedHull_eq_iUnion {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] [NormOneClass ๐•œ] (s : Set E) :
        (balancedHull ๐•œ) s = โ‹ƒ (r : ๐•œ), โ‹ƒ (_ : โ€–rโ€– โ‰ค 1), r โ€ข s

        The balanced hull of s is the union of the sets r โ€ข s, for r a scalar with โ€–rโ€– โ‰ค 1.

        theorem mem_balancedHull_iff {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s : Set E} {x : E} [NormOneClass ๐•œ] :
        x โˆˆ (balancedHull ๐•œ) s โ†” โˆƒ (r : ๐•œ), โ€–rโ€– โ‰ค 1 โˆง x โˆˆ r โ€ข s
        theorem balancedHull_add_subset {๐•œ : Type u_1} {E : Type u_2} [SeminormedRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s t : Set E} :
        (balancedHull ๐•œ) (s + t) โІ (balancedHull ๐•œ) s + (balancedHull ๐•œ) t
        @[deprecated "Use balancedCore_empty directly" (since := "2026-09-16")]
        theorem balancedCoreAux_empty {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] :
        @[deprecated "Use balancedCore_subset directly" (since := "2026-09-16")]
        theorem balancedCoreAux_subset {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] (s : Set E) :
        balancedCoreAux ๐•œ s โІ s
        @[deprecated "Use balancedCore.balanced directly" (since := "2026-09-16")]
        theorem balancedCoreAux_balanced {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s : Set E} (h0 : 0 โˆˆ balancedCoreAux ๐•œ s) :
        Balanced ๐•œ (balancedCoreAux ๐•œ s)
        @[deprecated "Use Balanced.subset_balancedCore_of_subset directly" (since := "2026-09-16")]
        theorem balancedCoreAux_maximal {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s t : Set E} (h : t โІ s) (ht : Balanced ๐•œ t) :
        t โІ balancedCoreAux ๐•œ s
        @[deprecated "Use balancedCore directly instead of balancedCoreAux" (since := "2026-09-16")]
        theorem balancedCore_subset_balancedCoreAux {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s : Set E} :
        balancedCore ๐•œ s โІ balancedCoreAux ๐•œ s
        theorem iInter_smul_subset {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] (s : Set E) :
        โ‹‚ (r : ๐•œ), โ‹‚ (_ : 1 โ‰ค โ€–rโ€–), r โ€ข s โІ s
        theorem Balanced.subset_iInter_smul {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s t : Set E} (ht : Balanced ๐•œ t) (h : t โІ s) :
        t โІ โ‹‚ (r : ๐•œ), โ‹‚ (_ : 1 โ‰ค โ€–rโ€–), r โ€ข s

        Any balanced subset of s is contained in โ‹‚ (r : ๐•œ) (_ : 1 โ‰ค โ€–rโ€–), r โ€ข s.

        theorem balanced_iInter_smul {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s : Set E} (hs : 0 โˆˆ s) :
        Balanced ๐•œ (โ‹‚ (r : ๐•œ), โ‹‚ (_ : 1 โ‰ค โ€–rโ€–), r โ€ข s)

        If s contains the origin, then โ‹‚ (r : ๐•œ) (_ : 1 โ‰ค โ€–rโ€–), r โ€ข s is balanced; by balancedCore_eq_iInter it is then the balanced core of s.

        theorem balancedCore_eq_iInter {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s : Set E} (hs : 0 โˆˆ s) :
        balancedCore ๐•œ s = โ‹‚ (r : ๐•œ), โ‹‚ (_ : 1 โ‰ค โ€–rโ€–), r โ€ข s
        theorem subset_balancedCore {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] {s t : Set E} (ht : 0 โˆˆ t) (hst : โˆ€ (a : ๐•œ), โ€–aโ€– โ‰ค 1 โ†’ a โ€ข s โІ t) :
        s โІ balancedCore ๐•œ t

        Topological properties #

        theorem IsOpen.balancedHull {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : IsOpen s) (hzero : 0 โˆˆ s) :
        IsOpen ((balancedHull ๐•œ) s)
        theorem IsClosed.balancedCore {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {U : Set E} [ContinuousSMul ๐•œ E] (hU : IsClosed U) :
        IsClosed (balancedCore ๐•œ U)
        theorem balancedCore_mem_nhds_zero {๐•œ : Type u_1} {E : Type u_2} [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {U : Set E} [ContinuousSMul ๐•œ E] [(nhdsWithin 0 {0}แถœ).NeBot] (hU : U โˆˆ nhds 0) :
        balancedCore ๐•œ U โˆˆ nhds 0
        theorem nhds_basis_balanced (๐•œ : Type u_1) (E : Type u_2) [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [ContinuousSMul ๐•œ E] [(nhdsWithin 0 {0}แถœ).NeBot] :
        (nhds 0).HasBasis (fun (s : Set E) => s โˆˆ nhds 0 โˆง Balanced ๐•œ s) id
        theorem nhds_basis_open_balanced (๐•œ : Type u_1) (E : Type u_2) [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [ContinuousSMul ๐•œ E] [(nhdsWithin 0 {0}แถœ).NeBot] :
        (nhds 0).HasBasis (fun (s : Set E) => s โˆˆ nhds 0 โˆง IsOpen s โˆง Balanced ๐•œ s) id

        The open balanced sets form a basis of the neighborhood filter of the origin: the balanced hull of an open neighborhood of 0 is again open.

        theorem nhds_basis_closed_balanced (๐•œ : Type u_1) (E : Type u_2) [NormedDivisionRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [ContinuousSMul ๐•œ E] [(nhdsWithin 0 {0}แถœ).NeBot] [RegularSpace E] :
        (nhds 0).HasBasis (fun (s : Set E) => s โˆˆ nhds 0 โˆง IsClosed s โˆง Balanced ๐•œ s) id

        The closed balanced sets form a basis of the neighborhood filter of the origin: the closure of a balanced neighborhood of 0 is again balanced.