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

refactor(Analysis/NormedSpace/Exponential): remove the 𝕂 argument from exp #8370

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

eric-wieser
Copy link
Member

@eric-wieser eric-wieser commented Nov 12, 2023

This argument is still needed for almost all the lemmas, which means it can longer be found by unification.

We keep around expSeries 𝕂 A, as it's needed for talking about the radius of convergence over different base fields.

This is a prerequisite for #8372, as we can't merge the functions until they have the same interface.


Open in Gitpod

This is started from the mathport output on leanprover-community/mathlib3#19244

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Nov 12, 2023
@eric-wieser eric-wieser added awaiting-review awaiting-CI RFC Request for comment and removed merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) labels Nov 12, 2023
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Nov 13, 2023
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) and removed merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) labels Nov 13, 2023
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jan 5, 2024
eric-wieser added a commit that referenced this pull request Jan 5, 2024
…ditive monoids

While many of the lemmas cease to apply,
the definitions of sequences and their sums are still perfectly well-behaved in additive monoids;
no negation is needed.

We could use this to generalize `NormedSpace.exp` such that it works with `NNReal`,
but unless leanprover-community/mathlib3#16554 or similar lands and provides a `DivisionSemiring.nnqsmul` field,
that would conflict with #8370.
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jan 7, 2024
Copy link
Collaborator

@girving girving left a comment

Choose a reason for hiding this comment

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

I'm curious if 𝕂 can be stripped from more of the lemmas, using the fact that any normed algebra is a real normed algebra. But possibly that would interfere with inference in practice?

Mathlib/Analysis/NormedSpace/DualNumber.lean Outdated Show resolved Hide resolved
Mathlib/Analysis/NormedSpace/Exponential.lean Show resolved Hide resolved
analyticAt_exp_of_mem_ball x ((expSeries_radius_eq_top 𝕂 𝔸).symm ▸ edist_lt_top _ _)
#align exp_analytic NormedSpace.exp_analytic

variable (𝕂)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why do we need this? If it's so that we pull in a NormedAlgebra assumption, couldn't we always do that over the reals (since complex normed algebras are real normed algebras)?

[∀ i, NormedAlgebra 𝕂 (𝔸 i)] [∀ i, CompleteSpace (𝔸 i)] (x : ∀ i, 𝔸 i) (i : ι) :
exp 𝕂 x i = exp 𝕂 (x i) :=
map_exp _ (Pi.evalRingHom 𝔸 i) (continuous_apply _) x
[∀ i, Algebra ℚ (𝔸 i)] [∀ i, NormedAlgebra 𝕂 (𝔸 i)] [∀ i, CompleteSpace (𝔸 i)] (x : ∀ i, 𝔸 i)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could we switched the normed algebra to be always over the reals, as complex normed algebras are real normed algebras (resp. below)?

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Feb 22, 2024
Copy link
Member Author

Choose a reason for hiding this comment

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

Turns out this could be generalized anyway, #10865

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Feb 23, 2024
@girving girving self-requested a review February 23, 2024 08:47
Copy link
Collaborator

@girving girving left a comment

Choose a reason for hiding this comment

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

I think there's a good chance a few of the instance hypotheses can be removed (in particular, anything that uses IsROrC can probably just use reals), but that's fine to put off.

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) and removed merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) labels Feb 23, 2024
@eric-wieser eric-wieser added t-analysis Analysis (normed *, calculus) and removed merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) labels Feb 27, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Mar 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) RFC Request for comment t-analysis Analysis (normed *, calculus)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants