Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chapters.Chap02.section07_part1

def LowerSemicontinuousAtSeq {n : } (S : Set (EuclideanSpace (Fin n))) (f : SEReal) (x : S) :

Text 7.0.1: Let f : S → [-∞, +∞] with S ⊆ R^n and x ∈ S. Then f is lower semicontinuous at x if for every sequence x_i ⊂ S with x_i → x, f x ≤ liminf (fun i => f (x_i)). Equivalently, f x ≤ liminf_{y → x} f y.

Equations
Instances For
    theorem exists_seq_tendsto_of_frequently {n : } {S : Set (EuclideanSpace (Fin n))} {x : S} {s : Set S} (h : ∃ᶠ (z : S) in nhds x, z s) :
    ∃ (u : S), (∀ (n_1 : ), u n_1 s) Filter.Tendsto (fun (i : ) => (u i)) Filter.atTop (nhds x)

    A frequently occurring subset near x yields a sequence in that subset converging to x.

    Lower semicontinuity implies the sequential liminf inequality.

    Sequential lower semicontinuity implies filter lower semicontinuity.

    The sequential definition agrees with mathlib's LowerSemicontinuousAt on the subtype.

    def UpperSemicontinuousAtSeq {n : } (S : Set (EuclideanSpace (Fin n))) (f : SEReal) (x : S) :

    Text 7.0.2: With f, S, x as above, f is upper semicontinuous at x if for every sequence x_i ⊂ S with x_i → x, f x ≥ limsup (fun i => f (x_i)). Equivalently, f x ≥ limsup_{y → x} f y.

    Equations
    Instances For

      Upper semicontinuity implies the sequential limsup inequality.

      Sequential upper semicontinuity implies filter upper semicontinuity.

      The sequential definition agrees with mathlib's UpperSemicontinuousAt on the subtype.

      theorem upperSemicontinuousAtSeq_iff_limsup_nhds {n : } (S : Set (EuclideanSpace (Fin n))) (f : SEReal) (x : S) :
      UpperSemicontinuousAtSeq S f x f x Filter.limsup (fun (y : S) => f y) (nhds x)

      Lemma 7.0.3. Let S be a subset of R^n, f : S → [-infty, +infty], and x in S. The following are equivalent: (i) for every sequence x_i in S with x_i -> x, f x >= limsup (fun i => f (x_i)); (ii) f x >= limsup_{y -> x} f y, where limsup_{y -> x} f y := lim_{epsilon -> 0} sup { f y | y in S, |y - x| < epsilon }.

      theorem exists_real_not_le_of_ne_bot {x : EReal} (hx : x ) :
      ∃ (α : ), ¬x α

      A non-bottom EReal exceeds some real number.

      theorem isClosed_sublevel_bot_of_closed_sublevels {n : } {f : (Fin n)EReal} (h : ∀ (α : ), IsClosed {x : Fin n | f x α}) :
      IsClosed {x : Fin n | f x }

      Real sublevel sets control the bottom sublevel set.

      theorem lowerSemicontinuous_iff_closed_sublevel {n : } (f : (Fin n)EReal) :
      LowerSemicontinuous f ∀ (α : ), IsClosed {x : Fin n | f x α}

      Lower semicontinuity is equivalent to closed real sublevel sets.

      theorem closed_sublevel_of_closed_epigraph {n : } {f : (Fin n)EReal} (h : IsClosed (epigraph Set.univ f)) (α : ) :
      IsClosed {x : Fin n | f x α}

      Closedness of the epigraph implies closedness of every real sublevel set.

      theorem closed_epigraph_of_closed_sublevel {n : } {f : (Fin n)EReal} (h : ∀ (α : ), IsClosed {x : Fin n | f x α}) :

      Closed real sublevel sets imply closedness of the epigraph.

      theorem lowerSemicontinuous_iff_closed_sublevel_iff_closed_epigraph {n : } (f : (Fin n)EReal) :
      (LowerSemicontinuous f ∀ (α : ), IsClosed {x : Fin n | f x α}) ((∀ (α : ), IsClosed {x : Fin n | f x α}) IsClosed (epigraph Set.univ f))

      Theorem 7.1. Let f : ℝ^n → [-∞, +∞]. The following are equivalent: (a) f is lower semicontinuous on ℝ^n; (b) {x | f x ≤ α} is closed for every α ∈ ℝ; (c) the epigraph of f is closed in ℝ^{n+1}.

      theorem lscHull_candidate_lsc {n : } (f : (Fin n)EReal) :
      LowerSemicontinuous fun (x : Fin n) => ⨆ (h : { h : (Fin n)EReal // LowerSemicontinuous h h f }), h x

      Text 7.0.4: Given any function f on ℝ^n, there exists a greatest lower semicontinuous function majorized by f; this function is called the lower semicontinuous hull of f. The pointwise supremum of lower semicontinuous minorants of f is lower semicontinuous.

      theorem lscHull_candidate_le {n : } (f : (Fin n)EReal) :
      (fun (x : Fin n) => ⨆ (h : { h : (Fin n)EReal // LowerSemicontinuous h h f }), h x) f

      The pointwise supremum of lower semicontinuous minorants of f lies below f.

      theorem lscHull_candidate_max {n : } {f h : (Fin n)EReal} (hh : LowerSemicontinuous h) (hle : h f) :
      h fun (x : Fin n) => ⨆ (h' : { h : (Fin n)EReal // LowerSemicontinuous h h f }), h' x

      Any lower semicontinuous h ≤ f is bounded above by the candidate hull.

      theorem exists_lowerSemicontinuousHull {n : } (f : (Fin n)EReal) :
      ∃ (g : (Fin n)EReal), LowerSemicontinuous g g f ∀ (h : (Fin n)EReal), LowerSemicontinuous hh fh g
      noncomputable def lowerSemicontinuousHull {n : } (f : (Fin n)EReal) :
      (Fin n)EReal

      Text 7.0.4: The lower semicontinuous hull of f.

      Equations
      Instances For
        noncomputable def convexFunctionClosure {n : } (f : (Fin n)EReal) :
        (Fin n)EReal

        Text 7.0.5: The closure of a convex function f is the lower semicontinuous hull when f is never -∞, whereas it is the constant function -∞ when f is an improper convex function with f x = -∞ for some x.

        Equations
        Instances For
          def ClosedConvexFunction {n : } (f : (Fin n)EReal) :

          Text 7.0.6: A convex function is called closed if it is lower semicontinuous on ℝ^n.

          Equations
          Instances For

            Text 7.0.6: A proper convex function is closed iff it is lower semicontinuous.

            The constant function is closed and improper.

            The constant function is closed and improper.

            theorem improperConvexFunctionOn_cases_epigraph_empty_or_bot {n : } {S : Set (Fin n)} {f : (Fin n)EReal} (h : ImproperConvexFunctionOn S f) :
            ¬(epigraph S f).Nonempty xS, f x =

            An improper convex function has empty epigraph or attains on the set.

            theorem epigraph_empty_imp_forall_top {n : } {S : Set (Fin n)} {f : (Fin n)EReal} (h : ¬(epigraph S f).Nonempty) (x : Fin n) :
            x Sf x =

            If the epigraph is empty, then the function is identically on S.

            theorem convexFunctionClosure_eq_bot_of_exists_bot {n : } {f : (Fin n)EReal} (h : ∃ (x : Fin n), f x = ) :
            convexFunctionClosure f = fun (x : Fin n) =>

            If f attains , then its closure is the constant function.

            theorem convexFunctionClosure_const_top {n : } :
            (convexFunctionClosure fun (x : Fin n) => ) = fun (x : Fin n) =>

            The closure of the constant function is itself.

            theorem closed_improperConvexFunction_eq_top_or_bot {n : } {f : (Fin n)EReal} :
            convexFunctionClosure f = f ImproperConvexFunctionOn Set.univ f (f = fun (x : Fin n) => ) f = fun (x : Fin n) =>
            theorem convexFunctionOn_inv_pos_aux :
            ConvexFunctionOn Set.univ fun (x : Fin 1) => if 0 < x 0 then ↑(1 / x 0) else

            Convexity of the reciprocal on (0, ∞) extended by outside.

            theorem lowerSemicontinuous_inv_pos_aux :
            LowerSemicontinuous fun (x : Fin 1) => if 0 < x 0 then ↑(1 / x 0) else

            Lower semicontinuity of the reciprocal on (0, ∞) extended by outside.

            theorem effectiveDomain_inv_pos_eq :
            (effectiveDomain Set.univ fun (x : Fin 1) => if 0 < x 0 then ↑(1 / x 0) else ) = {x : Fin 1 | 0 < x 0}

            The effective domain of the reciprocal example is the positive half-line.

            The positive half-line in Fin 1 → Real is not closed.

            Text 7.0.8: It can happen that a closed proper convex function has a domain that is not closed.

            theorem closedConvexFunction_inv_pos :
            ClosedConvexFunction fun (x : Fin 1) => if 0 < x 0 then ↑(1 / x 0) else

            Text 7.0.9: For example, the function f(x) = 1/x for x > 0 and f(x) = +∞ for x ≤ 0 is closed.

            If g is lower semicontinuous and g ≤ f, then closure (epi f) ⊆ epi g.

            theorem lowerSemicontinuous_le_liminf_of_le {n : } {f g : (Fin n)EReal} (hg : LowerSemicontinuous g) (hle : g f) (x : Fin n) :
            g x Filter.liminf (fun (y : Fin n) => f y) (nhds x)

            A lower semicontinuous minorant lies below the liminf of its majorant.

            theorem closure_epigraph_upward {n : } {f : (Fin n)EReal} {x : Fin n} {μ ν : } (hμν : μ ν) :

            The closure of an epigraph is upward closed in the second coordinate.

            noncomputable def epigraphClosureInf {n : } (f : (Fin n)EReal) :
            (Fin n)EReal

            The function obtained by taking the infimum of each vertical slice of the epigraph closure.

            Equations
            Instances For

              The closure of an epigraph is the epigraph of epigraphClosureInf.

              theorem liminf_le_of_mem_closure_epigraph {n : } {f : (Fin n)EReal} {x : Fin n} {μ : } (hmem : (x, μ) closure (epigraph Set.univ f)) :
              Filter.liminf (fun (y : Fin n) => f y) (nhds x) μ

              Points in the closure of the epigraph bound the liminf from above.

              theorem epigraph_convexFunctionClosure_eq_closure_epigraph {n : } (f : (Fin n)EReal) (hbot : ∀ (x : Fin n), f x ) :

              Text 7.0.10: The epigraph of the closure of f is the closure of the epigraph of f. Consequently, (convexFunctionClosure f)(x) = liminf_{y → x} f(y).

              theorem liminf_le_mem_iInter_closure_sublevel {n : } {f : (Fin n)EReal} {α : } {x : Fin n} :
              Filter.liminf (fun (y : Fin n) => f y) (nhds x) αx ⋂ (μ : { μ : // μ > α }), closure {y : Fin n | f y μ}

              A liminf bound yields membership in all closed real sublevel sets above α.

              theorem liminf_le_of_mem_iInter_closure_sublevel {n : } {f : (Fin n)EReal} {α : } {x : Fin n} :
              x ⋂ (μ : { μ : // μ > α }), closure {y : Fin n | f y μ}Filter.liminf (fun (y : Fin n) => f y) (nhds x) α

              Membership in all closed real sublevel sets above α forces the liminf bound.