Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

[Merged by Bors] - feat(analysis/calculus/cont_diff): Prove that fderiv_within is C^n for functions with parameters#16946

Closed
fpvandoorn wants to merge 35 commits intomasterfrom
cont_diff_fderiv
Closed

[Merged by Bors] - feat(analysis/calculus/cont_diff): Prove that fderiv_within is C^n for functions with parameters#16946
fpvandoorn wants to merge 35 commits intomasterfrom
cont_diff_fderiv

Conversation

@fpvandoorn
Copy link
Copy Markdown
Member

@fpvandoorn fpvandoorn commented Oct 13, 2022

  • Prove that fderiv_within is C^n (at a point within a set) for a function with parameters
  • There are some inconvenient side-conditions needed for the lemmas, feel free to recommend improvements
  • set.diag_image is not used, but a (useful) left-over used before a refactor.
  • This is useful for lemmas about mfderiv and the smooth vector bundle refactor
  • From the sphere eversion project

Open in Gitpod

@fpvandoorn fpvandoorn added awaiting-author A reviewer has asked the author a question or requested changes WIP Work in progress labels Oct 13, 2022
@ghost ghost 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 Oct 13, 2022
@fpvandoorn fpvandoorn changed the title Cont diff fderiv feat(analysis/calculus/cont_diff): Prove that fderiv_within is C^n for functions with parameters Oct 13, 2022
@fpvandoorn fpvandoorn added awaiting-author A reviewer has asked the author a question or requested changes and removed WIP Work in progress awaiting-author A reviewer has asked the author a question or requested changes labels Oct 14, 2022
@ghost ghost removed 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 Oct 18, 2022
@fpvandoorn fpvandoorn added awaiting-review The author would like community review of the PR awaiting-CI The author would like to see what CI has to say before doing more work. and removed awaiting-author A reviewer has asked the author a question or requested changes labels Oct 24, 2022
@github-actions github-actions bot removed the awaiting-CI The author would like to see what CI has to say before doing more work. label Oct 25, 2022
(hf : cont_diff_within_at 𝕜 (n+1) (function.uncurry f) u (x, g x))
(hg : cont_diff_within_at 𝕜 n g s x)
(hst : insert x s ×ˢ t ⊆ u) -- can be weakened to only consider points near `(x, g x)`
(hu : u ∈ 𝓝[(λ x, (x, g x)) '' s] (x, g x)) :
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
(hu : u ∈ 𝓝[(λ x, (x, g x)) '' s] (x, g x)) :
(hu : u ∈ 𝓝[(λ x', (x', g x')) '' s] (x, g x)) :

Also, I feel that this assumption is pretty weird. Isn't it more natural to assume, say, that g maps s to t? (which should imply your assumption by hst, but most importantly feels like a natural assumption for the lemma). If you agree with that, maybe you can even ditch completely u, and assume instead of hf that f is C^{n+1} on insert x s ×ˢ t?

Copy link
Copy Markdown
Member Author

@fpvandoorn fpvandoorn Dec 2, 2022

Choose a reason for hiding this comment

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

Yes, I think I can ditch u.
In the application I don't have that g maps s to t.
I want to conclude that mfderiv with some appropriate coordinate change is smooth. The definition of mfderiv uses (fderiv_within 𝕜 ... (range I) (ext_chart_at I x x). Whatever my g is in my application, it is not well-behaved everywhere on range I, just on the target of some chart. So I only want a local property on g.
The property I gave was the weakest one I found to still prove the result. Maybe I can do something less-crazy looking (e.g. sending a neighborhood of x within s to t)?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Ok, I made some changes:

  • I removed u and required that f is smooth on insert x s ×ˢ t, as you suggested
  • I replaced the weird-looking condition with t ∈ 𝓝[g '' s] g x₀, which seems more natural.
  • Note that the condition you suggested, that g maps s to t, is precisely assumed in the special case cont_diff_within_at.fderiv_within'. However, as mentioned in my previous message, I also need this more general case.

@sgouezel sgouezel 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 Dec 2, 2022
@fpvandoorn fpvandoorn 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 Jan 5, 2023
@fpvandoorn fpvandoorn requested a review from sgouezel January 5, 2023 14:45
Copy link
Copy Markdown
Collaborator

@sgouezel sgouezel left a comment

Choose a reason for hiding this comment

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

LGTM, modulo a few docstrings
bors d+
I'm sure I don't need to tell you this, but still: please don't forget the corresponding mathlib 4 PR.

@bors
Copy link
Copy Markdown

bors bot commented Jan 7, 2023

✌️ fpvandoorn can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@leanprover-community-bot-assistant leanprover-community-bot-assistant added delegated The PR author may merge after reviewing final suggestions. and removed awaiting-review The author would like community review of the PR labels Jan 7, 2023
@fpvandoorn
Copy link
Copy Markdown
Member Author

Thanks for the synchronization reminder, I might have forgotten it. It is leanprover/mathlib4#1833

@fpvandoorn
Copy link
Copy Markdown
Member Author

bors merge

@github-actions github-actions bot added the ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) label Jan 25, 2023
bors bot pushed a commit that referenced this pull request Jan 25, 2023
…` for functions with parameters (#16946)

* Prove that `fderiv_within` is `C^n` (at a point within a set) for a function with parameters
* There are some inconvenient side-conditions needed for the lemmas, feel free to recommend improvements
* `set.diag_image` is not used, but a (useful) left-over used before a refactor.
* This is useful for lemmas about `mfderiv` and the smooth vector bundle refactor
* From the sphere eversion project
@bors
Copy link
Copy Markdown

bors bot commented Jan 25, 2023

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(analysis/calculus/cont_diff): Prove that fderiv_within is C^n for functions with parameters [Merged by Bors] - feat(analysis/calculus/cont_diff): Prove that fderiv_within is C^n for functions with parameters Jan 25, 2023
@bors bors bot closed this Jan 25, 2023
@bors bors bot deleted the cont_diff_fderiv branch January 25, 2023 19:38
bors bot pushed a commit to leanprover-community/mathlib4 that referenced this pull request Jan 26, 2023
leanprover-community/mathlib3#16946



Co-authored-by: Chris Hughes <33847686+ChrisHughes24@users.noreply.github.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

delegated The PR author may merge after reviewing final suggestions. ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) t-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants