[Merged by Bors] - chore: rename mul_le_mul_right' to mul_le_mul_left#30242
[Merged by Bors] - chore: rename mul_le_mul_right' to mul_le_mul_left#30242YaelDillies wants to merge 8 commits intoleanprover-community:masterfrom
mul_le_mul_right' to mul_le_mul_left#30242Conversation
PR summary cf85478f35Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
|
Why don't you use |
|
I like using |
42110be to
44f5d59
Compare
|
This pull request has conflicts, please merge |
3475345 to
89dea19
Compare
Golf many proofs using `grw`, `gcongr`, `cutsat`, `linarith`... For this, tag a few more lemmas with `gcongr`, and make some existing ones stronger. The goal here is not necessarily to golf (although it usually is the case), but instead to reduce the number of explicit mentions of lemmas, as these are a maintainability concern. The precise golfs that are performed are motivated by leanprover-community#30242, where four pairs of very basic and widespread lemmas get swapped.
|
This pull request has conflicts, please merge |
Golf many proofs using `grw`, `gcongr`, `cutsat`, `linarith`... For this, tag a few more lemmas with `gcongr`, and make some existing ones stronger. The goal here is not necessarily to golf (although it usually is the case), but instead to reduce the number of explicit mentions of lemmas, as these are a maintainability concern. The precise golfs that are performed are motivated by #30242, where four pairs of very basic and widespread lemmas get swapped. The best way to reduce the number of swaps needed is to simply not mention the lemmas explicitly.
Golf many proofs using `grw`, `gcongr`, `cutsat`, `linarith`... For this, tag a few more lemmas with `gcongr`, and make some existing ones stronger. The goal here is not necessarily to golf (although it usually is the case), but instead to reduce the number of explicit mentions of lemmas, as these are a maintainability concern. The precise golfs that are performed are motivated by #30242, where four pairs of very basic and widespread lemmas get swapped. The best way to reduce the number of swaps needed is to simply not mention the lemmas explicitly.
77584ea to
668b246
Compare
668b246 to
593d6cc
Compare
762cffd to
f720855
Compare
f720855 to
45c7eb3
Compare
903c787 to
96ab2ad
Compare
|
✌️ JovanGerb can now approve this pull request. To approve and merge a pull request, simply reply with |
JovanGerb
left a comment
There was a problem hiding this comment.
I think a ton of these proofs can be golfed with grw, but that need not be done by this PR.
LGTM, just a few comments
| IsOrderedAddMonoid (WithZero α) := by | ||
| have := WithZero.addLeftMono zero_le | ||
| exact ⟨fun _ _ ↦ add_le_add_left, by simpa [add_comm] using fun _ _ ↦ add_le_add_left⟩ |
There was a problem hiding this comment.
Why did this get longer?
There was a problem hiding this comment.
because IsOrderedAddMonoid.mk automatically proves one field from the other, but WithZero.addLeftMono zero_le now proves the other (instead of previously the one)
|
|
||
| instance : SMulPosMono ℝ≥0 ℝ≥0∞ where | ||
| smul_le_smul_of_nonneg_right _r _ _a _b hab := mul_le_mul_right' (coe_le_coe.2 hab) _ | ||
| smul_le_smul_of_nonneg_right _r _ _a _b hab := _root_.mul_le_mul_left (coe_le_coe.2 hab) _ |
There was a problem hiding this comment.
Why did this become _root_.? (same below)
There was a problem hiding this comment.
because ENNReal.mul_le_mul_left isn't protected
cf the two preliminary PRs. The changes that are left (almost, because I had to do some more changes after merging master several times) all can't be done with |
|
(There's a merge conflict now) |
0b5dfec to
0ac1c90
Compare
|
I would prefer it if you did a bors r+ |
|
Sorry but rebasing is useful to me for many other reasons. It's not going away from my workflow. You can use the "Viewed" buttons in the diff view to restrict your attention to the changes that occurred since you last looked at the PR. |
|
Pull request successfully merged into master. Build succeeded: |
mul_le_mul_right' to mul_le_mul_leftmul_le_mul_right' to mul_le_mul_left
…lib4 * 'master' of https://github.com/leanprover-community/mathlib4: (3130 commits) feat(SetTheory/ZFC): add `ZFSet.card` (leanprover-community#29365) feat: grind annotations for `choose_spec` (leanprover-community#31927) chore(scripts): update nolints.json (leanprover-community#31975) feat(Analysis): cos (n * π) = (-1) ^ n (leanprover-community#31971) chore: rename `mul_le_mul_right'` to `mul_le_mul_left` (leanprover-community#30242) chore: update Mathlib dependencies 2025-11-22 (leanprover-community#31955) feat(MeasureTheory): ae-measurability notation wrt non-standard sigma-algebra (leanprover-community#31910) doc: add missing spaces around doc code blocks (leanprover-community#31917) chore: update Mathlib dependencies 2025-11-22 (leanprover-community#31945) chore: shortcut instance for `Nat` to be mul-torsion-free (leanprover-community#31027) doc(Topology/Algebra/Algebra): outdated TODO (leanprover-community#31944) feat(EqHaar): add `addHaar_nnreal_smul` (leanprover-community#31922) chore(Algebra): make invertibleInv an instance (leanprover-community#31916) chore(Algebra): change two statements in CubicDiscriminant (leanprover-community#31912) chore(MeasureTheory): mark `map_dirac` as simp (leanprover-community#31909) feat: `LinearOrder` instance for `Empty` (leanprover-community#31889) chore: deprecate all remaining modules in `Analysis/NormedSpace` (leanprover-community#31913) feat(SimpleGraph): weaker condition for paths in acyclic graphs (leanprover-community#25814) chore: do not set `group` when declaring option (leanprover-community#31888) chore: clean up more unused `Decidable*` instances in types (leanprover-community#31934) ...
grw,gcongrmore #30508grw,gcongreven more #30632