Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chapters.Chap01.section05_part10

theorem convexFunctionOn_precomp_linearMap {n m : } (A : (Fin n) →ₗ[] Fin m) (g : (Fin m)EReal) :
ConvexFunctionOn Set.univ gConvexFunctionOn Set.univ fun (x : Fin n) => g (A x)

Precomposition with a linear map preserves convexity on Set.univ.

theorem convexFunctionOn_inf_fiber_linearMap {n m : } (A : (Fin n) →ₗ[] Fin m) (h : (Fin n)EReal) :
ConvexFunctionOn Set.univ hConvexFunctionOn Set.univ fun (y : Fin m) => sInf {z : EReal | ∃ (x : Fin n), A x = y z = h x}

Infimum over affine fibers of a linear map preserves convexity on Set.univ.

theorem convexFunctionOn_linearMap_precomp_and_inf {n m : } (A : (Fin n) →ₗ[] Fin m) :
(∀ (g : (Fin m)EReal), ConvexFunctionOn Set.univ gConvexFunctionOn Set.univ fun (x : Fin n) => g (A x)) ∀ (h : (Fin n)EReal), ConvexFunctionOn Set.univ hConvexFunctionOn Set.univ fun (y : Fin m) => sInf {z : EReal | ∃ (x : Fin n), A x = y z = h x}

Theorem 5.7: Let A be a linear transformation from R^n to R^m. Then, for each convex function g on R^m, the function gA defined by (gA)(x) = g(Ax) is convex on R^n. For each convex function h on R^n, the function Ah defined by (Ah)(y) = inf { h(x) | A x = y } is convex on R^m.

noncomputable def imageUnderLinearMap {n m : } (A : (Fin n) →ₗ[] Fin m) (h : (Fin n)EReal) :
(Fin m)EReal

Text 5.7.1: The function Ah in Theorem 5.7 is called the image of h under A.

Equations
Instances For
    def inverseImageUnderLinearMap {n m : } (A : (Fin n) →ₗ[] Fin m) (g : (Fin m)EReal) :
    (Fin n)EReal

    Text 5.7.1: The function gA in Theorem 5.7 is called the inverse image of g under A.

    Equations
    Instances For
      def projectionLinearMap {n m : } (hmn : m n) :
      (Fin n) →ₗ[] Fin m

      The coordinate projection onto the first m components as a linear map.

      Equations
      Instances For
        theorem projectionLinearMap_eq_iff {n m : } (hmn : m n) (x : Fin n) (y : Fin m) :
        (projectionLinearMap hmn) x = y ∀ (i : Fin m), x i, = y i

        Coordinate-wise characterization of the projection fiber equation.

        theorem convexFunctionOn_projection_inf {n m : } (hmn : m n) {h : (Fin n)EReal} (hh : ConvexFunctionOn Set.univ h) :
        ConvexFunctionOn Set.univ fun (y : Fin m) => sInf {z : EReal | ∃ (x : Fin n), (∀ (i : Fin m), x i, = y i) z = h x}

        Text 5.7.2: Let A be the projection x = (xi_1, ..., xi_m, xi_{m+1}, ..., xi_n) ↦ (xi_1, ..., xi_m). Then (Ah)(xi_1, ..., xi_m) = inf_{xi_{m+1}, ..., xi_n} h(xi_1, ..., xi_n). This is convex in y = (xi_1, ..., xi_m) when h is convex.

        theorem exists_eq_of_linearEquiv_fiber {n m : } (A : (Fin n) ≃ₗ[] Fin m) (h : (Fin n)EReal) (y : Fin m) (z : EReal) :
        (∃ (x : Fin n), A x = y z = h x) z = h (A.symm y)

        For a linear equivalence, the fiber over y is a singleton.

        Text 5.7.3: Let A be a linear transformation from R^n to R^m. When A is non-singular (so n = m and A^{-1} exists), for a convex function h on R^n, Ah = hA^{-1}.

        noncomputable def partialInfimalConvolutionZ {m p : } (f g : (Fin m) × (Fin p)EReal) :
        (Fin m) × (Fin p)EReal

        Text 5.7.4 (Partial infimal convolution): Let n = m + p and write x = (y, z) with y ∈ ℝ^m and z ∈ ℝ^p. For proper convex f, g : ℝ^m × ℝ^p → (-∞, +∞], the partial infimal convolution of f and g with respect to the z-variable is the function h(y, z) = inf_{u ∈ ℝ^p} { f(y, z - u) + g(y, u) }.

        Equations
        Instances For
          theorem rightScalarMultiple_one_eq {n : } {f : (Fin n)EReal} (hf : ConvexFunctionOn Set.univ f) (x : Fin n) :

          Right scalar multiple at 1 returns the original function.

          theorem exists_mu1_mu2_of_ge_sum {n : } {f1 f2 : (Fin n)EReal} (hf1 : ProperConvexFunctionOn Set.univ f1) (hf2 : ProperConvexFunctionOn Set.univ f2) {x : Fin n} {μ : EReal} (hle : f1 x + f2 x μ) :
          ∃ (μ1 : EReal) (μ2 : EReal), μ = μ1 + μ2 f1 x μ1 f2 x μ2

          Split a lower bound on f1 x + f2 x into two pieces.

          theorem mem_F_iff_ge_sum {n : } {f1 f2 : (Fin n)EReal} (hf1 : ProperConvexFunctionOn Set.univ f1) (hf2 : ProperConvexFunctionOn Set.univ f2) :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; ∃ (μ1 : EReal) (μ2 : EReal), μ = μ1 + μ2 (lam, x, μ1) K1 (lam, x, μ2) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; ∀ {x : Fin n} {μ : EReal}, (x, μ) F f1 x + f2 x μ

          Membership in F is equivalent to the sum inequality.

          theorem sInf_Ici_eq_self {a : EReal} :
          sInf {μ : EReal | a μ} = a

          The infimum of the upper set {μ | a ≤ μ} is a.

          theorem sum_properConvex_eq_inf_of_K {n : } {f1 f2 : (Fin n)EReal} (hf1 : ProperConvexFunctionOn Set.univ f1) (hf2 : ProperConvexFunctionOn Set.univ f2) :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; ∃ (μ1 : EReal) (μ2 : EReal), μ = μ1 + μ2 (lam, x, μ1) K1 (lam, x, μ2) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; have f := fun (x : Fin n) => sInf {μ : EReal | (x, μ) F}; f = fun (x : Fin n) => f1 x + f2 x

          Text 5.8.0.1: Let f1, f2 be proper convex functions on ℝ^n. Define K1 = { (λ, x, μ) | λ ≥ 0, μ ≥ (f1 λ)(x) } and K2 = { (λ, x, μ) | λ ≥ 0, μ ≥ (f2 λ)(x) }. Let K = { (λ, x, μ) | ∃ μ1 μ2, μ = μ1 + μ2, (λ, x, μ1) ∈ K1, (λ, x, μ2) ∈ K2 }, F = { (x, μ) | (1, x, μ) ∈ K }, and f x = inf { μ | (x, μ) ∈ F }. Then f = f1 + f2.

          theorem mem_F_of_exact_sum {n : } {f1 f2 : (Fin n)EReal} (hf1 : ProperConvexFunctionOn Set.univ f1) (hf2 : ProperConvexFunctionOn Set.univ f2) :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; ∃ (μ1 : EReal) (μ2 : EReal) (x1 : Fin n) (x2 : Fin n), μ = μ1 + μ2 x = x1 + x2 (lam, x1, μ1) K1 (lam, x2, μ2) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; ∀ {x x1 x2 : Fin n} {μ : EReal}, x1 + x2 = xμ = f1 x1 + f2 x2(x, μ) F

          Exact sums lie in F.

          theorem exists_sum_le_of_mem_F {n : } {f1 f2 : (Fin n)EReal} (hf1 : ProperConvexFunctionOn Set.univ f1) (hf2 : ProperConvexFunctionOn Set.univ f2) :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; ∃ (μ1 : EReal) (μ2 : EReal) (x1 : Fin n) (x2 : Fin n), μ = μ1 + μ2 x = x1 + x2 (lam, x1, μ1) K1 (lam, x2, μ2) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; ∀ {x : Fin n} {μ : EReal}, (x, μ) F∃ (x1 : Fin n) (x2 : Fin n), x1 + x2 = x f1 x1 + f2 x2 μ

          Membership in F yields a split with a lower bound on μ.

          theorem sInf_F_eq_sInf_infimal_pointwise {n : } {f1 f2 : (Fin n)EReal} (hf1 : ProperConvexFunctionOn Set.univ f1) (hf2 : ProperConvexFunctionOn Set.univ f2) :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; ∃ (μ1 : EReal) (μ2 : EReal) (x1 : Fin n) (x2 : Fin n), μ = μ1 + μ2 x = x1 + x2 (lam, x1, μ1) K1 (lam, x2, μ2) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; ∀ (x : Fin n), sInf {μ : EReal | (x, μ) F} = sInf {z : EReal | ∃ (x1 : Fin n) (x2 : Fin n), x1 + x2 = x z = f1 x1 + f2 x2}

          The sInf defining F matches the infimal convolution set pointwise.

          theorem infimalConvolution_eq_inf_of_K {n : } {f1 f2 : (Fin n)EReal} (hf1 : ProperConvexFunctionOn Set.univ f1) (hf2 : ProperConvexFunctionOn Set.univ f2) :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; ∃ (μ1 : EReal) (μ2 : EReal) (x1 : Fin n) (x2 : Fin n), μ = μ1 + μ2 x = x1 + x2 (lam, x1, μ1) K1 (lam, x2, μ2) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; have f := fun (x : Fin n) => sInf {μ : EReal | (x, μ) F}; f = infimalConvolution f1 f2

          Text 5.8.0.2: Let f1, f2 be proper convex functions on ℝ^n. Define K1 = { (λ, x, μ) | λ ≥ 0, μ ≥ (f1 λ)(x) } and K2 = { (λ, x, μ) | λ ≥ 0, μ ≥ (f2 λ)(x) }. Let K = { (λ, x, μ) | ∃ μ1 μ2 x1 x2, μ = μ1 + μ2, x = x1 + x2, (λ, x1, μ1) ∈ K1, (λ, x2, μ2) ∈ K2 }, F = { (x, μ) | (1, x, μ) ∈ K }, and f x = inf { μ | (x, μ) ∈ F }. Then f = f1 □ f2.

          theorem mem_F_iff_exists_pair {n : } {f1 f2 : (Fin n)EReal} :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; ∃ (lam1 : ) (lam2 : ), 0 lam1 0 lam2 ∃ (μ1 : EReal) (μ2 : EReal) (x1 : Fin n) (x2 : Fin n), lam = lam1 + lam2 μ = μ1 + μ2 x = x1 + x2 (lam1, x1, μ1) K1 (lam2, x2, μ2) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; ∀ {x : Fin n} {μ : EReal}, (x, μ) F ∃ (lam1 : ) (lam2 : ), 0 lam1 0 lam2 ∃ (μ1 : EReal) (μ2 : EReal) (x1 : Fin n) (x2 : Fin n), 1 = lam1 + lam2 μ = μ1 + μ2 x = x1 + x2 (0 lam1 rightScalarMultiple f1 lam1 x1 μ1) 0 lam2 rightScalarMultiple f2 lam2 x2 μ2

          Unpack membership in F for the pairwise convex hull construction.

          theorem exists_sum_le_of_mem_F_pair {n : } {f1 f2 : (Fin n)EReal} :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; ∃ (lam1 : ) (lam2 : ), 0 lam1 0 lam2 ∃ (μ1 : EReal) (μ2 : EReal) (x1 : Fin n) (x2 : Fin n), lam = lam1 + lam2 μ = μ1 + μ2 x = x1 + x2 (lam1, x1, μ1) K1 (lam2, x2, μ2) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; ∀ {x : Fin n} {μ : EReal}, (x, μ) F∃ (lam1 : ) (lam2 : ), 0 lam1 0 lam2 lam1 + lam2 = 1 ∃ (x1 : Fin n) (x2 : Fin n), x1 + x2 = x rightScalarMultiple f1 lam1 x1 + rightScalarMultiple f2 lam2 x2 μ

          Membership in F yields a weighted split with a lower bound on μ.

          theorem mem_F_of_exact_sum_pair {n : } {f1 f2 : (Fin n)EReal} :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; ∃ (lam1 : ) (lam2 : ), 0 lam1 0 lam2 ∃ (μ1 : EReal) (μ2 : EReal) (x1 : Fin n) (x2 : Fin n), lam = lam1 + lam2 μ = μ1 + μ2 x = x1 + x2 (lam1, x1, μ1) K1 (lam2, x2, μ2) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; ∀ {x x1 x2 : Fin n} {lam1 lam2 : }, 0 lam10 lam2lam1 + lam2 = 1x1 + x2 = x(x, rightScalarMultiple f1 lam1 x1 + rightScalarMultiple f2 lam2 x2) F

          Exact weighted sums belong to F.

          theorem sInf_F_eq_sInf_rightScalarMultiple_pair {n : } {f1 f2 : (Fin n)EReal} :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; ∃ (lam1 : ) (lam2 : ), 0 lam1 0 lam2 ∃ (μ1 : EReal) (μ2 : EReal) (x1 : Fin n) (x2 : Fin n), lam = lam1 + lam2 μ = μ1 + μ2 x = x1 + x2 (lam1, x1, μ1) K1 (lam2, x2, μ2) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; ∀ (x : Fin n), sInf {μ : EReal | (x, μ) F} = sInf {z : EReal | ∃ (lam1 : ) (lam2 : ), 0 lam1 0 lam2 lam1 + lam2 = 1 ∃ (x1 : Fin n) (x2 : Fin n), x1 + x2 = x z = rightScalarMultiple f1 lam1 x1 + rightScalarMultiple f2 lam2 x2}

          The sInf defining F matches the pairwise rightScalarMultiple infimum.

          theorem sInf_pair_eq_sInf_infimalConvolutionFamily {n : } {f1 f2 : (Fin n)EReal} (x : Fin n) :
          sInf {z : EReal | ∃ (lam1 : ) (lam2 : ), 0 lam1 0 lam2 lam1 + lam2 = 1 ∃ (x1 : Fin n) (x2 : Fin n), x1 + x2 = x z = rightScalarMultiple f1 lam1 x1 + rightScalarMultiple f2 lam2 x2} = sInf {z : EReal | ∃ (lam : Fin 2), (∀ (i : Fin 2), 0 lam i) i : Fin 2, lam i = 1 z = infimalConvolutionFamily (fun (i : Fin 2) => rightScalarMultiple (if i = 0 then f1 else f2) (lam i)) x}

          The pairwise rightScalarMultiple infimum matches the Fin 2 family form.

          theorem convexHullFunctionPair_eq_inf_of_K {n : } {f1 f2 : (Fin n)EReal} (hf1 : ProperConvexFunctionOn Set.univ f1) (hf2 : ProperConvexFunctionOn Set.univ f2) :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; ∃ (lam1 : ) (lam2 : ), 0 lam1 0 lam2 ∃ (μ1 : EReal) (μ2 : EReal) (x1 : Fin n) (x2 : Fin n), lam = lam1 + lam2 μ = μ1 + μ2 x = x1 + x2 (lam1, x1, μ1) K1 (lam2, x2, μ2) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; have f := fun (x : Fin n) => sInf {μ : EReal | (x, μ) F}; f = convexHullFunctionFamily fun (i : Fin 2) => if i = 0 then f1 else f2

          Text 5.8.0.3: Let f1, f2 be proper convex functions on ℝ^n. Define K1 = { (λ, x, μ) | λ ≥ 0, μ ≥ (f1 λ)(x) } and K2 = { (λ, x, μ) | λ ≥ 0, μ ≥ (f2 λ)(x) }. Let K = { (λ, x, μ) | ∃ λ1, λ2 ≥ 0, ∃ μ1, μ2, x1, x2, λ = λ1 + λ2, μ = μ1 + μ2, x = x1 + x2, (λ1, x1, μ1) ∈ K1, (λ2, x2, μ2) ∈ K2 }, F = { (x, μ) | (1, x, μ) ∈ K }, and f x = inf { μ | (x, μ) ∈ F }. Then f = conv{f1, f2}.

          theorem mem_F_iff_ge_both {n : } {f1 f2 : (Fin n)EReal} (hf1 : ProperConvexFunctionOn Set.univ f1) (hf2 : ProperConvexFunctionOn Set.univ f2) :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; (lam, x, μ) K1 (lam, x, μ) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; ∀ {x : Fin n} {μ : EReal}, (x, μ) F f1 x μ f2 x μ

          Membership in F is equivalent to simultaneous lower bounds for f1 and f2.

          theorem mem_F_iff_ge_max {n : } {f1 f2 : (Fin n)EReal} (hf1 : ProperConvexFunctionOn Set.univ f1) (hf2 : ProperConvexFunctionOn Set.univ f2) :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; (lam, x, μ) K1 (lam, x, μ) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; ∀ {x : Fin n} {μ : EReal}, (x, μ) F max (f1 x) (f2 x) μ

          Membership in F is equivalent to a max lower bound.

          theorem sInf_ge_max_eq {n : } {f1 f2 : (Fin n)EReal} (x : Fin n) :
          sInf {μ : EReal | max (f1 x) (f2 x) μ} = max (f1 x) (f2 x)

          The infimum of the upper set for the max is the max.

          theorem max_properConvex_eq_inf_of_K {n : } {f1 f2 : (Fin n)EReal} (hf1 : ProperConvexFunctionOn Set.univ f1) (hf2 : ProperConvexFunctionOn Set.univ f2) :
          have K1 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f1 lam x}; have K2 := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; 0 lam μ rightScalarMultiple f2 lam x}; have K := {p : × (Fin n) × EReal | have lam := p.1; have x := p.2.1; have μ := p.2.2; (lam, x, μ) K1 (lam, x, μ) K2}; have F := {p : (Fin n) × EReal | (1, p.1, p.2) K}; have f := fun (x : Fin n) => sInf {μ : EReal | (x, μ) F}; f = fun (x : Fin n) => max (f1 x) (f2 x)

          Text 5.8.0.4: Let f1, f2 be proper convex functions on ℝ^n. Define K1 = { (λ, x, μ) | λ ≥ 0, μ ≥ (f1 λ)(x) } and K2 = { (λ, x, μ) | λ ≥ 0, μ ≥ (f2 λ)(x) }. Let K = { (λ, x, μ) | (λ, x, μ) ∈ K1, (λ, x, μ) ∈ K2 }, F = { (x, μ) | (1, x, μ) ∈ K }, and f x = inf { μ | (x, μ) ∈ F }. Then f = max{f1, f2}.

          theorem sum_components_convex_combo {n m : } (x' y' : Fin mFin n) (t : ) :
          i : Fin m, ((1 - t) x' i + t y' i) = (1 - t) i : Fin m, x' i + t i : Fin m, y' i

          Sum of pointwise convex combinations equals the convex combination of sums.

          theorem iSup_lt_of_forall_lt_fin {m : } {a : Fin mEReal} {r : EReal} (hm : 0 < m) (h : ∀ (i : Fin m), a i < r) :
          iSup a < r

          On a nonempty finite index, iSup preserves strict upper bounds.