feat(Data/ENNReal/Inv): add ENNReal.div_mul_div_cancel - #37954
Conversation
Proves a / b * (b / c) = a / c for b ≠ 0, b ≠ ∞ in ENNReal. Proof via mul_div_assoc and existing div_mul_cancel. AI Disclosure: This PR was developed with assistance from an LLM (Claude, Anthropic) for proof exploration and text drafting. The proof was compiled and verified locally by the contributor, who understands the mathematical content. This lemma is extracted from a larger formalization of information-theoretic bounds (Zenodo DOI: 10.5281/zenodo.19317983).
Welcome new contributor!Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests. We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR. Thank you again for joining our community. |
PR summary fcdf55d904Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
felixpernegger
left a comment
There was a problem hiding this comment.
Good to have; I'm surprised this is still missing (but in fact actually is, according to loogle).
While you are at it, can you also add the corresponding lemma in EReal?
|
awaiting-author |
|
Thanks @felixpernegger — yes, I’ll add the corresponding |
|
Implemented both review requests in dd84ea8:
Both changed modules compile locally with the pinned mathlib toolchain. -awaiting-author |
|
CI note: the fresh fork workflow is failing before it reaches the changed files. Both red jobs stop in the cache restore step with |
| /-- Cancels a finite nonzero middle term: | ||
| `a / b * (b / c) = a / c` for `b ≠ 0`, `b ≠ ∞` in `ℝ≥0∞`. -/ |
There was a problem hiding this comment.
The costrings are still not ideal. Can you just delete both docstrings? (The correspodning lemma for groups also is not documented, so this should be fine)
|
@jdhart81 try to merge Master on github, this probably solves the issue |
|
Done — I merged current master and removed both docstrings. The refreshed CI suite is green. |
Proves a / b * (b / c) = a / c for b ≠ 0, b ≠ ∞ in ENNReal. Proof via mul_div_assoc and existing div_mul_cancel.
AI Disclosure: This PR was developed with assistance from an LLM (Claude, Anthropic) for proof exploration and text drafting. The proof was compiled and verified locally by the contributor, who understands the mathematical content. This lemma is extracted from a larger formalization of information-theoretic bounds (Zenodo DOI: 10.5281/zenodo.19317983).