Documentation

Mathlib.Analysis.Convex.EGauge

The Minkowski functional, normed field version #

In this file we define (egauge π•œ s Β·) to be the Minkowski functional (gauge) of the set s in a topological vector space E over a normed field π•œ, as a function E β†’ ℝβ‰₯0∞.

It is defined as the infimum of the norms of c : π•œ such that x ∈ c β€’ s. In particular, for π•œ = ℝβ‰₯0 this definition gives an ℝβ‰₯0∞-valued version of gauge defined in Mathlib/Analysis/Convex/Gauge.lean.

This definition can be used to generalize the notion of FrΓ©chet derivative to maps between topological vector spaces without norms.

Currently, we can't reuse results about egauge for gauge, because we lack a theory of normed semifields.

noncomputable def egauge (π•œ : Type u_1) [NNNorm π•œ] {E : Type u_2} [SMul π•œ E] (s : Set E) (x : E) :

The Minkowski functional for vector spaces over normed fields. Given a set s in a vector space over a normed field π•œ, egauge s is the functional which sends x : E to the infimum of β€–cβ€–β‚Š over c such that x belongs to s scaled by c.

The definition only requires π•œ to have a NNNorm instance and (Β· β€’ Β·) : π•œ β†’ E β†’ E to be defined. This way the definition applies, e.g., to π•œ = ℝβ‰₯0. For π•œ = ℝβ‰₯0, the function is equal (up to conversion to ℝ) to the usual Minkowski functional defined in gauge.

Equations
Instances For
    theorem egauge_anti (π•œ : Type u_1) [NNNorm π•œ] {E : Type u_2} [SMul π•œ E] {s t : Set E} (h : s βŠ† t) (x : E) :
    egauge π•œ t x ≀ egauge π•œ s x
    @[simp]
    theorem egauge_empty (π•œ : Type u_1) [NNNorm π•œ] {E : Type u_2} [SMul π•œ E] (x : E) :
    egauge π•œ βˆ… x = ⊀
    theorem egauge_le_of_mem_smul {π•œ : Type u_1} [NNNorm π•œ] {E : Type u_2} [SMul π•œ E] {c : π•œ} {s : Set E} {x : E} (h : x ∈ c β€’ s) :
    egauge π•œ s x ≀ ↑‖cβ€–β‚Š
    theorem le_egauge_iff {π•œ : Type u_1} [NNNorm π•œ] {E : Type u_2} [SMul π•œ E] {s : Set E} {x : E} {r : ENNReal} :
    r ≀ egauge π•œ s x ↔ βˆ€ (c : π•œ), x ∈ c β€’ s β†’ r ≀ ↑‖cβ€–β‚Š
    theorem egauge_eq_top {π•œ : Type u_1} [NNNorm π•œ] {E : Type u_2} [SMul π•œ E] {s : Set E} {x : E} :
    egauge π•œ s x = ⊀ ↔ βˆ€ (c : π•œ), x βˆ‰ c β€’ s
    theorem egauge_lt_iff {π•œ : Type u_1} [NNNorm π•œ] {E : Type u_2} [SMul π•œ E] {s : Set E} {x : E} {r : ENNReal} :
    egauge π•œ s x < r ↔ βˆƒ (c : π•œ), x ∈ c β€’ s ∧ ↑‖cβ€–β‚Š < r
    @[simp]
    theorem egauge_zero_left_eq_top (π•œ : Type u_1) [NNNorm π•œ] [Nonempty π•œ] {E : Type u_2} [Zero E] [SMulZeroClass π•œ E] {x : E} :
    egauge π•œ 0 x = ⊀ ↔ x β‰  0
    @[simp]
    theorem egauge_zero_left (π•œ : Type u_1) [NNNorm π•œ] [Nonempty π•œ] {E : Type u_2} [Zero E] [SMulZeroClass π•œ E] {x : E} :
    x β‰  0 β†’ egauge π•œ 0 x = ⊀

    Alias of the reverse direction of egauge_zero_left_eq_top.

    theorem egauge_le_of_smul_mem_of_ne {π•œ : Type u_1} [NormedDivisionRing π•œ] {E : Type u_2} [AddCommGroup E] [Module π•œ E] {c : π•œ} {s : Set E} {x : E} (h : c β€’ x ∈ s) (hc : c β‰  0) :

    If c β€’ x ∈ s and c β‰  0, then egauge π•œ s x is at most `((β€–cβ€–β‚Šβ»ΒΉ : ℝβ‰₯0) : ℝβ‰₯0∞).

    See also egauge_le_of_smul_mem.

    theorem egauge_le_of_smul_mem {π•œ : Type u_1} [NormedDivisionRing π•œ] {E : Type u_2} [AddCommGroup E] [Module π•œ E] {c : π•œ} {s : Set E} {x : E} (h : c β€’ x ∈ s) :

    If c β€’ x ∈ s, then egauge π•œ s x is at most `(β€–cβ€–β‚Š : ℝβ‰₯0∞)⁻¹.

    See also egauge_le_of_smul_mem_of_ne.

    theorem mem_of_egauge_lt_one {π•œ : Type u_1} [NormedDivisionRing π•œ] {E : Type u_2} [AddCommGroup E] [Module π•œ E] {s : Set E} {x : E} (hs : Balanced π•œ s) (hx : egauge π•œ s x < 1) :
    x ∈ s
    theorem egauge_eq_zero_iff {π•œ : Type u_1} [NormedDivisionRing π•œ] {E : Type u_2} [AddCommGroup E] [Module π•œ E] {s : Set E} {x : E} :
    egauge π•œ s x = 0 ↔ βˆƒαΆ  (c : π•œ) in nhds 0, x ∈ c β€’ s
    @[simp]
    theorem egauge_zero_right (π•œ : Type u_1) [NormedDivisionRing π•œ] {E : Type u_2} [AddCommGroup E] [Module π•œ E] {s : Set E} (hs : s.Nonempty) :
    egauge π•œ s 0 = 0
    theorem egauge_zero_zero (π•œ : Type u_1) [NormedDivisionRing π•œ] {E : Type u_2} [AddCommGroup E] [Module π•œ E] :
    egauge π•œ 0 0 = 0
    theorem egauge_le_one (π•œ : Type u_1) [NormedDivisionRing π•œ] {E : Type u_2} [AddCommGroup E] [Module π•œ E] {s : Set E} {x : E} (h : x ∈ s) :
    egauge π•œ s x ≀ 1
    theorem le_egauge_smul_left {π•œ : Type u_1} [NormedDivisionRing π•œ] {E : Type u_2} [AddCommGroup E] [Module π•œ E] (c : π•œ) (s : Set E) (x : E) :
    egauge π•œ s x / ↑‖cβ€–β‚Š ≀ egauge π•œ (c β€’ s) x
    theorem egauge_smul_left {π•œ : Type u_1} [NormedDivisionRing π•œ] {E : Type u_2} [AddCommGroup E] [Module π•œ E] {c : π•œ} (hc : c β‰  0) (s : Set E) (x : E) :
    egauge π•œ (c β€’ s) x = egauge π•œ s x / ↑‖cβ€–β‚Š
    theorem le_egauge_smul_right {π•œ : Type u_1} [NormedDivisionRing π•œ] {E : Type u_2} [AddCommGroup E] [Module π•œ E] (c : π•œ) (s : Set E) (x : E) :
    ↑‖cβ€–β‚Š * egauge π•œ s x ≀ egauge π•œ s (c β€’ x)
    theorem egauge_smul_right {π•œ : Type u_1} [NormedDivisionRing π•œ] {E : Type u_2} [AddCommGroup E] [Module π•œ E] {c : π•œ} {s : Set E} (h : c = 0 β†’ s.Nonempty) (x : E) :
    egauge π•œ s (c β€’ x) = ↑‖cβ€–β‚Š * egauge π•œ s x
    theorem div_le_egauge_closedBall (π•œ : Type u_1) [NormedField π•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace π•œ E] (r : NNReal) (x : E) :
    ↑‖xβ€–β‚Š / ↑r ≀ egauge π•œ (Metric.closedBall 0 ↑r) x
    theorem le_egauge_closedBall_one (π•œ : Type u_1) [NormedField π•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace π•œ E] (x : E) :
    theorem div_le_egauge_ball (π•œ : Type u_1) [NormedField π•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace π•œ E] (r : NNReal) (x : E) :
    ↑‖xβ€–β‚Š / ↑r ≀ egauge π•œ (Metric.ball 0 ↑r) x
    theorem le_egauge_ball_one (π•œ : Type u_1) [NormedField π•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace π•œ E] (x : E) :
    theorem egauge_ball_le_of_one_lt_norm {π•œ : Type u_1} [NormedField π•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace π•œ E] {c : π•œ} {x : E} {r : NNReal} (hc : 1 < β€–cβ€–) (hβ‚€ : r β‰  0 ∨ β€–xβ€– β‰  0) :
    egauge π•œ (Metric.ball 0 ↑r) x ≀ ↑‖cβ€–β‚Š * ↑‖xβ€–β‚Š / ↑r
    theorem egauge_ball_one_le_of_one_lt_norm {π•œ : Type u_1} [NormedField π•œ] {E : Type u_2} [SeminormedAddCommGroup E] [NormedSpace π•œ E] {c : π•œ} (hc : 1 < β€–cβ€–) (x : E) :