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/function): API for strict convex functions #9437

Closed
wants to merge 12 commits into from

Conversation

YaelDillies
Copy link
Collaborator

@YaelDillies YaelDillies commented Sep 28, 2021

@github-actions github-actions bot added the blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. label Sep 28, 2021
@github-actions github-actions bot added the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Sep 29, 2021
@github-actions github-actions bot added merge-conflict Please `git merge origin/master` then a bot will remove this label. and removed merge-conflict Please `git merge origin/master` then a bot will remove this label. blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. labels Sep 30, 2021
@github-actions
Copy link

github-actions bot commented Oct 3, 2021

🎉 Great news! Looks like all the dependencies have been resolved:

💡 To add or remove a dependency please update this issue/PR description.

Brought to you by Dependent Issues (:robot: ). Happy coding!

@github-actions github-actions bot removed the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Oct 3, 2021
@YaelDillies YaelDillies added the awaiting-review The author would like community review of the PR label Oct 3, 2021
hb hab hfx

lemma strict_convex_on.lt_left_of_right_lt (hf : strict_convex_on 𝕜 s f) {x y z : E} (hx : x ∈ s)
(hy : y ∈ s) (hxy : x ≠ y) (hz : z ∈ open_segment 𝕜 x y) (hyz : f y < f z) :
Copy link
Collaborator

Choose a reason for hiding this comment

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

Can we drop (hxy : x ≠ y) given that we have (hz : z ∈ open_segment 𝕜 x y)?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Eheh, we actually can because we know that y ≠ z because f y < f z. Well spotted.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Note however that it requires module 𝕜 E while those only require has_scalar 𝕜 E, so I've duplicated all lemmas.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I had not realised open_segment 𝕜 x x = {x} when I wrote those words but fortunately you correctly identified the substitute hypothesis f y < f z.

Regarding the duplication, personally I'm not yet convinced it's worth it. Couldn't we just have the module 𝕜 E versions?

I think it's worth having definitions very general but are people ever going to use these lemmas when they don't have a module 𝕜 E structure to hand?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

As you want. I agree this makes for many lemmas, of which only one or two are currently used (on my branch sperner-again I think, actually).

@ocfnash ocfnash added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Oct 4, 2021
@ocfnash
Copy link
Collaborator

ocfnash commented Oct 4, 2021

Very nice work! Just a few minor comments.

@YaelDillies YaelDillies added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Oct 5, 2021
Co-authored-by: Oliver Nash <github@olivernash.org>
@github-actions github-actions bot added the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Oct 6, 2021
@github-actions github-actions bot removed the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Oct 7, 2021
@ocfnash
Copy link
Collaborator

ocfnash commented Oct 8, 2021

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 Oct 8, 2021
bors bot pushed a commit that referenced this pull request Oct 8, 2021
This provides all the basic API for `strict_convex_on` and `strict_concave_on`.
@bors
Copy link

bors bot commented Oct 8, 2021

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(analysis/convex/function): API for strict convex functions [Merged by Bors] - feat(analysis/convex/function): API for strict convex functions Oct 8, 2021
@bors bors bot closed this Oct 8, 2021
@bors bors bot deleted the strict_convex_lemma branch October 8, 2021 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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

3 participants