Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chapters.Chap04.section17_part9

theorem supremumInnerSub_eq_fenchelConjugate_fExt {n : } {S : Set (Fin n)} {f : (Fin n)} :
have fExt := fun (x : Fin n) => (f x) + indicatorFunction S x; ∀ (z : Fin n), supremumInnerSub S (fun (x : S) => (f x)) z = fenchelConjugate n fExt z

The restricted supremum supremumInnerSub matches the Fenchel conjugate of the +∞ extension.

theorem supremumInnerSub_ne_top_and_ne_bot_of_continuousOn_closed_bounded {n : } {S : Set (Fin n)} (hS_ne : S.Nonempty) (hS_closed : IsClosed S) (hS_bdd : Bornology.IsBounded S) {f : (Fin n)} (hf : ContinuousOn f S) (z : Fin n) :
supremumInnerSub S (fun (x : S) => (f x)) z supremumInnerSub S (fun (x : S) => (f x)) z

Under the compactness hypotheses, supremumInnerSub is finite everywhere.

theorem clConv_mono {n : } {f₁ f₂ : (Fin n)EReal} (h : f₁ f₂) :
clConv n f₁ clConv n f₂

clConv is monotone with respect to pointwise order.

theorem clConv_fExt_eq_convexHullFunction_fExt_of_closedConvexHull {n : } {S : Set (Fin n)} (hS_ne : S.Nonempty) (hS_closed : IsClosed S) (hS_bdd : Bornology.IsBounded S) {f : (Fin n)} (hf : ContinuousOn f S) :
have fExt := fun (x : Fin n) => (f x) + indicatorFunction S x; clConv n fExt = convexHullFunction fExt

For compact S and continuous f, the biconjugate envelope coincides with the convex hull function of the +∞ extension.

theorem supremumInnerSub_finite_and_fenchelConjugate_eq_convexHullFunction_of_continuousOn_closed_bounded {n : } {S : Set (Fin n)} (hS_ne : S.Nonempty) (hS_closed : IsClosed S) (hS_bdd : Bornology.IsBounded S) {f : (Fin n)} (hf : ContinuousOn f S) :
have fExt := fun (x : Fin n) => (f x) + indicatorFunction S x; have h := fun (z : Fin n) => supremumInnerSub S (fun (x : S) => (f x)) z; (∀ (z : Fin n), h z h z ) fenchelConjugate n h = convexHullFunction fExt

Proposition 17.2.3 (Finiteness of h and identification of its conjugate), LaTeX label prop:h_conj.

Assume the hypotheses of Corollary 17.2.1: S is a nonempty closed bounded subset of ℝⁿ, f is continuous on S, and we extend f by f(x) = +∞ outside S.

Then the function h from Definition 17.2.2 is finite everywhere (hence continuous everywhere). Moreover, using Theorem 12.2, the conjugate h^* equals conv f (here: convexHullFunction applied to the extension).

structure HalfspaceRep (n : ) :

Definition 17.2.4 (Half-space representation), LaTeX label def:halfspace.

A closed half-space H ⊆ ℝⁿ can be represented by a pair (x^*, μ^*) ∈ ℝ^{n+1} with x^* ≠ 0, as

H = {x ∈ ℝⁿ | ⟪x, x^*⟫ ≤ μ^*}.

In Fin n → ℝ, the inner product ⟪x, x^*⟫ is x ⬝ᵥ x^*.

Instances For
    def HalfspaceRep.set {n : } (r : HalfspaceRep n) :
    Set (Fin n)

    The closed half-space represented by r.

    Equations
    Instances For
      def intersectionOfHalfspaces {n : } (Sstar : Set ((Fin n) × )) :
      Set (Fin n)

      Definition 17.2.5 (Intersection of half-spaces), LaTeX label def:C.

      Let S* ⊆ ℝ^{n+1} be nonempty. Define the closed convex set

      C = {x ∈ ℝⁿ | ∀ (x*, μ*) ∈ S*, ⟪x, x*⟫ ≤ μ*}.

      In this formalization, we model ℝⁿ as Fin n → ℝ and ℝ^{n+1} as (Fin n → ℝ) × ℝ. The inner product ⟪x, x*⟫ is x ⬝ᵥ x*.

      Equations
      Instances For

        Definition 17.2.5 (Intersection of half-spaces), LaTeX label def:C: the set intersectionOfHalfspaces S* is convex.

        Definition 17.2.5 (Intersection of half-spaces), LaTeX label def:C: the set intersectionOfHalfspaces S* is closed.

        theorem halfspaceRep_set_superset_iff_forall_dot_le {n : } (C : Set (Fin n)) (r : HalfspaceRep n) :
        r.set C xC, x ⬝ᵥ r.xStar r.muStar

        Containment in a half-space is equivalent to a pointwise dot-product bound.

        theorem dotProduct_comm_bridge_for_supportFunction {n : } (xStar x : Fin n) :
        xStar ⬝ᵥ x = x ⬝ᵥ xStar

        Swap the dot-product order to match the ⬝ᵥ notation.

        theorem supportFunction_le_iff_forall_dot_le {n : } (C : Set (Fin n)) (r : HalfspaceRep n) (hC : C.Nonempty) (hbd : BddAbove {t : | yC, t = r.xStar ⬝ᵥ y}) :

        A support-function bound is equivalent to a pointwise dot-product bound.

        theorem halfspaceRep_set_superset_iff_supportFunction_le {n : } (C : Set (Fin n)) (r : HalfspaceRep n) (hC : C.Nonempty) (hbd : BddAbove {t : | yC, t = r.xStar ⬝ᵥ y}) :

        Lemma 17.2.6 (Containment characterized by the support function), LaTeX label lem:containment_support.

        Let C ⊆ ℝⁿ and let (x^*, μ^*) ∈ ℝ^{n+1} with x^* ≠ 0. Set H = {x ∈ ℝⁿ | ⟪x, x^*⟫ ≤ μ^*}. Then H ⊇ C if and only if μ^* ≥ sup_{x ∈ C} ⟪x, x^*⟫ =: supp(x^*, C).

        In this formalization, H is r.set for r : HalfspaceRep n, and the support function is supportFunction C r.xStar (up to symmetry of the dot product).

        def verticalVector (n : ) :
        (Fin n) ×

        Definition 17.2.7 (The cone K and the function f generated by S*), LaTeX label def:Kf.

        Let S* ⊆ ℝ^{n+1} be nonempty and consider the “vertical” vector (0, 1) ∈ ℝ^{n+1}. Set D := S* ∪ {(0, 1)} and let K ⊆ ℝ^{n+1} be the convex cone generated by D. Define f : ℝⁿ → ℝ ∪ {+∞} by

        f(x*) = inf { μ* ∈ ℝ | (x*, μ*) ∈ K }.

        In this formalization, we model ℝⁿ as Fin n → ℝ and ℝ^{n+1} as (Fin n → ℝ) × ℝ, and we take the codomain ℝ ∪ {+∞} to be WithTop.

        Equations
        Instances For
          def adjoinVertical {n : } (Sstar : Set ((Fin n) × )) :
          Set ((Fin n) × )

          The set D := S* ∪ {(0, 1)} obtained by adjoining the vertical vector to S*.

          Equations
          Instances For
            def coneK {n : } (Sstar : Set ((Fin n) × )) :
            Set ((Fin n) × )

            The convex cone K generated by D = S* ∪ {(0, 1)} (as a subset of ℝ^{n+1}).

            Equations
            Instances For
              noncomputable def infMuInCone {n : } (Sstar : Set ((Fin n) × )) (xStar : Fin n) :

              The function f(x*) = inf {μ* | (x*, μ*) ∈ K} with values in ℝ ∪ {+∞}.

              Equations
              Instances For
                theorem infMuInCone_embed_ne_bot {n : } (Sstar : Set ((Fin n) × )) (xStar : Fin n) :
                (match infMuInCone Sstar xStar with | some μ => μ | none => )

                The infMuInCone-based embedding into EReal never hits .

                theorem epigraph_convexFunctionClosure_eq_closure_epigraph_of_infMuInCone {n : } (Sstar : Set ((Fin n) × )) :
                have f := fun (xStar : Fin n) => match infMuInCone Sstar xStar with | some μ => μ | none => ; epigraph Set.univ (convexFunctionClosure f) = closure (epigraph Set.univ f)

                The epigraph of the closure of infMuInCone equals the closure of its epigraph.

                The cone coneK is contained in the epigraph of the support function of C.

                theorem exists_mu_mem_coneK_lt_of_infMuInCone_lt {n : } (Sstar : Set ((Fin n) × )) (hC_ne : intersectionOfHalfspaces Sstar ) {xStar : Fin n} {a : } (h : infMuInCone Sstar xStar < a) :
                μ < a, (xStar, μ) coneK Sstar

                Approximate the infimum in infMuInCone by a point in coneK.

                theorem mem_coneK_add_vertical {n : } (Sstar : Set ((Fin n) × )) {xStar : Fin n} {μ t : } (hp : (xStar, μ) coneK Sstar) (ht : 0 t) :
                (xStar, μ + t) coneK Sstar

                Adding a nonnegative multiple of the vertical vector keeps points in coneK.

                theorem smul_mem_coneK {n : } (Sstar : Set ((Fin n) × )) {t : } (ht : 0 < t) {p : (Fin n) × } (hp : p coneK Sstar) :
                t p coneK Sstar

                Positive scaling preserves membership in coneK.

                theorem convex_coneK {n : } (Sstar : Set ((Fin n) × )) :
                Convex (coneK Sstar)

                The cone coneK is convex.

                theorem mem_epigraph_infMuInCone_imp_mem_closure_coneK {n : } (Sstar : Set ((Fin n) × )) (hC_ne : intersectionOfHalfspaces Sstar ) :
                have f := fun (xStar : Fin n) => match infMuInCone Sstar xStar with | some μ => μ | none => ; epigraph Set.univ f closure (coneK Sstar)

                Points in the epigraph of the infMuInCone embedding lie in the closure of coneK.

                theorem coneK_subset_epigraph_infMuInCone {n : } (Sstar : Set ((Fin n) × )) (hC_ne : intersectionOfHalfspaces Sstar ) :
                have f := fun (xStar : Fin n) => match infMuInCone Sstar xStar with | some μ => μ | none => ; coneK Sstar epigraph Set.univ f

                Points of coneK lie in the epigraph of the infMuInCone embedding.

                The closure of coneK lies in the epigraph of the support function of C.