Documentation

Mathlib.Topology.Sion

Formalization of Sion's version of the von Neumann minimax theorem #

Statements #

Sion.exists_isSaddlePointOn : Let X and Y be convex subsets of topological vector spaces E and F, X being moreover compact, and let f : X × Y → ℝ be a function such that

The classical case of the theorem assumes that f is continuous, f(x, ⬝) is concave, f(⬝, y) is convex.

As a particular case, one get the von Neumann theorem where f is bilinear and E, F are finite dimensional.

We follow the proof of [Komiya-1988][Komiya (1988)].

Remark on implementation #

TODO #

References #

theorem Sion.exists_lt_iInf_of_lt_iInf_of_sup {E : Type u_1} {F : Type u_2} {β : Type u_3} [LinearOrder β] {X : Set E} {Y : Set F} {f : EFβ} [TopologicalSpace E] [AddCommGroup E] [Module E] [IsTopologicalAddGroup E] [ContinuousSMul E] (ne_X : X.Nonempty) (kX : IsCompact X) (hfy : yY, LowerSemicontinuousOn (fun (x : E) => f x y) X) (hfy' : yY, QuasiconvexOn X fun (x : E) => f x y) [TopologicalSpace F] [AddCommGroup F] [Module F] (cY : Convex Y) (hfx : xX, UpperSemicontinuousOn (fun (y : F) => f x y) Y) (hfx' : xX, QuasiconcaveOn Y fun (y : F) => f x y) [DenselyOrdered β] [IsTopologicalAddGroup F] [ContinuousSMul F] {y1 : F} (hy1 : y1 Y) {y2 : F} (hy2 : y2 Y) {t : β} (ht : xX, t < max (f x y1) (f x y2)) :
y0Y, xX, t < f x y0
theorem Sion.exists_lt_iInf_of_lt_iInf_of_finite {E : Type u_1} {F : Type u_2} {β : Type u_3} [LinearOrder β] {X : Set E} {Y : Set F} {f : EFβ} [TopologicalSpace E] [AddCommGroup E] [Module E] [IsTopologicalAddGroup E] [ContinuousSMul E] (ne_X : X.Nonempty) (kX : IsCompact X) (hfy : yY, LowerSemicontinuousOn (fun (x : E) => f x y) X) (hfy' : yY, QuasiconvexOn X fun (x : E) => f x y) [TopologicalSpace F] [AddCommGroup F] [Module F] (cY : Convex Y) (hfx : xX, UpperSemicontinuousOn (fun (y : F) => f x y) Y) (hfx' : xX, QuasiconcaveOn Y fun (y : F) => f x y) [DenselyOrdered β] [IsTopologicalAddGroup F] [ContinuousSMul F] (cX : Convex X) {s : Set F} (hs : s.Finite) (hsY : s Y) {t : β} (ht : xX, ys, t < f x y) :
y0Y, xX, t < f x y0
theorem Sion.minimax {E : Type u_1} {F : Type u_2} {β : Type u_3} [LinearOrder β] {X : Set E} {Y : Set F} {f : EFβ} [TopologicalSpace E] [AddCommGroup E] [Module E] [IsTopologicalAddGroup E] [ContinuousSMul E] (ne_X : X.Nonempty) (kX : IsCompact X) (hfy : yY, LowerSemicontinuousOn (fun (x : E) => f x y) X) (hfy' : yY, QuasiconvexOn X fun (x : E) => f x y) [TopologicalSpace F] [AddCommGroup F] [Module F] (cY : Convex Y) (hfx : xX, UpperSemicontinuousOn (fun (y : F) => f x y) Y) (hfx' : xX, QuasiconcaveOn Y fun (y : F) => f x y) [DenselyOrdered β] [IsTopologicalAddGroup F] [ContinuousSMul F] (cX : Convex X) (sup_y : Eβ) (hsup_y : xX, IsLUB {x_1 : β | yY, f x y = x_1} (sup_y x)) (inf_sup : β) (hinf_sup : IsGLB {x : β | x_1X, sup_y x_1 = x} inf_sup) (inf_x : Fβ) (hinf_x : yY, IsGLB {x : β | x_1X, f x_1 y = x} (inf_x y)) (sup_inf : β) (hsup_inf : IsLUB {x : β | yY, inf_x y = x} sup_inf) :
inf_sup = sup_inf

A minimax theorem without completeness, using IsGLB and IsLUB.

theorem Sion.exists_isSaddlePointOn' {E : Type u_1} {F : Type u_2} {β : Type u_3} [LinearOrder β] {X : Set E} {Y : Set F} {f : EFβ} [TopologicalSpace E] [AddCommGroup E] [Module E] [IsTopologicalAddGroup E] [ContinuousSMul E] (ne_X : X.Nonempty) (kX : IsCompact X) (hfy : yY, LowerSemicontinuousOn (fun (x : E) => f x y) X) (hfy' : yY, QuasiconvexOn X fun (x : E) => f x y) [TopologicalSpace F] [AddCommGroup F] [Module F] (cY : Convex Y) (kY : IsCompact Y) (hfx : xX, UpperSemicontinuousOn (fun (y : F) => f x y) Y) (hfx' : xX, QuasiconcaveOn Y fun (y : F) => f x y) [DenselyOrdered β] [IsTopologicalAddGroup F] [ContinuousSMul F] (cX : Convex X) (ne_Y : Y.Nonempty) :
aX, bY, IsSaddlePointOn X Y f a b

The Sion-von Neumann minimax theorem (saddle point form)

theorem Sion.minimax' {E : Type u_1} {F : Type u_2} {β : Type u_3} [CompleteLinearOrder β] [DenselyOrdered β] {X : Set E} {Y : Set F} {f : EFβ} [TopologicalSpace E] [AddCommGroup E] [Module E] [IsTopologicalAddGroup E] [ContinuousSMul E] (ne_X : X.Nonempty) (cX : Convex X) (kX : IsCompact X) (hfy : yY, LowerSemicontinuousOn (fun (x : E) => f x y) X) (hfy' : yY, QuasiconvexOn X fun (x : E) => f x y) [TopologicalSpace F] [AddCommGroup F] [Module F] [IsTopologicalAddGroup F] [ContinuousSMul F] (cY : Convex Y) (hfx : xX, UpperSemicontinuousOn (fun (y : F) => f x y) Y) (hfx' : xX, QuasiconcaveOn Y fun (y : F) => f x y) :
xX, yY, f x y = yY, xX, f x y

A minimax theorem in inf-sup form, for complete linear orders.

theorem Sion.exists_saddlePointOn' {E : Type u_1} {F : Type u_2} {β : Type u_3} [CompleteLinearOrder β] [DenselyOrdered β] {X : Set E} {Y : Set F} {f : EFβ} [TopologicalSpace E] [AddCommGroup E] [Module E] [IsTopologicalAddGroup E] [ContinuousSMul E] (ne_X : X.Nonempty) (cX : Convex X) (kX : IsCompact X) (hfy : yY, LowerSemicontinuousOn (fun (x : E) => f x y) X) (hfy' : yY, QuasiconvexOn X fun (x : E) => f x y) [TopologicalSpace F] [AddCommGroup F] [Module F] [IsTopologicalAddGroup F] [ContinuousSMul F] (cY : Convex Y) (ne_Y : Y.Nonempty) (kY : IsCompact Y) (hfx : xX, UpperSemicontinuousOn (fun (y : F) => f x y) Y) (hfx' : xX, QuasiconcaveOn Y fun (y : F) => f x y) :
aX, bY, IsSaddlePointOn X Y f a b

The Sion-von Neumann minimax theorem (saddle point form), case of complete linear orders.

theorem Sion.DMCompletion.exists_isSaddlePointOn {E : Type u_1} {F : Type u_2} {β : Type u_3} [LinearOrder β] {X : Set E} {Y : Set F} {f : EFβ} [TopologicalSpace E] [AddCommGroup E] [Module E] [IsTopologicalAddGroup E] [ContinuousSMul E] (ne_X : X.Nonempty) (cX : Convex X) (kX : IsCompact X) (hfy : yY, LowerSemicontinuousOn (fun (x : E) => f x y) X) (hfy' : yY, QuasiconvexOn X fun (x : E) => f x y) [TopologicalSpace F] [AddCommGroup F] [Module F] [IsTopologicalAddGroup F] [ContinuousSMul F] (cY : Convex Y) (ne_Y : Y.Nonempty) (kY : IsCompact Y) (hfx : xX, UpperSemicontinuousOn (fun (y : F) => f x y) Y) (hfx' : xX, QuasiconcaveOn Y fun (y : F) => f x y) [TopologicalSpace β] [OrderTopology β] {γ : Type u_5} [CompleteLinearOrder γ] [DenselyOrdered γ] [TopologicalSpace γ] [OrderTopology γ] {ι : β ↪o γ} ( : Continuous ι) :
aX, bY, IsSaddlePointOn X Y f a b

The minimax theorem, in the saddle point form, when β is given a Dedekind-MacNeille completion ι : β ↪o γ

theorem Sion.exists_isSaddlePointOn {E : Type u_1} {F : Type u_2} {X : Set E} {Y : Set F} {f : EF} [TopologicalSpace E] [AddCommGroup E] [Module E] [IsTopologicalAddGroup E] [ContinuousSMul E] (ne_X : X.Nonempty) (cX : Convex X) (kX : IsCompact X) (hfy : yY, LowerSemicontinuousOn (fun (x : E) => f x y) X) (hfy' : yY, QuasiconvexOn X fun (x : E) => f x y) [TopologicalSpace F] [AddCommGroup F] [Module F] [IsTopologicalAddGroup F] [ContinuousSMul F] (cY : Convex Y) (ne_Y : Y.Nonempty) (kY : IsCompact Y) (hfx : xX, UpperSemicontinuousOn (fun (y : F) => f x y) Y) (hfx' : xX, QuasiconcaveOn Y fun (y : F) => f x y) :
aX, bY, IsSaddlePointOn X Y f a b

The minimax theorem, in the saddle point form