Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chapters.Chap02.section06_part5

theorem image_add_prod_eq_add {E : Type u_1} [Add E] (C1 C2 : Set E) :
(fun (xy : E × E) => xy.1 + xy.2) '' C1.prod C2 = C1 + C2

The Minkowski sum is the image of the product under addition.

The append affine equivalence fixes the origin, hence equals its linear part.

The addition linear map sends the direct-sum set to the Minkowski sum.

theorem convex_directSumSetEuclidean (n : ) (C1 C2 : Set (EuclideanSpace (Fin n))) (hC1 : Convex C1) (hC2 : Convex C2) :

Convexity of the direct-sum set.

theorem convex_directSumSetEuclidean_general (n m : ) (C1 : Set (EuclideanSpace (Fin n))) (C2 : Set (EuclideanSpace (Fin m))) (hC1 : Convex C1) (hC2 : Convex C2) :

Convexity of a direct-sum set in general dimensions.

Corollary 6.6.2. For any convex sets C1 and C2 in R^n, ri (C1 + C2) = ri C1 + ri C2, and cl (C1 + C2) ⊇ cl C1 + cl C2.

Projection of a graph intersected with a direct-sum set recovers the preimage.

A preimage point gives a graph point in the relative interior of the direct-sum set.

Theorem 6.7: Let A be a linear transformation from R^n to R^m. Let C be a convex set in R^m such that A ⁻¹' (ri C) is nonempty. Then ri (A ⁻¹' C) = A ⁻¹' (ri C) and cl (A ⁻¹' C) = A ⁻¹' (cl C).

theorem section_D_eq_image_projection (m p : ) (C : Set (EuclideanSpace (Fin (m + p)))) (y : EuclideanSpace (Fin m)) (z : EuclideanSpace (Fin p)) :
have e := appendAffineEquiv m p; have P := LinearMap.fst (EuclideanSpace (Fin m)) (EuclideanSpace (Fin p)) ∘ₗ e.symm.linear; have Cy := fun (y : EuclideanSpace (Fin m)) => {z : EuclideanSpace (Fin p) | e (y, z) C}; have D := {y : EuclideanSpace (Fin m) | (Cy y).Nonempty}; D = P '' C P (e (y, z)) = y

The projection from R^{m+p} onto R^m identifies the section domain.

theorem section_fiber_affineSubspace_eq (m p : ) (C : Set (EuclideanSpace (Fin (m + p)))) (y : EuclideanSpace (Fin m)) :
have e := appendAffineEquiv m p; have P := LinearMap.fst (EuclideanSpace (Fin m)) (EuclideanSpace (Fin p)) ∘ₗ e.symm.linear; have Cy := fun (y : EuclideanSpace (Fin m)) => {z : EuclideanSpace (Fin p) | e (y, z) C}; have M := AffineSubspace.mk' (e (y, 0)) (LinearMap.ker P); M = {w : EuclideanSpace (Fin (m + p)) | P w = y} M C = (fun (z : EuclideanSpace (Fin p)) => e (y, z)) '' Cy y

The projection fiber is an affine subspace, and its intersection with C is the section.

theorem ri_fiber_eq_ri_section (m p : ) (C : Set (EuclideanSpace (Fin (m + p)))) (hC : Convex C) (y : EuclideanSpace (Fin m)) :
have e := appendAffineEquiv m p; have Cy := fun (y : EuclideanSpace (Fin m)) => {z : EuclideanSpace (Fin p) | e (y, z) C}; euclideanRelativeInterior (m + p) (directSumSetEuclidean m p {y} (Cy y)) = (fun (z : EuclideanSpace (Fin p)) => e (y, z)) '' euclideanRelativeInterior p (Cy y)

Relative interior of a section {y} ⊕ C_y is the image of ri C_y.

theorem euclideanRelativeInterior_mem_iff_relativeInterior_section (m p : ) (C : Set (EuclideanSpace (Fin (m + p)))) (hC : Convex C) (y : EuclideanSpace (Fin m)) (z : EuclideanSpace (Fin p)) :
have append := fun (y : EuclideanSpace (Fin m)) (z : EuclideanSpace (Fin p)) => (EuclideanSpace.equiv (Fin (m + p)) ).symm ((Fin.appendIsometry m p) ((EuclideanSpace.equiv (Fin m) ) y, (EuclideanSpace.equiv (Fin p) ) z)); have Cy := fun (y : EuclideanSpace (Fin m)) => {z : EuclideanSpace (Fin p) | append y z C}; have D := {y : EuclideanSpace (Fin m) | (Cy y).Nonempty}; append y z euclideanRelativeInterior (m + p) C y euclideanRelativeInterior m D z euclideanRelativeInterior p (Cy y)

Theorem 6.8: Let C be a convex set in R^{m+p}. For each y ∈ R^m, let C_y be the set of vectors z ∈ R^p such that (y, z) ∈ C. Let D = {y | C_y ≠ ∅}. Then (y, z) ∈ ri C if and only if y ∈ ri D and z ∈ ri C_y.

theorem convex_S_first_tail (n : ) (C : Set (EuclideanSpace (Fin n))) (hC : Convex C) :
Convex {v : EuclideanSpace (Fin (1 + n)) | (EuclideanSpace.equiv (Fin (1 + n)) ) v 0 = 1 ((EuclideanSpace.equiv (Fin n) ).symm fun (i : Fin n) => (EuclideanSpace.equiv (Fin (1 + n)) ) v (Fin.natAdd 1 i)) C}

Convexity of the slice {v | first v = 1 ∧ tail v ∈ C}.

theorem mem_K_iff_first_tail (n : ) (C : Set (EuclideanSpace (Fin n))) (hC : Convex C) :
have coords := (EuclideanSpace.equiv (Fin (1 + n)) ); have first := fun (v : EuclideanSpace (Fin (1 + n))) => coords v 0; have tail := fun (v : EuclideanSpace (Fin (1 + n))) => (EuclideanSpace.equiv (Fin n) ).symm fun (i : Fin n) => coords v (Fin.natAdd 1 i); have S := {v : EuclideanSpace (Fin (1 + n)) | first v = 1 tail v C}; have K := (ConvexCone.hull S); ∀ (v : EuclideanSpace (Fin (1 + n))), v K 0 < first v tail v first v C

Membership in the generated cone in terms of the first and tail coordinates.

theorem first_tail_append (n : ) (y : EuclideanSpace (Fin 1)) (z : EuclideanSpace (Fin n)) :
have coords := (EuclideanSpace.equiv (Fin (1 + n)) ); have first := fun (v : EuclideanSpace (Fin (1 + n))) => coords v 0; have tail := fun (v : EuclideanSpace (Fin (1 + n))) => (EuclideanSpace.equiv (Fin n) ).symm fun (i : Fin n) => coords v (Fin.natAdd 1 i); have append := fun (y : EuclideanSpace (Fin 1)) (z : EuclideanSpace (Fin n)) => (EuclideanSpace.equiv (Fin (1 + n)) ).symm ((Fin.appendIsometry 1 n) ((EuclideanSpace.equiv (Fin 1) ) y, (EuclideanSpace.equiv (Fin n) ) z)); first (append y z) = (EuclideanSpace.equiv (Fin 1) ) y 0 tail (append y z) = z

First and tail coordinates of the append map for m = 1.