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/complex/basic): add several trivial lemmas for differentiable functions. #8418

Closed
wants to merge 15 commits into from

Conversation

justadzr
Copy link
Collaborator

@justadzr justadzr commented Jul 25, 2021

This file relates the differentiability of a function to the linearity of its fderiv.


Hello, some of the lemmas are quite trivial but are mentioned/used previously in other PRs or branches. I am not sure if analysis/complex/basic is the right place to put these lemmas, but it seems to me that similar lemmas were put in this particular file in the branch "complex-diff".

Open in Gitpod

@justadzr justadzr added RFC Request for comment awaiting-review The author would like community review of the PR labels Jul 25, 2021

variables {f : ℂ → ℂ} {z : ℂ}

lemma fderiv_eq_fderiv_of_holomorph (h : differentiable_at ℂ f z) :
Copy link
Member

Choose a reason for hiding this comment

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

I don't know the conventions... have we established to write of_holomorph for complex differentiable functions?

by { rw (h.restrict_scalars ℝ).has_fderiv_at.unique (h.has_fderiv_at.restrict_scalars ℝ),
simp only [coe_restrict_scalars'], }

lemma has_fderiv_at_of_eq {f' : ℂ →L[ℝ] ℂ} {g' : ℂ →L[ℂ] ℂ}
Copy link
Member

Choose a reason for hiding this comment

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

Can this be generalized away from the reals and complexes? I can imagine this might be useful for other extensions of complete normed fields (or whatever assumptions are needed to get fderiv working).

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think generalizing these lemmas (fderiv_eq_fderiv_of_holomorph and has_fderiv_at_of_eq) would be really nice.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It seems that I can also generalize the lemma holomorphic_iff_is_complex_linear (the old is_complex_linear_iff_holomorph) to differentiable_iff_is_linear_map, but I am not sure if that's something useful for other fields.

src/analysis/complex/basic.lean Outdated Show resolved Hide resolved
src/analysis/complex/basic.lean Outdated Show resolved Hide resolved
@jcommelin jcommelin 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 Jul 26, 2021
@justadzr justadzr 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 Jul 27, 2021
@hrmacbeth
Copy link
Member

There's a general shift away from unbundled statements (eg, is_linear_map) in favour of bundled statements (eg, linear_map). I'll leave some comments on #8424 explaining how to use the bundled version. If you make that switch and it works out well, the lemmas here about is_linear_map will be unnecessary and I'd propose removing them so other people don't go down a less-supported path. So let's put this PR on hold while we discuss over at #8424?

@justadzr justadzr removed the RFC Request for comment label Aug 6, 2021
@justadzr justadzr changed the title feat(analysis/complex/basic): add several trivial lemmas for complex differentiable functions. feat(analysis/complex/basic): add several trivial lemmas for differentiable functions. Aug 6, 2021
Copy link
Member

@hrmacbeth hrmacbeth left a comment

Choose a reason for hiding this comment

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

Thanks! These lemmas are hard to name, but I think an important point is that all of them should have restrict_scalars in the name somewhere.

Maybe has_fderiv_within_at_of_restrict_scalars instead of has_fderiv_within_at_of_eq, and differentiable_within_at_iff_restrict_scalars instead of differentiable_within_at_iff_exists_linear_map? (Unfortunately these names are still a bit misleading.) Or let me know if you have other ideas.

src/analysis/calculus/fderiv.lean Outdated Show resolved Hide resolved
src/analysis/calculus/fderiv.lean Outdated Show resolved Hide resolved
src/analysis/calculus/fderiv.lean Outdated Show resolved Hide resolved
justadzr and others added 3 commits August 7, 2021 00:39
Co-authored-by: hrmacbeth <25316162+hrmacbeth@users.noreply.github.com>
Co-authored-by: hrmacbeth <25316162+hrmacbeth@users.noreply.github.com>
@justadzr
Copy link
Collaborator Author

justadzr commented Aug 6, 2021

Thanks! These lemmas are hard to name, but I think an important point is that all of them should have restrict_scalars in the name somewhere.

Maybe has_fderiv_within_at_of_restrict_scalars instead of has_fderiv_within_at_of_eq, and differentiable_within_at_iff_restrict_scalars instead of differentiable_within_at_iff_exists_linear_map? (Unfortunately these names are still a bit misleading.) Or let me know if you have other ideas.

Done!

Copy link
Member

@hrmacbeth hrmacbeth left a comment

Choose a reason for hiding this comment

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

Thanks!

bors d+

src/analysis/calculus/fderiv.lean Outdated Show resolved Hide resolved
@bors
Copy link

bors bot commented Aug 7, 2021

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

@github-actions github-actions bot added the delegated The PR author may merge after reviewing final suggestions. label Aug 7, 2021
@github-actions github-actions bot removed the awaiting-review The author would like community review of the PR label Aug 7, 2021
justadzr and others added 2 commits August 7, 2021 01:13
Co-authored-by: hrmacbeth <25316162+hrmacbeth@users.noreply.github.com>
@justadzr
Copy link
Collaborator Author

justadzr commented Aug 7, 2021

bors r+

bors bot pushed a commit that referenced this pull request Aug 7, 2021
…tiable functions. (#8418)

This file relates the differentiability of a function to the linearity of its `fderiv`.



Co-authored-by: justadzr <66561890+justadzr@users.noreply.github.com>
@bors
Copy link

bors bot commented Aug 7, 2021

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(analysis/complex/basic): add several trivial lemmas for differentiable functions. [Merged by Bors] - feat(analysis/complex/basic): add several trivial lemmas for differentiable functions. Aug 7, 2021
@bors bors bot closed this Aug 7, 2021
@bors bors bot deleted the new-complex-conformal-branch branch August 7, 2021 00:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated The PR author may merge after reviewing final suggestions.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants