Skip to content

[Merged by Bors] - feat(ENNReal): liminf/limsup/iInf/iSup and multiplication#17656

Closed
D-Thomine wants to merge 14 commits intomasterfrom
D-Thomine/limsup_mul_etc
Closed

[Merged by Bors] - feat(ENNReal): liminf/limsup/iInf/iSup and multiplication#17656
D-Thomine wants to merge 14 commits intomasterfrom
D-Thomine/limsup_mul_etc

Conversation

@D-Thomine
Copy link
Copy Markdown
Collaborator

@D-Thomine D-Thomine commented Oct 11, 2024

This PR adds a few lemmas about multiplication and liminf/limsup/iInf/iSup: mul_iInf_le_iInf_mul, iSup_mul_le_mul_iSup, mul_liminf_le_liminf_mul and three avatars of the latter.

The strategy adopted is the same as for similar lemmas in EReal (EReal.add_iInf_le_iInf_add...): we suffer to prove the key result mul_le_of_forall_mul_le, and everything is deduced from there.

Note that ENNReal.mul_le_of_forall_mul_le could be deduced much faster from EReal.add_le_of_forall_add_le using the exp (both as an order isomorphism and as a "group" morphism). However, I wanted to avoid importing special functions, which unfortunately leads to a much longer and painful proof.

This also generalizes some lemmas in #15373 : limsup_mul_le' therein can be replaced by limsup_mul_le_mul_limsup with some easy plug-and-play; if _root_.Real.limsup_mul_le is still needed, I can write another PR to deal with it (most of the work is already done anyways -- I think I can prove mul_le_of_forall_mul_le in NNReal, and leverage it to simplify the proof in ENNReal).


Paging @mariainesdff (for #15373).

Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions bot commented Oct 11, 2024

PR summary 6afef36680

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ iSup_mul_le
+ le_iInf_mul
+ le_liminf_mul
+ le_limsup_mul
+ le_mul_of_forall_lt
+ liminf_mul_le
+ limsup_mul_le'
+ mul_le_of_forall_lt

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

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

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

@D-Thomine D-Thomine added the t-order Order theory label Oct 11, 2024
@D-Thomine D-Thomine marked this pull request as ready for review October 11, 2024 18:16
@YaelDillies YaelDillies added the awaiting-author A reviewer has asked the author a question or requested changes. label Oct 11, 2024
@D-Thomine D-Thomine removed the awaiting-author A reviewer has asked the author a question or requested changes. label Oct 11, 2024
Copy link
Copy Markdown
Contributor

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

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

I could shave 49 lines off. If you are happy with the changes, then LGTM.

@YaelDillies YaelDillies added the awaiting-author A reviewer has asked the author a question or requested changes. label Oct 15, 2024
@D-Thomine
Copy link
Copy Markdown
Collaborator Author

@YaelDillies : I am more than happy with your changes ; you did an excellent job!

I've got a few ideas to improve this aspect of mathlib, but I'll write a separate PR for that -- it'll be much easier with this part done.

@D-Thomine D-Thomine removed the awaiting-author A reviewer has asked the author a question or requested changes. label Oct 19, 2024
@YaelDillies YaelDillies added the awaiting-author A reviewer has asked the author a question or requested changes. label Oct 20, 2024
@D-Thomine D-Thomine removed the awaiting-author A reviewer has asked the author a question or requested changes. label Oct 20, 2024
Copy link
Copy Markdown
Contributor

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

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

maintainer merge

@github-actions
Copy link
Copy Markdown

🚀 Pull request has been placed on the maintainer queue by YaelDillies.

@github-actions github-actions bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Oct 20, 2024
@sgouezel
Copy link
Copy Markdown
Contributor

bors r+
Thanks!

@github-actions github-actions bot added the ready-to-merge This PR has been sent to bors. label Oct 21, 2024
mathlib-bors bot pushed a commit that referenced this pull request Oct 21, 2024
This PR adds a few lemmas about multiplication and liminf/limsup/iInf/iSup: `mul_iInf_le_iInf_mul`, `iSup_mul_le_mul_iSup`, `mul_liminf_le_liminf_mul` and three avatars of the latter.

The strategy adopted is the same as for similar lemmas in EReal (`EReal.add_iInf_le_iInf_add`...): we suffer to prove the key result `mul_le_of_forall_mul_le`, and everything is deduced from there.

Note that `ENNReal.mul_le_of_forall_mul_le` could be deduced much faster from `EReal.add_le_of_forall_add_le` using the exp (both as an order isomorphism and as a "group" morphism). However, I wanted to avoid importing special functions, which unfortunately leads to a much longer and painful proof.

This also generalizes some lemmas in #15373 : `limsup_mul_le'` therein can be replaced by `limsup_mul_le_mul_limsup` with some easy plug-and-play; if `_root_.Real.limsup_mul_le` is still needed, I can write another PR to deal with it (most of the work is already done anyways -- I think I can prove `mul_le_of_forall_mul_le` in NNReal, and leverage it to simplify the proof in ENNReal).



Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Oct 21, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(ENNReal): liminf/limsup/iInf/iSup and multiplication [Merged by Bors] - feat(ENNReal): liminf/limsup/iInf/iSup and multiplication Oct 21, 2024
@mathlib-bors mathlib-bors bot closed this Oct 21, 2024
@mathlib-bors mathlib-bors bot deleted the D-Thomine/limsup_mul_etc branch October 21, 2024 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. ready-to-merge This PR has been sent to bors. t-order Order theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants