Documentation

Mathlib.Analysis.Convex.Cone.InnerDual

Inner dual cone of a set #

We define the inner dual cone of a set s in an inner product space to be the proper cone consisting of all points y such that 0 ≤ ⟪x, y⟫ for all x ∈ s.

Main statements #

We prove the following theorems:

Implementation notes #

We do not provide ConvexCone- nor PointedCone-valued versions of ProperCone.innerDual since the inner dual cone of any set is always closed and contains 0, ie is a proper cone. Furthermore, the strict version {y | ∀ x ∈ s, 0 < ⟪x, y⟫} is a candidate to the name ConvexCone.innerDual.

The dual cone of a set s is the cone consisting of all points y such that for all points x ∈ s we have 0 ≤ ⟪x, y⟫.

Equations
Instances For
    @[simp]
    theorem ProperCone.mem_innerDual {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {s : Set E} {y : E} :
    y innerDual s ∀ ⦃x : E⦄, x s0 inner x y
    @[simp]

    Dual cone of the convex cone {0} is the total space.

    @[simp]

    Dual cone of the total space is the convex cone {0}.

    The inner dual cone of a singleton is given by the preimage of the positive cone under the linear map fun y ↦ ⟪x, y⟫.

    theorem ProperCone.innerDual_iUnion {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {ι : Sort u_4} (f : ιSet E) :
    innerDual (⋃ (i : ι), f i) = ⨅ (i : ι), innerDual (f i)

    Farkas' lemma and double dual of a cone in a Hilbert space #

    theorem ProperCone.hyperplane_separation' {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {x₀ : E} (C : ProperCone E) (hx₀ : x₀C) :
    ∃ (y : E), (∀ xC, 0 inner x y) inner x₀ y < 0

    Geometric interpretation of Farkas' lemma. Also stronger version of the Hahn-Banach separation theorem for proper cones.

    @[simp]

    The inner dual of inner dual of a proper cone is itself.

    Relative geometric interpretation of Farkas' lemma. Also stronger version of the Hahn-Banach separation theorem for proper cones.

    @[deprecated ProperCone.hyperplane_separation_of_notMem (since := "2025-05-24")]

    Alias of ProperCone.hyperplane_separation_of_notMem.

    @[deprecated ProperCone.innerDual (since := "2025-07-06")]

    The dual cone is the cone consisting of all points y such that for all points x in a given set 0 ≤ ⟪ x, y ⟫.

    Equations
    Instances For
      @[deprecated ProperCone.mem_innerDual (since := "2025-07-06")]
      theorem mem_innerDualCone {H : Type u_4} [NormedAddCommGroup H] [InnerProductSpace H] (y : H) (s : Set H) :
      y s.innerDualCone xs, 0 inner x y
      @[deprecated ProperCone.innerDual_empty (since := "2025-07-06")]
      @[deprecated ProperCone.innerDual_zero (since := "2025-07-06")]
      @[deprecated ProperCone.innerDual_univ (since := "2025-07-06")]

      Dual cone of the total space is the convex cone {0}.

      @[deprecated ProperCone.innerDual_le_innerDual (since := "2025-07-06")]
      @[deprecated ProperCone.pointed_toConvexCone (since := "2025-07-06")]
      @[deprecated ProperCone.innerDual_singleton (since := "2025-07-06")]

      The inner dual cone of a singleton is given by the preimage of the positive cone under the linear map fun y ↦ ⟪x, y⟫.

      @[deprecated ProperCone.innerDual_union (since := "2025-07-06")]
      @[deprecated ProperCone.innerDual_insert (since := "2025-07-06")]
      @[deprecated ProperCone.innerDual_iUnion (since := "2025-07-06")]
      theorem innerDualCone_iUnion {H : Type u_4} [NormedAddCommGroup H] [InnerProductSpace H] {ι : Sort u_5} (f : ιSet H) :
      (⋃ (i : ι), f i).innerDualCone = ⨅ (i : ι), (f i).innerDualCone
      @[deprecated ProperCone.innerDual_sUnion (since := "2025-07-06")]
      @[deprecated "No replacement" (since := "2025-07-06")]

      The dual cone of s equals the intersection of dual cones of the points in s.

      @[deprecated ProperCone.isClosed (since := "2025-07-06")]
      @[deprecated "Now irrelevant" (since := "2025-07-06")]
      @[deprecated "Now irrelevant" (since := "2025-07-06")]
      theorem ConvexCone.hyperplane_separation_of_nonempty_of_isClosed_of_notMem {H : Type u_4} [NormedAddCommGroup H] [InnerProductSpace H] [CompleteSpace H] (K : ConvexCone H) (ne : (↑K).Nonempty) (hc : IsClosed K) {b : H} (disj : bK) :
      ∃ (y : H), (∀ xK, 0 inner x y) inner y b < 0

      This is a stronger version of the Hahn-Banach separation theorem for closed convex cones. This is also the geometric interpretation of Farkas' lemma.

      @[deprecated ConvexCone.hyperplane_separation_of_nonempty_of_isClosed_of_notMem (since := "2025-05-24")]
      theorem ConvexCone.hyperplane_separation_of_nonempty_of_isClosed_of_nmem {H : Type u_4} [NormedAddCommGroup H] [InnerProductSpace H] [CompleteSpace H] (K : ConvexCone H) (ne : (↑K).Nonempty) (hc : IsClosed K) {b : H} (disj : bK) :
      ∃ (y : H), (∀ xK, 0 inner x y) inner y b < 0

      Alias of ConvexCone.hyperplane_separation_of_nonempty_of_isClosed_of_notMem.


      This is a stronger version of the Hahn-Banach separation theorem for closed convex cones. This is also the geometric interpretation of Farkas' lemma.

      @[deprecated ProperCone.innerDual_innerDual (since := "2025-07-06")]

      The inner dual of inner dual of a non-empty, closed convex cone is itself.

      @[deprecated ProperCone.innerDual_innerDual (since := "2025-07-06")]

      The dual of the dual of a proper cone is itself.