feat(Analysis/Calculus): define absolutely monotone functions#38026
feat(Analysis/Calculus): define absolutely monotone functions#38026mrdouglasny wants to merge 5 commits intoleanprover-community:masterfrom
Conversation
Define `AbsolutelyMonotoneOn f s` for functions with nonneg iterated derivatives within a set. Prove closure under addition, scalar multiplication, and multiplication, plus show exp, cosh, constants, and powers are absolutely monotone on appropriate domains. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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 2ff88851d5Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
| # Absolutely Monotone Functions | ||
|
|
||
| A function `f : ℝ → ℝ` is absolutely monotone on a set `s` if it is smooth | ||
| on `s` and all its iterated derivatives within `s` are nonneg on `s`. |
There was a problem hiding this comment.
| on `s` and all its iterated derivatives within `s` are nonneg on `s`. | |
| on `s` and all its iterated derivatives within `s` are nonnegative on `s`. |
| exact h n x hx | ||
|
|
||
| /-- Nonneg Taylor coefficients at any point in `s`. -/ | ||
| theorem nonneg_taylor_coeffs {f : ℝ → ℝ} {s : Set ℝ} |
There was a problem hiding this comment.
This seems redundant to me, since it follows immediately from 0 ≤ iteratedDerivWithin n f s x.
|
|
||
| end AbsolutelyMonotoneOn | ||
|
|
||
| /-! ### Examples -/ |
There was a problem hiding this comment.
I think these examples should go in separate files. This definition shouldn't require Real.cosh in order to be imported, for instance.
| simp only [iteratedDeriv_const] | ||
| split | ||
| · exact hc | ||
| · exact le_refl 0 |
There was a problem hiding this comment.
| · exact le_refl 0 | |
| · rfl |
|
Could you format the code to fill up the 100-character limit per line? |
- "nonneg" → "nonnegative" in docstrings - Remove redundant `nonneg_taylor_coeffs` - Move examples (exp, cosh, const, pow) out to avoid pulling heavy imports — they will go in a follow-up file - Fill lines to 100-char limit - Trim unused imports (only IteratedDeriv.Lemmas needed for def + closure) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
I know very little about absolutely monotone functions and what are the correct design choices, so I am going to remove my assignment on this PR. Maybe @sgouezel wants to take it up? |
j-loreaux
left a comment
There was a problem hiding this comment.
This looks reasonable to me, but it not my area of expertise.
|
|
||
| ## References | ||
|
|
||
| * Widder, D.V. (1941). *The Laplace Transform*. |
There was a problem hiding this comment.
This should be added to the .bib file as an actual reference, and linked here.
There was a problem hiding this comment.
Maybe worth double-checking it isn't an AI hallucinated reference.
| /-- Constructor from global `ContDiff` and global `iteratedDeriv`. Works for any `UniqueDiffOn` | ||
| set (includes open sets, `Ici a`, convex sets with nonempty interior, etc.). -/ |
There was a problem hiding this comment.
| /-- Constructor from global `ContDiff` and global `iteratedDeriv`. Works for any `UniqueDiffOn` | |
| set (includes open sets, `Ici a`, convex sets with nonempty interior, etc.). -/ | |
| /-- A globally smooth function all of whose iterated derivatives are nonnegative on a set `s` | |
| satisfying `UniqueDiffOn` is absolutely monotone on `s`. Such sets `s` include open sets, | |
| `Set.Ici`, and convex sets with nonempty interior. -/ |
- Add Widder, *The Laplace Transform* (1941) to references.bib and link via bibkey in the module doc - Clarify `of_contDiff` docstring (vs generic "Constructor from ...") Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
lint-bib.sh uses bibtool case-insensitive sort — lowercase 'widder' comes before 'Wielandt', not after. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Addressed all review comments:
Re: the Widder reference -- it is real, not hallucinated: The Laplace Transform by David V. Widder (1941) on Amazon |
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
All reviewer comments have been addressed. Could a maintainer please remove the awaiting-author label? Thanks. |
|
You can remove it yourself by typing "-awaiting-author". For more information about PR lifecycle, you can read https://leanprover-community.github.io/contribute/index.html |
|
-awaiting-author |
|
Sorry, I am going to remove my assignment because I would rather dedicate my scarce reviewing time to human-written code. |
Summary
AbsolutelyMonotoneOn f sfor functionsf : ℝ → ℝthat are smooth onswith all iterated derivatives withinsnonnegadd,smul,mulexp,cosh, constants, and powers are absolutely monotone on appropriate domainsThis is the first part of a split of #37879. Follow-up PRs will add:
Test plan
AbsolutelyMonotoneOnstructure and examples type-check🤖 Generated with Claude Code
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com