Documentation

Tdaf.Analysis.Convex.HellyRefined

The refined theorems of the alternative #

The recession hypothesis of the alternative for an infinite system of weak convex inequalities can be weakened when the constraint set is the whole space: instead of asking that the fᵢ have no common direction of recession, it is enough that finitely many of them be affine and that every common direction of recession be a direction of constancy for all the others. The corresponding weakening of Helly's theorem asks that finitely many of the Cᵢ be polyhedral and that every common direction of recession be a direction of linearity for the rest.

The proof changes exactly one step of the unrefined one. Both run on the positively homogeneous convex function k generated by conv {fᵢ*} and both finish with exists_multipliers_of_posHomGen_convFn_conj_eq_bot (in Helly.lean) once k(0) = -∞ is known. The unrefined proof gets k(0) = -∞ from 0 ∈ ri (dom k); here it comes from splitting the family in two and separating the halves, one of which is polyhedral.

Only the case of the whole space is treated, as in the book. A version relative to a closed convex C needs no new mathematics — fold δ(· ∣ C) into the family — but then carries the hypothesis that C is linear in every common direction of recession, or polyhedral and cut into half-spaces.

Main results #

Implementation notes #

k = conv {k₀, k₁} is never formed: only k(0) ≤ k₀(-z) + k₁(z) is used, so apply_zero_eq_bot_of_le_of_le takes an arbitrary positively homogeneous convex k below both. The two halves are indexed by subtypes of ι and neither need be nonempty — Rockafellar adjoins identically-zero functions to avoid that, but posHomGen h is ≤ 0 at the origin whatever h is, and for an empty family posHomGen (convFn g) is δ(· ∣ 0), polyhedral with domain {0}. The hypothesis B.SeparatingRight replaces Rockafellar's identification of Rⁿ with its dual: it is what makes fᵢ* a point indicator rather than the indicator of an affine subspace.

References #

[^1]: R. T. Rockafellar, Convex Analysis, Princeton University Press, 1970, §13, §19, §20 and §21.

theorem Tdaf.ConvexAnalysis.conj_affineFn_apply_self {E : Type u_1} {F : Type u_2} [AddCommGroup E] [Module ℝ E] [AddCommGroup F] [Module ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} (a : F) (c : ℝ) :
conj B (affineFn B a c) a = ↑c

The conjugate of the affine function ⟨·, a⟩ - c takes the value c at a.

theorem Tdaf.ConvexAnalysis.conj_affineFn_apply_of_ne {E : Type u_1} {F : Type u_2} [AddCommGroup E] [Module ℝ E] [AddCommGroup F] [Module ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} (hB : B.SeparatingRight) {a y : F} (hy : y ≠ a) (c : ℝ) :
conj B (affineFn B a c) y = ⊤

Away from a the conjugate of ⟨·, a⟩ - c is +∞: the pairing separates y - a from 0, so ⟨·, y - a⟩ is unbounded above.

theorem Tdaf.ConvexAnalysis.conj_affineFn {E : Type u_1} {F : Type u_2} [AddCommGroup E] [Module ℝ E] [AddCommGroup F] [Module ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} (hB : B.SeparatingRight) (a : F) (c : ℝ) :
conj B (affineFn B a c) = indicatorFn {a} + fun (x : F) => ↑c

The conjugate of an affine function is a translated point indicator: fᵢ(x) = ⟨aᵢ, x⟩ - αᵢ has fᵢ*(x*) = δ(x* ∣ aᵢ) + αᵢ. The separating hypothesis on the pairing is what replaces Rockafellar's identification of Rⁿ with its dual.

theorem Tdaf.ConvexAnalysis.epi_conj_affineFn {E : Type u_1} {F : Type u_2} [AddCommGroup E] [Module ℝ E] [AddCommGroup F] [Module ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} (hB : B.SeparatingRight) (a : F) (c : ℝ) :
epi (conj B (affineFn B a c)) = {(a, c)} + ↑(verticalRay F)

The epigraph of the conjugate of an affine function is a single translated vertical ray. This is the hypothesis shape of epi_convFn_of_epi_eq, and it is what makes Rockafellar's k₀ finitely generated.

theorem Tdaf.ConvexAnalysis.PosHomogeneous.add_le_add_of_ne_top {E : Type u_1} [AddCommGroup E] [Module ℝ E] {g : E → EReal} (hg : PosHomogeneous g) (hgc : ConvexFn g) {x y : E} (hx : g x ≠ ⊤) (hy : g y ≠ ⊤) :
g (x + y) ≤ g x + g y

A positively homogeneous convex function is subadditive wherever it is not +∞. The usual form of this asks instead that the function never take -∞, which cannot be paid here, because the functions kⱼ built below may be improper; the epigraph, a convex cone, supplies subadditivity directly wherever both values are < +∞. The hypothesis cannot be dropped: on ℝ² the function with epigraph {(s, t, μ) ∣ s > 0} ∪ {(0, 0, μ) ∣ μ ≥ 0} is positively homogeneous and convex and vanishes at the origin, yet g(0, 0) = 0 > ⊥ = g(-1, 0) + g(1, 0).

theorem Tdaf.ConvexAnalysis.dom_convFn {E : Type u_1} [AddCommGroup E] [Module ℝ E] {ι : Sort u_2} (g : ι → E → EReal) :
dom (convFn g) = (convexHull ℝ) (⋃ (i : ι), dom (g i))

The effective domain of the convex hull of a family is the convex hull of the union of the effective domains: Prod.fst is linear, so it carries the convex hull of the union of epigraphs to the convex hull of the union of their projections.

theorem Tdaf.ConvexAnalysis.dom_posHomGen_convFn_subset {E : Type u_1} [AddCommGroup E] [Module ℝ E] {ι : Sort u_2} (ψ : E →ₗ[ℝ] ℝ) {g : ι → E → EReal} (hg : ∀ (i : ι), dom (g i) ⊆ {y : E | ψ y ≤ 0}) :
dom (posHomGen (convFn g)) ⊆ {y : E | ψ y ≤ 0}

A linear inequality valid on every dom (g i) is valid on dom (posHomGen (convFn g)). dom k₁ is the convex cone generated by the sets dom fᵢ*; this is the only consequence of that description the refinement uses.

The reflection (x, μ) ↦ (-x, μ) of E × ℝ, as a linear map. It carries epi f to epi (f ∘ -·).

Equations
Instances For
    @[simp]
    theorem Tdaf.ConvexAnalysis.reflectFst_apply {E : Type u_1} [AddCommGroup E] [Module ℝ E] (p : E × ℝ) :
    (reflectFst E) p = (-p.1, p.2)
    theorem Tdaf.ConvexAnalysis.epi_comp_neg {E : Type u_1} [AddCommGroup E] [Module ℝ E] (f : E → EReal) :
    (epi fun (x : E) => f (-x)) = ⇑(reflectFst E) '' epi f

    The epigraph of x ↦ f (-x) is the reflection of the epigraph of f.

    theorem Tdaf.ConvexAnalysis.dom_comp_neg {E : Type u_1} [AddCommGroup E] (f : E → EReal) :
    (dom fun (x : E) => f (-x)) = -dom f

    The effective domain of x ↦ f (-x) is -dom f.

    theorem Tdaf.ConvexAnalysis.Proper.comp_neg {E : Type u_1} [AddCommGroup E] {f : E → EReal} (hf : Proper f) :
    Proper fun (x : E) => f (-x)

    A function proper at -x is proper.

    theorem Tdaf.ConvexAnalysis.conj_comp_neg {E : Type u_1} {F : Type u_2} [AddCommGroup E] [Module ℝ E] [AddCommGroup F] [Module ℝ F] (B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ) (f : E → EReal) (y : F) :
    conj B (fun (x : E) => f (-x)) y = conj B f (-y)

    Reflecting the argument reflects the conjugate variable.

    Directions of recession, read off the conjugate: a direction is a direction of recession of a closed proper convex g exactly when the pairing with it is nonpositive on dom g*.

    theorem Tdaf.ConvexAnalysis.conj_posHomGen_convFn_conj {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} [IsCompatiblePairing B] [IsCompatiblePairing B.flip] {ι : Type u_3} {g : ι → E → EReal} (hg : ∀ (i : ι), ClosedProperConvexFn (g i)) :
    conj B.flip (posHomGen (convFn fun (i : ι) => conj B (g i))) = indicatorFn {x : E | ∀ (i : ι), g i x ≤ 0}

    kⱼ* is the indicator of Cⱼ. For a family of closed proper convex functions, the conjugate of the positively homogeneous convex function generated by conv {gᵢ*} is the indicator of {x ∣ gᵢ(x) ≤ 0 for every i}. The conjugate of a convex hull is the pointwise supremum, and the Fenchel–Moreau theorem closes the loop; it is used below for both k₀ and k₁.

    theorem Tdaf.ConvexAnalysis.polyhedralFn_posHomGen_convFn_conj_affineFn {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} (hB : B.SeparatingRight) {ι : Type u_3} [Finite ι] {g : ι → E → EReal} (hg : ∀ (i : ι), ∃ (a : F) (c : ℝ), g i = affineFn B a c) :
    PolyhedralFn (posHomGen (convFn fun (i : ι) => conj B (g i)))

    The affine half k₀ is polyhedral. The positively homogeneous convex function generated by the convex hull of the conjugates of finitely many affine functions is polyhedral, and so is its effective domain: a convex hull of finitely many polyhedral epigraphs is polyhedral, and by epi_conj_affineFn each fᵢ* is a point indicator whose epigraph is a single translated vertical ray.

    theorem Tdaf.ConvexAnalysis.nonempty_neg_dom_inter_relint_dom {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} [IsCompatiblePairing B] [IsCompatiblePairing B.flip] {ι₀ : Type u_3} {ι₁ : Type u_4} {g₀ : ι₀ → E → EReal} {g₁ : ι₁ → E → EReal} (hg₀ : ∀ (i : ι₀), ClosedProperConvexFn (g₀ i)) (hg₁ : ∀ (i : ι₁), ClosedProperConvexFn (g₁ i)) (hpoly : PolyhedralFn (posHomGen (convFn fun (i : ι₀) => conj B (g₀ i)))) (hrec : ∀ (y : E), (∀ (i : ι₀), recessionFn (g₀ i) y ≤ 0) → (∀ (i : ι₁), recessionFn (g₁ i) y ≤ 0) → ∀ (i : ι₁), recessionFn (g₁ i) (-y) ≤ 0) :
    (-dom (posHomGen (convFn fun (i : ι₀) => conj B (g₀ i))) ∩ intrinsicInterior ℝ (dom (posHomGen (convFn fun (i : ι₁) => conj B (g₁ i))))).Nonempty

    The separation step: (-dom k₀) ∩ ri (dom k₁) is nonempty. Both sets contain the origin, so a separating hyperplane passes through it. If they could be separated properly without the hyperplane containing dom k₁ — the only way they can miss each other, dom k₀ being polyhedral — the separating direction would be a common direction of recession of the whole family, hence a direction of constancy for the g₁, and then the hyperplane would contain dom k₁ after all.

    Reflecting the argument of a polyhedral convex function leaves it polyhedral.

    theorem Tdaf.ConvexAnalysis.apply_zero_eq_bot_of_le_of_le {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} [IsCompatiblePairing B] [IsCompatiblePairing B.flip] {ι₀ : Type u_3} {ι₁ : Type u_4} {g₀ : ι₀ → E → EReal} {g₁ : ι₁ → E → EReal} (hg₀ : ∀ (i : ι₀), ClosedProperConvexFn (g₀ i)) (hg₁ : ∀ (i : ι₁), ClosedProperConvexFn (g₁ i)) (hpoly : PolyhedralFn (posHomGen (convFn fun (i : ι₀) => conj B (g₀ i)))) (hrec : ∀ (y : E), (∀ (i : ι₀), recessionFn (g₀ i) y ≤ 0) → (∀ (i : ι₁), recessionFn (g₁ i) y ≤ 0) → ∀ (i : ι₁), recessionFn (g₁ i) (-y) ≤ 0) (hempty : ¬∃ (x : E), (∀ (i : ι₀), g₀ i x ≤ 0) ∧ ∀ (i : ι₁), g₁ i x ≤ 0) {k : F → EReal} (hk : PosHomogeneous k) (hkc : ConvexFn k) (hle₀ : k ≤ posHomGen (convFn fun (i : ι₀) => conj B (g₀ i))) (hle₁ : k ≤ posHomGen (convFn fun (i : ι₁) => conj B (g₁ i))) :
    k 0 = ⊥

    The heart of the refinement: if the two half-systems {g₀ i} and {g₁ i} have no common solution of gᵢ(x) ≤ 0, if k₀ is polyhedral, and if every common direction of recession of the whole family is a direction of constancy of the g₁, then any positively homogeneous convex minorant k of both k₀ and k₁ has k(0) = -∞.

    Separation puts a z in (-dom k₀) ∩ ri (dom k₁); if either kⱼ is improper there, k(0) = -∞ at once; otherwise the conjugate of the sum k₀(-·) + k₁ is the infimal convolution of the two conjugates, which are the indicators of the two solution sets, and those have empty intersection. The textbook applies this to k = conv {k₀, k₁}, but only through k(0) ≤ k₀(-z) + k₁(z), which needs nothing of k beyond k ≤ k₀, k ≤ k₁ and subadditivity.

    An affine function of a continuous pairing is closed, proper and convex.

    The effective domain of the conjugate of an affine function is the single point a.

    A direction of recession of the affine function ⟨·, a⟩ - c is one that pairs nonpositively with a: the effective domain of its conjugate is the single point a.

    theorem Tdaf.ConvexAnalysis.Polyhedral.exists_finset_pairing {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} [IsCompatiblePairing B] {C : Set E} (hC : Polyhedral C) :
    ∃ (s : Finset (F × ℝ)), C = {x : E | ∀ q ∈ s, (B x) q.1 ≤ q.2}

    Every polyhedral convex set is cut out by finitely many inequalities of the pairing. The usual definition uses linear functionals; in finite dimensions a compatible pairing represents every one of them, which lets the refined Helly theorem replace the polyhedral members of a family by half-spaces described by affine functions of the pairing.

    theorem Tdaf.ConvexAnalysis.mem_recessionCone_of_forall_pairing_nonpos {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} {t : Finset (F × ℝ)} {y : E} (hy : ∀ q ∈ t, (B y) q.1 ≤ 0) :
    y ∈ recessionCone {x : E | ∀ q ∈ t, (B x) q.1 ≤ q.2}

    A direction pairing nonpositively with every constraint vector recedes in the polyhedron those constraints cut out.

    The constancy space of an indicator function is the lineality space of the set. This is what turns "a direction in which Cᵢ is linear" into "a direction in which fᵢ is constant".

    theorem Tdaf.ConvexAnalysis.alternative_infinite_system_univ_of_affine_tail {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} {ι : Type u_3} {f : ι → E → EReal} [IsCompatiblePairing B] [IsCompatiblePairing B.flip] (hB : B.SeparatingRight) (hf : ∀ (i : ι), ClosedProperConvexFn (f i)) (I₀ : Finset ι) (haff : ∀ i ∈ I₀, ∃ (a : F) (c : ℝ), f i = affineFn B a c) (hrec : ∀ (y : E), (∀ (i : ι), recessionFn (f i) y ≤ 0) → ∀ i ∉ I₀, y ∈ constancySpace (f i)) :
    (∃ (x : E), ∀ (i : ι), f i x ≤ 0) ∨ ∃ (t : Finset ι) (l : ι → ℝ) (ε : ℝ), (∀ (i : ι), 0 ≤ l i) ∧ (∀ i ∉ t, l i = 0) ∧ 0 < ε ∧ t.card ≤ Module.finrank ℝ E + 1 ∧ ∀ (x : E), ↑ε ≤ ∑ i ∈ t, ↑(l i) * f i x

    The refined alternative over the whole space. The recession hypothesis may be weakened: it is enough that there be a finite set of indices I₀ on which the fᵢ are affine, such that every direction of recession common to all the fᵢ is a direction in which fᵢ is constant for every i ∉ I₀. The unrefined hypothesis — that the only common direction of recession is 0 — implies this one with I₀ = ∅. The gain is that the affine members may now recede, and so may the others provided they are flat in every direction the whole family recedes in. Only one step of the unrefined proof changes: the passage to k(0) = -∞, which is here apply_zero_eq_bot_of_le_of_le.

    theorem Tdaf.ConvexAnalysis.exists_forall_le_zero_of_forall_subsystem_of_affine_tail {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} {ι : Type u_3} {f : ι → E → EReal} [IsCompatiblePairing B] [IsCompatiblePairing B.flip] (hB : B.SeparatingRight) (hf : ∀ (i : ι), ClosedProperConvexFn (f i)) (I₀ : Finset ι) (haff : ∀ i ∈ I₀, ∃ (a : F) (c : ℝ), f i = affineFn B a c) (hrec : ∀ (y : E), (∀ (i : ι), recessionFn (f i) y ≤ 0) → ∀ i ∉ I₀, y ∈ constancySpace (f i)) (hsub : ∀ (δ : ℝ), 0 < δ → ∀ (S : Finset ι), S.card ≤ Module.finrank ℝ E + 1 → ∃ (x : E), ∀ i ∈ S, f i x < ↑δ) :
    ∃ (x : E), ∀ (i : ι), f i x ≤ 0

    The solvability criterion under the refined hypothesis. An infinite system of weak convex inequalities is solvable as soon as every subsystem of at most n + 1 of the inequalities is solvable to within an arbitrarily small tolerance — provided that, outside a finite set of indices carrying affine functions, every common direction of recession is a direction of constancy.

    theorem Tdaf.ConvexAnalysis.helly_of_polyhedral_tail {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} {ι : Type u_3} [IsCompatiblePairing B] [IsCompatiblePairing B.flip] (hB : B.SeparatingRight) {K : ι → Set E} (hconv : ∀ (i : ι), Convex ℝ (K i)) (hcl : ∀ (i : ι), IsClosed (K i)) (hne : ∀ (i : ι), (K i).Nonempty) (I₀ : Finset ι) (hpoly : ∀ i ∈ I₀, Polyhedral (K i)) (hrec : ∀ (y : E), (∀ (i : ι), y ∈ recessionCone (K i)) → ∀ i ∉ I₀, y ∈ linealitySpace (K i)) (hinter : ∀ (S : Finset ι), S.card ≤ Module.finrank ℝ E + 1 → (⋂ i ∈ S, K i).Nonempty) :
    (⋂ (i : ι), K i).Nonempty

    The refined Helly theorem. The recession hypothesis of Helly's theorem for infinite families may be weakened: it is enough that there be a finite set of indices I₀ on which the Cᵢ are polyhedral, such that every direction of recession common to all the Cᵢ is a direction in which Cᵢ is linear for every i ∉ I₀. Compare helly_of_no_common_recession, whose hypothesis is that the only common direction of recession is 0. Each polyhedral Cᵢ, i ∈ I₀, is replaced by the finitely many closed half-spaces cutting it out, and the refined alternative applies with those as its affine part.