feat(Topology/Sion): the minimax theorem of von Neumann - Sion#31560
feat(Topology/Sion): the minimax theorem of von Neumann - Sion#31560AntoineChambert-Loir wants to merge 78 commits intoleanprover-community:masterfrom
Conversation
PR summary 6ef8cc2731Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
…hlib4 into ACLAD-Sublevels
|
Thanks for this PR! :) Just to clarify, is this PR ready for review? If not, please comment WIP to mark it as a work in progress. I will also unassign myself, as I was auto-assigned and it's not my field; hopefully the algorithm will assign a more appropriate reviewer. :) |
|
I believe it is ready for review. There are a few |
|
This pull request has conflicts, please merge |
j-loreaux
left a comment
There was a problem hiding this comment.
I'll be back to review this in more depth soon.
j-loreaux
left a comment
There was a problem hiding this comment.
Okay, I have now been through this fairly thoroughly. Aside from the comments below and the refactoring with DedekindCut, I think this is pretty much ready.
Mathlib/Topology/Sion.lean
Outdated
| * On the other hand, if the theorem holds for such `β`, | ||
| it must hold for any linear order, for the reason that | ||
| any linear order embeds into a complete dense linear order. | ||
| However, this result does not seem to be known to Mathlib. |
There was a problem hiding this comment.
I think this is no longer true, even if it was when you first made the PR. See DedekindCut.principalEmbedding
There was a problem hiding this comment.
In fact, we need that the stuff be dense. I don't know whether it just suffices to take a product with [0;1] or if we need to fill open intervals within every pair (a,b) such that a<b and such that there are no elements inbetween.
Mathlib/Topology/Sion.lean
Outdated
| - Once the Dedekind MacNeille completion of a linear order enters Mathlib, | ||
| the statement of `DMCompletion.exists_isSaddlePointOn` can be simplified, | ||
| by assigning the variables `γ` and `ι : β ↪o γ` to the Dedekind MacNeille completion of `β`. |
There was a problem hiding this comment.
As indicated above, we have this now.
| include ne_X ne_Y cX cY kX kY hfx hfx' hfy hfy' hι in | ||
| /-- The minimax theorem, in the saddle point form, | ||
| when `β` is given a Dedekind-MacNeille completion `ι : β ↪o γ` -/ | ||
| public theorem DMCompletion.exists_isSaddlePointOn : | ||
| ∃ a ∈ X, ∃ b ∈ Y, IsSaddlePointOn X Y f a b := by |
There was a problem hiding this comment.
I think this section can be simplified now.
Co-authored-by: Jireh Loreaux <loreaujy@gmail.com>
This reverts commit 13a1146.
|
As I wrote above, the Dedekind MacNeille completion is not exactly sufficient to complete the proof, because it creates a complete lattice, but not a dense one. Maybe this precise construction (together with lemmas on the Dedekind MacNeille completion) should be left to another PR. And then the final lemma about what happens when there exists such a dense completion would be replaced/deprecated. |
Prove
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
Then inf_x sup_y f(x,y) = sup_y inf_x f(x,y).
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).
Remark on implementation
The essential part of the proof holds for a function
f : X → Y → β, whereβis a complete dense linear order.We have written part of it for just a dense linear order,
On the other hand, if the theorem holds for such
β,it must hold for any linear order, for the reason that
any linear order embeds into a complete dense linear order.
Although the Dedekind McNeille completion (docs#DedekindCut) furnishes a complete lattice,
it is not dense in general, so that this result does not seem to be known to Mathlib yet.
When
βisℝ, one can useReal.toERealand one gets a proof forℝ.TODO
Give particular important cases (eg, bilinear maps in finite dimension).
Co-authored with @ADedecker