Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chap08.section38_part3

The weak topology on the algebraic dual induced by evaluation, used to talk about lower semicontinuity (and hence "closedness") of functions on dual spaces.

Equations
    Instances For

      A bifunction is "closed" when it is lower semicontinuous as a function on the product.

      Equations
        Instances For

          Proposition 38.2.1: We have

          (cl (F₁ □ F₂)) u = cl (F₁ u □ F₂ u)

          for each u in the relative interior of dom (F₁ □ F₂), and hence in particular for each u ∈ ri (dom F₁) ∩ ri (dom F₂).

          Here cl is modeled by bifunctionClosure (closure on the product) on the left-hand side and by erealFunctionClosure (closure on the slice) on the right-hand side, and ri is modeled by intrinsicInterior. Because fiberwise convexity alone gives no regularity in u, the formal statement assumes that the infimal convolution itself is proper and lower semicontinuous on the product.

          Helper for Corollary 38.2.1: the first Section 38.1 counterexample bifunction is already closed in the product sense.

          Helper for Corollary 38.2.1: the constant-zero Section 38.1 counterexample bifunction is closed in the product sense.

          Helper for Corollary 38.2.1: the closure of the counterexample right-hand side collapses to the constant bifunction because the raw function already attains .

          noncomputable def reflectSecondGraphMap {n m : } :
          (Fin (n + m)) →ₗ[] Fin (n + m)

          Corollary 38.2.1: Let F₁ and F₂ be closed proper convex bifunctions from ℝ^m to ℝ^n. If ri (dom F₁) and ri (dom F₂) have a point in common, then F₁ □ F₂ is closed and

          (F₁ □ F₂)^* = cl (F₁^* □ F₂^*).

          Here cl is modeled by bifunctionClosure, induced from erealFunctionClosure on the product, and the relative interior ri is modeled by intrinsicInterior.

          Equations
            Instances For
              noncomputable def convexReflectionOfConcave {n m : } (G : (Fin n)(Fin m)EReal) :
              (Fin n)(Fin m)EReal
              Equations
                Instances For
                  theorem fiberwiseProperConvex_of_properConvexBifunction {n m : } (F : (Fin n)(Fin m)EReal) (hF : ProperConvexBifunction F) :
                  ∃ (Fpkg : FiberwiseProperConvexBifunction n m), Fpkg.toFun = F
                  theorem neg_iSup_eq_iInf_neg {A : Sort u_1} (f : AEReal) :
                  -⨆ (a : A), f a = ⨅ (a : A), -f a
                  theorem iInf_pair_eq_nested {A : Type u_1} {B : Type u_2} (f : A × BEReal) :
                  ⨅ (p : A × B), f p = ⨅ (a : A), ⨅ (b : B), f (a, b)
                  noncomputable def infimalConvolutionFirstGraphMap {n m : } :
                  (Fin (n + m + m)) →ₗ[] Fin (n + m)
                  Equations
                    Instances For
                      noncomputable def infimalConvolutionSecondGraphMap {n m : } :
                      (Fin (n + m + m)) →ₗ[] Fin (n + m)
                      Equations
                        Instances For

                          The textbook bifunction adjoint agrees with the bundled convex-bifunction adjoint.

                          Corollary 38.2.1: Let F₁ and F₂ be closed proper convex bifunctions from ℝ^m to ℝ^n. If ri (dom F₁*) and ri (dom F₂*) have a point in common, then F₁ □ F₂ is closed and (F₁ □ F₂)* = cl (F₁* □ F₂*).

                          The adjoints and the closure on the right are the concave bifunction operations used by the book, and ri is represented by intrinsicInterior.

                          @[reducible, inline]

                          A convex bifunction from ℝ^m to ℝ^n, bundled with the predicate IsFiberwiseConvexBifunction.

                          Equations
                            Instances For
                              theorem isFiberwiseConvexBifunction_scalarMultiple {m n : } (F : (Fin m)(Fin n)EReal) (hF : IsFiberwiseConvexBifunction F) (lam : { r : // 0 < r }) :
                              IsFiberwiseConvexBifunction fun (u : Fin m) (x : Fin n) => lam * F u ((↑lam)⁻¹ x)

                              Scalar multiplication preserves convexity of bifunctions in the second variable.

                              -- Proof sketch: Fix u and apply convexity of the epigraph of x ↦ F u x under the affine change of variables x ↦ λ⁻¹ • x and scaling of function values by the positive scalar λ.

                              noncomputable def bifunctionScalarMultiple {m n : } (F : FiberwiseConvexBifunction m n) (lam : { r : // 0 < r }) :

                              Definition 38.2.2: Let F be a convex bifunction from ℝ^m to ℝ^n (modeled here as a FiberwiseConvexBifunction m n). For any scalar λ > 0, the scalar multiple is defined by (Fλ) u = (F u) λ, i.e.

                              ((Fλ) u) x = λ (F u) (λ⁻¹ x).

                              Equations
                                Instances For

                                  Convexity of the convex indicator bifunction in its second variable.

                                  -- Proof sketch: For each fixed u, the slice x ↦ convexIndicatorBifunction A u x is an indicator of a singleton set, whose epigraph is convex; translate this to the epigraph-based predicate IsERealConvex, and hence to IsFiberwiseConvexBifunction.

                                  The convex indicator bifunction of a linear map, bundled as a FiberwiseConvexBifunction.

                                  Equations
                                    Instances For
                                      theorem helperForProposition_38_2_3_rescaledGraph_iff {m n : } (A : (Fin m) →ₗ[] Fin n) (lam : { r : // 0 < r }) (u : Fin m) (x : Fin n) :
                                      (↑lam)⁻¹ x = A u x = (lam A) u

                                      Helper for Proposition 38.2.3: the rescaled graph condition is equivalent to membership in the graph of the scaled linear map.

                                      theorem helperForProposition_38_2_3_positiveScalar_mul_indicator (lam : { r : // 0 < r }) (p : Prop) [Decidable p] :
                                      (lam * if p then 0 else ) = if p then 0 else

                                      Helper for Proposition 38.2.3: multiplying a 0/⊤-valued indicator by a positive finite scalar leaves the indicator unchanged.

                                      Proposition 38.2.3: If F is the convex indicator bifunction of a linear transformation A : ℝ^m → ℝ^n, then the scalar multiple (Definition 38.2.2) is the convex indicator bifunction of the scaled linear transformation λ A; equivalently, (Fλ) u = δ(· | { (λ A) u }).

                                      -- Proof sketch: Unfold bifunctionScalarMultiple and convexIndicatorBifunction. For each u, the expression x ↦ λ * (if λ⁻¹ • x = A u then 0 else +∞) is 0 exactly when x = (λ • A) u and +∞ otherwise; rewrite λ⁻¹ • x = A u as x = λ • A u.

                                      noncomputable def bifunctionScalarMultipleInSecond {U : Type u_1} {X : Type u_2} [SMul X] (F : UXEReal) (lam : { r : // 0 < r }) :
                                      UXEReal

                                      Scalar multiplication of a raw bifunction in its second variable: (Fλ) u x = λ * F u (λ⁻¹ • x) (with λ > 0 encoded by lam : {r : ℝ // 0 < r}).

                                      Equations
                                        Instances For
                                          theorem helperForTheorem_38_3_positiveScalarMul_continuous (lam : { r : // 0 < r }) :
                                          Continuous fun (z : EReal) => lam * z

                                          Helper for Theorem 38.3: multiplication by a fixed positive finite scalar is continuous on EReal.

                                          theorem helperForTheorem_38_3_positiveScalarMul_lowerSemicontinuous {α : Type u_1} [TopologicalSpace α] (lam : { r : // 0 < r }) (f : αEReal) (hf : LowerSemicontinuous f) :
                                          LowerSemicontinuous fun (x : α) => lam * f x

                                          Helper for Theorem 38.3: postcomposing a lower-semicontinuous EReal-valued function with positive scalar multiplication preserves lower semicontinuity.

                                          theorem helperForTheorem_38_3_positiveScalar_mul_finiteAdd (lam : { r : // 0 < r }) (r : ) (z : EReal) :
                                          ↑(lam * r) + lam * z = lam * (r + z)

                                          Helper for Theorem 38.3: multiplying a finite real term and an EReal term by a positive scalar distributes over their sum.

                                          theorem helperForTheorem_38_3_positiveScalar_mul_ne_bot (lam : { r : // 0 < r }) {z : EReal} (hz : z ) :
                                          lam * z

                                          Helper for Theorem 38.3: multiplying a non- EReal value by a positive finite scalar cannot produce .

                                          theorem helperForTheorem_38_3_positiveScalar_mul_ne_top (lam : { r : // 0 < r }) {z : EReal} (hz : z ) :
                                          lam * z

                                          Helper for Theorem 38.3: multiplying a non- EReal value by a positive finite scalar cannot produce .

                                          theorem helperForTheorem_38_3_positiveScalar_mul_iInf {ι : Sort u_1} (lam : { r : // 0 < r }) (f : ιEReal) :
                                          lam * ⨅ (i : ι), f i = ⨅ (i : ι), lam * f i

                                          Helper for Theorem 38.3: multiplying by a fixed positive finite scalar commutes with iInf in EReal.

                                          theorem helperForTheorem_38_3_scalarMultiple_reciprocal_cancel {m n : } (F : FiberwiseConvexBifunction m n) (lam : { r : // 0 < r }) :
                                          have lamInv := (↑lam)⁻¹, ; (bifunctionScalarMultiple (bifunctionScalarMultiple F lam) lamInv) = F

                                          Helper for Theorem 38.3: scaling by λ and then by λ⁻¹ returns the original bifunction.

                                          theorem helperForTheorem_38_3_proper_scalarMultiple_forward {m n : } (F : FiberwiseConvexBifunction m n) (lam : { r : // 0 < r }) (hproper : IsProperEReal fun (p : (Fin m) × (Fin n)) => F p.1 p.2) :
                                          IsProperEReal fun (p : (Fin m) × (Fin n)) => (bifunctionScalarMultiple F lam) p.1 p.2

                                          Helper for Theorem 38.3: properness on the product is preserved by positive rescaling in the second variable.

                                          Helper for Theorem 38.3: product lower semicontinuity is preserved by positive rescaling in the second variable.

                                          theorem helperForTheorem_38_3_leftPairing_scalarMultiple {m n : } (F : FiberwiseConvexBifunction m n) (lam : { r : // 0 < r }) (u : Fin m) (xStar : Module.Dual (Fin n)) :
                                          bifunctionLeftPairing (↑(bifunctionScalarMultiple F lam)) u xStar = lam * bifunctionLeftPairing (↑F) u xStar

                                          Helper for Theorem 38.3: the iInf-based left pairing scales by the same positive factor as the bifunction itself.

                                          Helper for Theorem 38.3: the adjoint of the scaled bifunction is the corresponding positive scalar multiple in the second dual variable.

                                          Theorem 38.3: Let F be a convex bifunction from ℝ^m to ℝ^n, and let λ > 0. Then is a convex bifunction; it is closed (resp. proper) if and only if F is closed (resp. proper); and for all u and x* one has ⟨(Fλ) u, x*⟩ = λ ⟨F u, x*⟩. Moreover (Fλ)^* = F^*λ.

                                          noncomputable def bifunctionImage {m n : } (F : FiberwiseProperConvexBifunction m n) (f : { f : (Fin m)EReal // IsERealConvex f ∀ (u : Fin m), f u }) :
                                          (Fin n)EReal

                                          Definition 38.3.1: Let F be a proper convex bifunction from ℝ^m to ℝ^n (here modeled as F : FiberwiseProperConvexBifunction m n, i.e. an EReal-valued bifunction on Fin m → ℝ and Fin n → ℝ that is globally proper and convex in the second variable). Given a convex function f : ℝ^m → EReal which never takes the value -∞, the image Ff is the function on ℝ^n defined by

                                          (Ff) x = inf_u (f u + (F u) x),

                                          modeled in Lean as an iInf over u : Fin m → ℝ. Equivalently, (Ff) x = inf (f - F_* x) where F_* is the inverse bifunctionInverse F.toFun.

                                          Equations
                                            Instances For
                                              noncomputable def linearMapImage {m n : } (A : (Fin m) →ₗ[] Fin n) (f : (Fin m)EReal) :
                                              (Fin n)EReal

                                              The image of a function f : ℝ^m → EReal under a linear map A : ℝ^m → ℝ^n, defined by (Af)(x) = inf { f(u) | A u = x }, modeled as an iInf with an indicator (+∞) for the constraint A u = x.

                                              Equations
                                                Instances For
                                                  theorem helperForProposition_38_3_2_convexIndicatorSummand_eq_linearImageTerm {m n : } (A : (Fin m) →ₗ[] Fin n) (f : (Fin m)EReal) (u : Fin m) (x : Fin n) (hf : f u ) :

                                                  Helper for Proposition 38.3.2: the convex-indicator summand collapses to the constrained linear-image integrand.

                                                  theorem helperForProposition_38_3_2_integrand_eq {m n : } (A : (Fin m) →ₗ[] Fin n) (f : { f : (Fin m)EReal // IsERealConvex f ∀ (u : Fin m), f u }) (x : Fin n) :
                                                  (fun (u : Fin m) => f u + convexIndicatorBifunction A u x) = fun (u : Fin m) => if A u = x then f u else

                                                  Helper for Proposition 38.3.2: after rewriting by the convex indicator bifunction, the whole integrand agrees pointwise with the constrained infimum integrand defining Af.

                                                  Proposition 38.3.2: If F is the convex indicator bifunction of a linear transformation A : ℝ^m → ℝ^n, then for any convex function f on ℝ^m that does not take on -∞, the image Ff coincides with the image Af defined by (Af)(x) = inf { f(u) | A u = x }.

                                                  noncomputable def fenchelConjugateDual {X : Type u_1} [AddCommMonoid X] [Module X] (f : XEReal) :

                                                  The Fenchel conjugate f* of an EReal-valued function f : X → EReal, defined on the algebraic dual by f*(x*) = sup_x (⟨x, x*⟩ - f x) where ⟨x, x*⟩ is evaluation.

                                                  Equations
                                                    Instances For
                                                      noncomputable def bifunctionImageRaw {U : Type u_1} {X : Type u_2} (F : UXEReal) (f : UEReal) :
                                                      XEReal

                                                      The image Ff of a function f under a bifunction F, defined by (Ff)(x) = inf_u (f u + F u x) (modeled by iInf).

                                                      Equations
                                                        Instances For

                                                          Helper for Theorem 38.4: the image of the constant-zero function under the identity graph indicator bifunction is still the constant-zero function.

                                                          Helper for Theorem 38.4: the constant-zero function has conjugate value 0 at the dual origin.

                                                          Helper for Theorem 38.4: the left-hand side of the advertised conjugacy formula evaluates to 0 at the dual origin for the identity/constant-zero specialization.

                                                          Helper for Theorem 38.4: the identity/constant-zero specialization satisfies the relative interior qualification hypothesis appearing in the theorem statement.

                                                          Helper for Theorem 38.4: on the identity/constant-zero specialization, the right-hand side of the advertised conjugacy formula evaluates to at the dual origin.

                                                          Helper for Theorem 38.4: the equality clause in the current theorem statement is already false for the identity graph indicator and the constant-zero function.