Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chapters.Chap03.section13_part2

theorem section13_exists_affineMap_le_indicatorFunction_gt_of_not_mem_closure {n : } (C : Set (Fin n)) (hC : Convex C) (hCne : C.Nonempty) {x : Fin n} (hx : xclosure C) (μ : ) :
∃ (h : (Fin n) →ᵃ[] ), (∀ (y : Fin n), (h y) indicatorFunction C y) μ < (h x)

If x ∉ closure C and C is a nonempty convex set, then for any real μ there exists an affine map bounded above by indicatorFunction C whose value at x exceeds μ.

theorem section13_fenchelConjugate_deltaStar_eq_clConv_indicatorFunction {n : } (C : Set (Fin n)) (hCne : C.Nonempty) (hCbd : ∀ (xStar : Fin n), BddAbove ((fun (x : Fin n) => x ⬝ᵥ xStar) '' C)) :
(fenchelConjugate n fun (xStar : Fin n) => (deltaStar C xStar)) = clConv n (indicatorFunction C)

Under directional boundedness, the conjugate of the (Real-valued) support function is the closed convex envelope of the indicator function.

For a nonempty convex set C, the closed convex envelope of indicatorFunction C is the indicator function of closure C.

theorem fenchelConjugate_deltaStar_eq_clConv_indicatorFunction_eq_indicatorFunction_closure {n : } (C : Set (Fin n)) (hC : Convex C) (hCne : C.Nonempty) (hCbd : ∀ (xStar : Fin n), BddAbove ((fun (x : Fin n) => x ⬝ᵥ xStar) '' C)) :

Text 13.1.5: Let C ⊆ ℝ^n be a convex set and let δ(· | C) be its indicator function. Then

(δ^*(· | C))^* = cl δ(· | C) = δ(· | cl C).

In this development, cl δ(·|C) is represented by clConv n (indicatorFunction C).

noncomputable def supportFunctionEReal {n : } (C : Set (Fin n)) :
(Fin n)EReal

Auxiliary definition: the EReal-valued support function xStar ↦ sup_{x ∈ C} ⟪x, xStar⟫.

Equations
Instances For

    Text 13.1.4 (EReal version): the Fenchel conjugate of an indicator function is the EReal-valued support function.

    Auxiliary lemmas about scaling suprema in EReal.

    theorem section13_mul_mul_inv_cancel_pos_real {a : } (ha : 0 < a) (z : EReal) :
    a * (a⁻¹ * z) = z

    For a > 0, multiplication by (a : EReal) cancels with multiplication by (a⁻¹ : EReal).

    theorem section13_mul_inv_mul_cancel_pos_real {a : } (ha : 0 < a) (z : EReal) :
    a⁻¹ * (a * z) = z

    For a > 0, multiplication by (a⁻¹ : EReal) cancels with multiplication by (a : EReal).

    theorem section13_ereal_mul_iSup_of_pos {ι : Sort u_1} (a : ) (ha : 0 < a) (f : ιEReal) :
    a * iSup f = ⨆ (i : ι), a * f i

    Multiplying by (a : EReal) for a > 0 commutes with iSup.

    theorem section13_fenchelConjugate_smul_eq_rightScalarMultiple {n : } (f : (Fin n)EReal) (lam : ) (hlam : 0 < lam) :
    (fenchelConjugate n fun (x : Fin n) => lam * f x) = rightScalarMultiple (fenchelConjugate n f) lam

    The Fenchel conjugate of a positive scalar multiple is the corresponding right scalar multiple of the Fenchel conjugate.

    theorem section13_only_zero_top_iff_fenchelConjugate_posHom {n : } (f : (Fin n)EReal) (hf_closed : ClosedConvexFunction f) (hf_proper : ProperConvexFunctionOn Set.univ f) :
    (∀ (x : Fin n), f x = 0 f x = ) PositivelyHomogeneous (fenchelConjugate n f)

    A closed proper convex function is 0/-valued iff its Fenchel conjugate is positively homogeneous.

    theorem section13_eq_indicatorFunction_setOf_le_zero_of_only_zero_top {n : } (g : (Fin n)EReal) (hzeroTop : ∀ (x : Fin n), g x = 0 g x = ) :
    g = indicatorFunction {x : Fin n | g x 0}

    A 0/-valued function with no values is an indicator function of its 0-sublevel.

    Theorem 13.2: The indicator function and the support function of a closed convex set are conjugate to each other. The functions which are the support functions of non-empty convex sets are the closed proper convex functions which are positively homogeneous.

    Theorem 13.2 (characterization of support functions): an EReal-valued function on ℝ^n is a support function of a nonempty convex set iff it is closed, proper, convex, and positively homogeneous.

    theorem section13_setOf_forall_dotProduct_le_eq_setOf_fenchelConjugate_le_zero {n : } (f : (Fin n)EReal) :
    {xStar : Fin n | ∀ (x : Fin n), ↑(x ⬝ᵥ xStar) f x} = {xStar : Fin n | fenchelConjugate n f xStar 0}

    The set {xStar | ∀ x, ⟪x, xStar⟫ ≤ f x} is the 0-sublevel set of the Fenchel conjugate f*.

    theorem section13_fenchelConjugate_eq_top_of_exists_dotProduct_gt {n : } (f : (Fin n)EReal) (hpos : PositivelyHomogeneous f) (xStar : Fin n) (hx : ∃ (x : Fin n), f x < ↑(x ⬝ᵥ xStar)) :

    If there exists a strict supporting violation f x < ⟪x, xStar⟫, then f*(xStar) = ⊤.

    theorem section13_fenchelConjugate_eq_zero_of_forall_dotProduct_le {n : } (f : (Fin n)EReal) (hpos : PositivelyHomogeneous f) (hnotTop : ¬∀ (x : Fin n), f x = ) (xStar : Fin n) (hx : ∀ (x : Fin n), ↑(x ⬝ᵥ xStar) f x) :
    fenchelConjugate n f xStar = 0

    If all supporting inequalities ⟪x, xStar⟫ ≤ f x hold (and f is not identically ), then f*(xStar) = 0.

    theorem clConv_eq_supportFunctionEReal_setOf_forall_dotProduct_le {n : } (f : (Fin n)EReal) (hpos : PositivelyHomogeneous f) (_hconv : ConvexFunction f) (hnotTop : ¬∀ (x : Fin n), f x = ) :
    ∃ (C : Set (Fin n)), IsClosed C Convex C clConv n f = supportFunctionEReal C C = {xStar : Fin n | ∀ (x : Fin n), ↑(x ⬝ᵥ xStar) f x}

    Corollary 13.2.1. Let f be a positively homogeneous convex function which is not identically (+∞). Then cl f (here represented by clConv n f) is the support function of the closed convex set

    C = { xStar | ∀ x, ⟪x, xStar⟫ ≤ f x }.