Skip to content

feat(Topology/Sion): the minimax theorem of von Neumann - Sion#31560

Open
AntoineChambert-Loir wants to merge 78 commits intoleanprover-community:masterfrom
AntoineChambert-Loir:ACLAD-Sion
Open

feat(Topology/Sion): the minimax theorem of von Neumann - Sion#31560
AntoineChambert-Loir wants to merge 78 commits intoleanprover-community:masterfrom
AntoineChambert-Loir:ACLAD-Sion

Conversation

@AntoineChambert-Loir
Copy link
Copy Markdown
Collaborator

@AntoineChambert-Loir AntoineChambert-Loir commented Nov 12, 2025

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

  • for all x, f(x, ⬝) is upper semicontinuous and quasiconcave
  • for all y, f(⬝, y) is lower semicontinuous and quasiconvex
    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 use Real.toEReal and one gets a proof for .

TODO

Give particular important cases (eg, bilinear maps in finite dimension).

Co-authored with @ADedecker


Open in Gitpod

@github-actions github-actions bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label Nov 12, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Nov 12, 2025

PR summary 6ef8cc2731

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Topology.Sion (new file) 1443

Declarations diff

+ DMCompletion.exists_isSaddlePointOn
+ clusterPt_principal_subtype_iff_frequently
+ coe_orderEmbedding
+ disjoint_sublevelLeft
+ exists_isSaddlePointOn
+ exists_isSaddlePointOn'
+ exists_lt_iInf_of_lt_iInf_of_finite
+ exists_lt_iInf_of_lt_iInf_of_sup
+ exists_saddlePointOn'
+ isClosed_setOf_sublevelLeft_subset
+ isClosed_sublevelLeft
+ isPreconnected_sublevelLeft
+ lowerSemicontinuousOn_of_forall_isMaxOn_and_mem
+ mem_sublevelLeft_iff
+ minimax
+ minimax'
+ monotone_sublevelLeft
+ nonempty_sublevelLeft
+ orderEmbedding
+ setOf_sublevelLeft_subset
+ sublevelLeft
+ sublevelLeft_subset_union
+ upperSemicontinuousOn_of_forall_isMinOn_and_mem

You can run this locally as follows
## summary with just the declaration names:
./scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/reporting/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Nov 12, 2025
@thorimur
Copy link
Copy Markdown
Contributor

thorimur commented Jan 6, 2026

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. :)

@thorimur thorimur removed their assignment Jan 6, 2026
@AntoineChambert-Loir
Copy link
Copy Markdown
Collaborator Author

I believe it is ready for review. There are a few -- private comments which indicate that maybe some definitions could be made private. The opinion of the reviewer will be valuable.

@robin-carlier robin-carlier added the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 10, 2026
@AntoineChambert-Loir AntoineChambert-Loir removed the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 13, 2026
@mathlib-merge-conflicts mathlib-merge-conflicts bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Mar 17, 2026
@mathlib-merge-conflicts
Copy link
Copy Markdown

This pull request has conflicts, please merge master and resolve them.

@github-actions github-actions bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Mar 19, 2026
Copy link
Copy Markdown
Contributor

@j-loreaux j-loreaux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll be back to review this in more depth soon.

@j-loreaux j-loreaux self-assigned this Mar 21, 2026
Copy link
Copy Markdown
Contributor

@j-loreaux j-loreaux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +38 to +41
* 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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is no longer true, even if it was when you first made the PR. See DedekindCut.principalEmbedding

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +49 to +51
- 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 `β`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As indicated above, we have this now.

Comment on lines +615 to +619
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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this section can be simplified now.

@j-loreaux j-loreaux added the awaiting-author A reviewer has asked the author a question or requested changes. label Mar 31, 2026
@AntoineChambert-Loir AntoineChambert-Loir removed the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 3, 2026
@AntoineChambert-Loir
Copy link
Copy Markdown
Collaborator Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-topology Topological spaces, uniform spaces, metric spaces, filters

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants