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.