Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat(analysis/convex/specific_functions): elementary convexity proofs #19026

Closed
wants to merge 8 commits into from

Conversation

hrmacbeth
Copy link
Member

@hrmacbeth hrmacbeth commented May 17, 2023

Give elementary proofs for the convexity of pow, zpow, exp, log and rpow, avoiding the second derivative test.

See Zulip


Open in Gitpod

@github-actions github-actions bot added the modifies-synchronized-file This PR touches a files that has already been ported to mathlib4, and may need a synchronization PR. label May 17, 2023
@hrmacbeth hrmacbeth added the awaiting-review The author would like community review of the PR label May 17, 2023
src/analysis/convex/slope.lean Outdated Show resolved Hide resolved
src/analysis/convex/slope.lean Outdated Show resolved Hide resolved
src/analysis/convex/specific_functions.lean Outdated Show resolved Hide resolved
@sgouezel
Copy link
Collaborator

Maybe add some comments to the lemmas where you give an elementary proof instead of the second derivative test, explaining that we use an elementary proof for import reasons?

Comment on lines +244 to +245
have hxy' : 0 < y - x := by linarith,
have hxz' : 0 < z - x := by linarith,
Copy link
Member

Choose a reason for hiding this comment

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

I assume you're deliberately avoiding

Suggested change
have hxy' : 0 < y - x := by linarith,
have hxz' : 0 < z - x := by linarith,
have hxy' : 0 < y - x := sub_pos_of_lt hxy,
have hxz' : 0 < z - x := sub_pos_of_lt (hxy.trans hyz),

Copy link
Member Author

Choose a reason for hiding this comment

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

I prefer the automation, someday I will write a linear_combination_for_inequalities which is fast but avoids calling the lemmas by name ...

@semorrison
Copy link
Collaborator

bors merge

@github-actions github-actions bot added ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) and removed awaiting-review The author would like community review of the PR labels May 17, 2023
bors bot pushed a commit that referenced this pull request May 17, 2023
…#19026)

Give elementary proofs for the convexity of `pow`, `zpow`, `exp`, `log` and `rpow`, avoiding the second derivative test.

See [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Shortcut.20to.20integration)
@bors
Copy link

bors bot commented May 18, 2023

Pull request successfully merged into master.

Build succeeded!

The publicly hosted instance of bors-ng is deprecated and will go away soon.

If you want to self-host your own instance, instructions are here.
For more help, visit the forum.

If you want to switch to GitHub's built-in merge queue, visit their help page.

@bors bors bot changed the title feat(analysis/convex/specific_functions): elementary convexity proofs [Merged by Bors] - feat(analysis/convex/specific_functions): elementary convexity proofs May 18, 2023
@bors bors bot closed this May 18, 2023
@bors bors bot deleted the hrmacbeth-downgrade-convex-prelim branch May 18, 2023 00:13
bors bot pushed a commit that referenced this pull request May 18, 2023
Split `analysis/convex/specific_function` into a part which doesn't require differentiation (as of #19026) and a part which does.  This removes the dependence of `measure_theory/integral/bochner` on differentiation, and decreases by 11 the length of the longest path in mathlib.

See [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Shortcut.20to.20integration)
bors bot pushed a commit that referenced this pull request May 18, 2023
Split `analysis/convex/specific_function` into a part which doesn't require differentiation (as of #19026) and a part which does.  This removes the dependence of `measure_theory/integral/bochner` on differentiation, and decreases by 11 the length of the longest path in mathlib.

See [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Shortcut.20to.20integration)



Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
bors bot pushed a commit to leanprover-community/mathlib4 that referenced this pull request May 24, 2023
Fiddly, not done yet ... help welcome.

Cross-reference: leanprover-community/mathlib#19026.



Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
Co-authored-by: Scott Morrison <scott@tqft.net>
Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>
qawbecrdtey pushed a commit to qawbecrdtey/greedoid-mathlib4 that referenced this pull request Jun 12, 2023
Fiddly, not done yet ... help welcome.

Cross-reference: leanprover-community/mathlib#19026.



Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
Co-authored-by: Scott Morrison <scott@tqft.net>
Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
modifies-synchronized-file This PR touches a files that has already been ported to mathlib4, and may need a synchronization PR. ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants