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(ContinuousFunctionalCalculus): Define the real log based on the CFC #14448

Closed
wants to merge 24 commits into from

Conversation

dupuisf
Copy link
Contributor

@dupuisf dupuisf commented Jul 5, 2024

This PR defines CFC.log as cfc Real.log, and shows its basic properties, such as the fact that it's the inverse of NormedSpace.exp ℝ. Along the way, we also show that the exponential defined via the CFC is equal to NormedSpace.exp, which is defined via power series.


Open in Gitpod

@dupuisf dupuisf added awaiting-review awaiting-CI t-analysis Analysis (normed *, calculus) labels Jul 5, 2024
Copy link

github-actions bot commented Jul 5, 2024

PR summary ec1d025449

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.ExpLog 1879

Declarations diff

+ NormedSpace.exp_continuousMap_eq
+ _root_.IsSelfAdjoint.log
+ cfc_add_const
+ cfc_const_add
+ complex_exp_eq_normedSpace_exp
+ exp_eq_normedSpace_exp
+ exp_log
+ log
+ log_algebraMap
+ log_exp
+ log_one
+ log_pow
+ log_smul
+ log_zero
+ real_exp_eq_normedSpace_exp

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

@dupuisf dupuisf requested a review from j-loreaux July 5, 2024 15:15
Comment on lines 46 to 47
lemma NormedSpace.exp_continuousMap_eq (f : C(α, 𝕜)) :
exp 𝕜 f = (⟨exp 𝕜 ∘ f, Continuous.comp exp_continuous f.continuous⟩ : C(α, 𝕜)) := by
Copy link
Contributor Author

Choose a reason for hiding this comment

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

It feels like this lemma should belong with NormedSpace.exp, but none of those files have the right imports. #find_home tells me to put it in Mathlib.Analysis.NormedSpace.Spectrum, but that feels even more out of place than just leaving it here.

@j-loreaux j-loreaux self-assigned this Jul 13, 2024
Copy link
Collaborator

@j-loreaux j-loreaux left a comment

Choose a reason for hiding this comment

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

It's very annoying that aesop won't prove (∀ x ∈ spectrum ℝ a, 0 < x) → ∀ x ∈ spectrum ℝ a, x ≠ 0, but I also don't think we can make ne_of_gt or its synonyms into an aesop lemma (they would match too much, and they are very unsafe). It would be nice if we had some automation to handle this.

It would also be nice to have ways to customize the fun_prop part of cfc_cont_tac after the fact, maybe with some options? We should think about this. Because it would be good to add the necessary details (like the x ≠ 0 bit above), and then set an option to make cfc_cont_tac do what we need it to, without forcing ourselves to manually apply fun_prop with special dischargers.

@j-loreaux j-loreaux added the awaiting-author A reviewer has asked the author a question or requested changes label Jul 16, 2024
@dupuisf
Copy link
Contributor Author

dupuisf commented Jul 17, 2024

It's very annoying that aesop won't prove (∀ x ∈ spectrum ℝ a, 0 < x) → ∀ x ∈ spectrum ℝ a, x ≠ 0, but I also don't think we can make ne_of_gt or its synonyms into an aesop lemma (they would match too much, and they are very unsafe). It would be nice if we had some automation to handle this.

It would also be nice to have ways to customize the fun_prop part of cfc_cont_tac after the fact, maybe with some options? We should think about this. Because it would be good to add the necessary details (like the x ≠ 0 bit above), and then set an option to make cfc_cont_tac do what we need it to, without forcing ourselves to manually apply fun_prop with special dischargers.

Yes, we should think about this at some point. I think it's an instance of a much more general problem though: how do we automatize goals like ContinuousOn on an interval? If there are function compositions, we need a way to map the interval through the function composition and to show that some interval is contained in another. I don't think we have any tactic at the moment that can do this well.

@dupuisf dupuisf removed the awaiting-author A reviewer has asked the author a question or requested changes label Jul 17, 2024
@j-loreaux
Copy link
Collaborator

bors merge

@github-actions github-actions bot added the ready-to-merge This PR has been sent to bors. label Jul 17, 2024
mathlib-bors bot pushed a commit that referenced this pull request Jul 17, 2024
…CFC (#14448)

This PR defines `CFC.log` as `cfc Real.log`, and shows its basic properties, such as the fact that it's the inverse of `NormedSpace.exp ℝ`. Along the way, we also show that the exponential defined via the CFC is equal to `NormedSpace.exp`, which is defined via power series.



Co-authored-by: Frédéric Dupuis <[email protected]>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Jul 17, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(ContinuousFunctionalCalculus): Define the real log based on the CFC [Merged by Bors] - feat(ContinuousFunctionalCalculus): Define the real log based on the CFC Jul 17, 2024
@mathlib-bors mathlib-bors bot closed this Jul 17, 2024
@mathlib-bors mathlib-bors bot deleted the dupuisf/cfc_explog branch July 17, 2024 03:34
@adomani adomani mentioned this pull request Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has been sent to bors. t-analysis Analysis (normed *, calculus)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants