Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chapters.Chap04.section19_part12

theorem helperForTheorem_19_6_weightedSumSetWithRecession_eq_finsetSumIf {n m : } {C : Fin mSet (Fin n)} {lam : Fin m} :
weightedSumSetWithRecession n m C lam = i : Fin m, if lam i = 0 then (C i).recessionCone else lam i C i

Helper for Theorem 19.6: weightedSumSetWithRecession is exactly the finite Minkowski sum of the branch sets if λᵢ = 0 then 0⁺Cᵢ else λᵢ • Cᵢ.

theorem helperForTheorem_19_6_polyhedral_component_if_zero_or_scaled {n m : } {C : Fin mSet (Fin n)} (h_nonempty : ∀ (i : Fin m), (C i).Nonempty) (h_polyhedral : ∀ (i : Fin m), IsPolyhedralConvexSet n (C i)) (lam : Fin m) (i : Fin m) :
IsPolyhedralConvexSet n (if lam i = 0 then (C i).recessionCone else lam i C i)

Helper for Theorem 19.6: for each index i, the branch set if λᵢ = 0 then 0⁺Cᵢ else λᵢ • Cᵢ is polyhedral.

theorem helperForTheorem_19_6_polyhedral_finset_sum {n m : } {S : Fin mSet (Fin n)} (hS_poly : ∀ (i : Fin m), IsPolyhedralConvexSet n (S i)) :
IsPolyhedralConvexSet n (∑ i : Fin m, S i)

Helper for Theorem 19.6: finite Minkowski sums of polyhedral convex sets are polyhedral.

theorem helperForTheorem_19_6_closed_convex_of_polyhedral_family {n m : } {C : Fin mSet (Fin n)} (h_polyhedral : ∀ (i : Fin m), IsPolyhedralConvexSet n (C i)) :
(∀ (i : Fin m), IsClosed (C i)) ∀ (i : Fin m), Convex (C i)

Helper for Theorem 19.6: polyhedral family members are closed and convex.

theorem helperForTheorem_19_6_closure_sum_liftedCones_eq_sum_closure_liftedCones_polyhedral {n m : } {K : Fin mSet (Fin (n + 1))} (hK_poly : ∀ (i : Fin m), IsPolyhedralConvexSet (n + 1) (closure (K i))) :
closure (∑ i : Fin m, K i) = i : Fin m, closure (K i)

Helper for Theorem 19.6: if each closure (K i) is polyhedral, then closure (∑ i, K i) = ∑ i, closure (K i).

Helper for Theorem 19.6: the empty set in ℝ^n is polyhedral.

Helper for Theorem 19.6: when the index set is Fin 0, the closed convex hull of the union is polyhedral.

Helper for Theorem 19.6: transporting nonemptiness from Fin n → ℝ to EuclideanSpace ℝ (Fin n) via EuclideanSpace.equiv.symm.

Helper for Theorem 19.6: transporting closedness from Fin n → ℝ to EuclideanSpace ℝ (Fin n) via EuclideanSpace.equiv.symm.

Helper for Theorem 19.6: transporting convexity from Fin n → ℝ to EuclideanSpace ℝ (Fin n) via EuclideanSpace.equiv.symm.

theorem helperForTheorem_19_6_finEuclidean_firstTail_bridge {n : } :
have eNp1 := (EuclideanSpace.equiv (Fin (n + 1)) ).symm; have coordsE := (EuclideanSpace.equiv (Fin (n + 1)) ); have firstE := fun (v : EuclideanSpace (Fin (n + 1))) => coordsE v 0; have tailE := fun (v : EuclideanSpace (Fin (n + 1))) (i : Fin n) => coordsE v i.succ; (∀ (v : Fin (n + 1)), firstE (eNp1 v) = v 0) ∀ (v : Fin (n + 1)), tailE (eNp1 v) = fun (i : Fin n) => v i.succ

Helper for Theorem 19.6: explicit coordinate identities between the Fin model and EuclideanSpace via EuclideanSpace.equiv.

theorem helperForTheorem_19_6_nonempty_liftedSlice {n : } {C : Set (Fin n)} (hC_nonempty : C.Nonempty) :
{v : Fin (n + 1) | v 0 = 1 (fun (j : Fin n) => v j.succ) C}.Nonempty

Helper for Theorem 19.6: the lifted slice {v | v₀ = 1, tail v ∈ C} is nonempty whenever C is nonempty.

theorem helperForTheorem_19_6_polyhedral_liftedSlice {n : } {C : Set (Fin n)} (hC_polyhedral : IsPolyhedralConvexSet n C) :
IsPolyhedralConvexSet (n + 1) {v : Fin (n + 1) | v 0 = 1 (fun (j : Fin n) => v j.succ) C}

Helper for Theorem 19.6: polyhedrality of a base set C implies polyhedrality of the lifted slice {v | v₀ = 1, tail v ∈ C}.

theorem helperForTheorem_19_6_points_subset_mixedConvexHull {d : } {S₀ S₁ : Set (Fin d)} :
S₀ mixedConvexHull S₀ S₁

Helper for Theorem 19.6: every point-generator belongs to its mixed convex hull.

Helper for Theorem 19.6: every direction-generator is a recession direction of the mixed convex hull generated by the same data.

theorem helperForTheorem_19_6_recessionDirection_mem_closure_convexConeHull_of_nonempty {d : } {C : Set (Fin d)} (hC_nonempty : C.Nonempty) {dir : Fin d} (hdir : dir C.recessionCone) :

Helper for Theorem 19.6: every recession direction of a nonempty set lies in the closure of the convex cone generated by that set.

theorem helperForTheorem_19_6_closure_convexConeHull_eq_cone_of_finiteMixedData {d : } {S₀ S₁ : Set (Fin d)} (hS₀fin : S₀.Finite) (hS₁fin : S₁.Finite) (hS₀ne : S₀.Nonempty) :
closure (ConvexCone.hull (mixedConvexHull S₀ S₁)) = cone d (S₀ S₁)

Helper for Theorem 19.6: closure of the convex cone generated by a finite mixed hull equals the cone generated by the union of finite point and direction generators.

Helper for Theorem 19.6: closure of the convex cone generated by a nonempty polyhedral set is polyhedral.

theorem helperForTheorem_19_6_convexHull_iUnion_image_linearEquiv {n m : } {C : Fin m.succSet (Fin n)} :
have eN := (EuclideanSpace.equiv (Fin n) ).symm; have CE := fun (i : Fin m.succ) => eN '' C i; eN '' (convexHull ) (⋃ (i : Fin m.succ), C i) = (convexHull ) (⋃ (i : Fin m.succ), CE i)

Helper for Theorem 19.6: transporting convexHull of a finite union through the Euclidean coordinate equivalence.

theorem helperForTheorem_19_6_image_finsetSum_addEquiv {α : Type u_1} {β : Type u_2} {ι : Type u_3} [AddCommMonoid α] [AddCommMonoid β] [Fintype ι] (e : α ≃+ β) (A : ιSet α) :
e '' i : ι, A i = i : ι, e '' A i

Helper for Theorem 19.6: additive equivalences commute with finite Minkowski sums.

theorem helperForTheorem_19_6_preimage_finsetSum_addEquiv {α : Type u_1} {β : Type u_2} {ι : Type u_3} [AddCommMonoid α] [AddCommMonoid β] [Fintype ι] (e : α ≃+ β) (A : ιSet β) :
e ⁻¹' i : ι, A i = i : ι, e ⁻¹' A i

Helper for Theorem 19.6: additive equivalences commute with finite Minkowski sums under preimage.

theorem helperForTheorem_19_6_image_weightedUnion_linearEquiv {n m : } {C : Fin m.succSet (Fin n)} (eN : (Fin n) ≃ₗ[] EuclideanSpace (Fin n)) (lam : Fin m.succ) :
(eN '' i : Fin m.succ, if lam i = 0 then (C i).recessionCone else lam i C i) = i : Fin m.succ, if lam i = 0 then (eN '' C i).recessionCone else lam i eN '' C i

Helper for Theorem 19.6: the weighted branch union in the tail coordinate transports through the Euclidean coordinate linear equivalence.

theorem helperForTheorem_19_6_preimage_weightedUnion_linearEquiv {n m : } {C : Fin m.succSet (Fin n)} (eN : (Fin n) ≃ₗ[] EuclideanSpace (Fin n)) (lam : Fin m.succ) :
(eN ⁻¹' i : Fin m.succ, if lam i = 0 then (eN '' C i).recessionCone else lam i eN '' C i) = i : Fin m.succ, if lam i = 0 then (C i).recessionCone else lam i C i

Helper for Theorem 19.6: transporting the weighted finite union formula back through a linear equivalence using preimage.

theorem helperForTheorem_19_6_convexConeHull_image_linearEquiv {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [Module α] [AddCommMonoid β] [Module β] (e : α ≃ₗ[] β) (s : Set α) :
e '' (ConvexCone.hull s) = (ConvexCone.hull (e '' s))

Helper for Theorem 19.6: linear equivalences transport convex-cone hulls through set image.

Helper for Theorem 19.6: after casting Fin.natAdd 1 i from Fin (1+n) to Fin (n+1), it coincides with Fin.succ i.

theorem helperForTheorem_19_6_tail_cast_natAdd_eq_tail_succ {n : } (v : Fin (n + 1)) :
(fun (i : Fin n) => v (Fin.cast (Fin.natAdd 1 i))) = fun (i : Fin n) => v i.succ

Helper for Theorem 19.6: the tail-coordinate function written with casted Fin.natAdd 1 agrees with the usual Fin.succ tail function.