Skip to content

[Merged by Bors] - chore(Analysis/Distribution): split off functions and measures of temperate growth #30553

Closed
mcdoll wants to merge 11 commits intoleanprover-community:masterfrom
mcdoll:split_temperate
Closed

[Merged by Bors] - chore(Analysis/Distribution): split off functions and measures of temperate growth #30553
mcdoll wants to merge 11 commits intoleanprover-community:masterfrom
mcdoll:split_temperate

Conversation

@mcdoll
Copy link
Copy Markdown
Member

@mcdoll mcdoll commented Oct 14, 2025

The Schwartz function file reached 1500 lines of code, so it really needs splitting.

The only other change is that I added namespaces and moved one lemma into the MeasureTheory.Measure namespace to allow for dot-notation.


I've added Anatole to the list of authors for the BigO additions, I don't know whether there is someone else that should be mentioned. @mans0954 did you contribute to the temperate growth functions?

I did not write any new doc-strings, so that this PR does not get hung up on that, but this should be done in a subsequent PR.

Open in Gitpod

@github-actions github-actions bot added the t-analysis Analysis (normed *, calculus) label Oct 14, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Oct 14, 2025

PR summary e29df49f46

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
20 files Mathlib.Analysis.Distribution.FourierSchwartz Mathlib.Analysis.Distribution.SchwartzSpace Mathlib.Analysis.Fourier.PoissonSummation Mathlib.Analysis.SpecialFunctions.Gaussian.PoissonSummation Mathlib.NumberTheory.EulerProduct.DirichletLSeries Mathlib.NumberTheory.Harmonic.ZetaAsymp Mathlib.NumberTheory.LSeries.DirichletContinuation Mathlib.NumberTheory.LSeries.Dirichlet Mathlib.NumberTheory.LSeries.HurwitzZetaEven Mathlib.NumberTheory.LSeries.HurwitzZetaOdd Mathlib.NumberTheory.LSeries.HurwitzZetaValues Mathlib.NumberTheory.LSeries.HurwitzZeta Mathlib.NumberTheory.LSeries.Nonvanishing Mathlib.NumberTheory.LSeries.PrimesInAP Mathlib.NumberTheory.LSeries.RiemannZeta Mathlib.NumberTheory.LSeries.ZMod Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds Mathlib.NumberTheory.ModularForms.JacobiTheta.Manifold Mathlib.NumberTheory.ModularForms.JacobiTheta.OneVariable Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable
1
Mathlib.Analysis.Distribution.TemperateGrowth (new file) 2432

Declarations diff

+ HasTemperateGrowth.const
+ HasTemperateGrowth.exists_eLpNorm_lt_top
+ HasTemperateGrowth.isBigO
+ HasTemperateGrowth.isBigO_uniform
+ HasTemperateGrowth.norm_iteratedFDeriv_le_uniform_aux
+ HasTemperateGrowth.of_fderiv
+ HasTemperateGrowth.zero
+ IsAddHaarMeasure.instHasTemperateGrowth
+ _root_.integrable_of_le_of_pow_mul_le
+ _root_.integral_pow_mul_le_of_le_of_pow_mul_le
+ _root_.pow_mul_le_of_le_of_pow_mul_le
+ hasTemperateGrowth_iff_isBigO
+ instance _root_.MeasureTheory.IsFiniteMeasure.instHasTemperateGrowth {μ : Measure D}
+ integrablePower
++ HasTemperateGrowth
- _root_.Function.HasTemperateGrowth
- _root_.Function.HasTemperateGrowth.const
- _root_.Function.HasTemperateGrowth.isBigO
- _root_.Function.HasTemperateGrowth.isBigO_uniform
- _root_.Function.HasTemperateGrowth.norm_iteratedFDeriv_le_uniform_aux
- _root_.Function.HasTemperateGrowth.of_fderiv
- _root_.Function.HasTemperateGrowth.zero
- _root_.Function.hasTemperateGrowth_iff_isBigO
- _root_.MeasureTheory.Measure.HasTemperateGrowth
- _root_.MeasureTheory.Measure.HasTemperateGrowth.exists_eLpNorm_lt_top
- _root_.MeasureTheory.Measure.integrablePower
- instance _root_.MeasureTheory.Measure.IsAddHaarMeasure.instHasTemperateGrowth {μ : Measure D}
- instance _root_.MeasureTheory.Measure.IsFiniteMeasure.instHasTemperateGrowth {μ : Measure D}
- integrable_of_le_of_pow_mul_le
- integral_pow_mul_le_of_le_of_pow_mul_le
- pow_mul_le_of_le_of_pow_mul_le

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>

The doc-module for script/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@mcdoll mcdoll changed the title chore(Analysis/Distribution): split of functions and measures of temperate growth chore(Analysis/Distribution): split off functions and measures of temperate growth Oct 14, 2025
/-- A measure `μ` has temperate growth if there is an `n : ℕ` such that `(1 + ‖x‖) ^ (- n)` is
`μ`-integrable. -/
class HasTemperateGrowth (μ : Measure D) : Prop where
exists_integrable : ∃ (n : ℕ), Integrable (fun x ↦ (1 + ‖x‖) ^ (- (n : ℝ))) μ
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This has nothing to do with the PR, but why are you using real exponents here? Doesn't it make things more complicated?

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.

Honestly, I don't remember and I agree it looks a bit funny. You do need either real or integer powers, so it might have been easier just do change n to be real or integer.

Co-authored-by: Anatole Dedecker <anatolededecker@gmail.com>
Copy link
Copy Markdown
Member

@ADedecker ADedecker left a comment

Choose a reason for hiding this comment

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

Sorry for the delay.

Could you ask Christopher on Zulip about the authorship ? Other than that and these small comments I think this is ready to go.

@ADedecker ADedecker added the awaiting-author A reviewer has asked the author a question or requested changes. label Oct 28, 2025
mcdoll and others added 4 commits October 28, 2025 22:03
Co-authored-by: Anatole Dedecker <anatolededecker@gmail.com>
Co-authored-by: Anatole Dedecker <anatolededecker@gmail.com>
Co-authored-by: Anatole Dedecker <anatolededecker@gmail.com>
Co-authored-by: Anatole Dedecker <anatolededecker@gmail.com>
Copy link
Copy Markdown
Member Author

@mcdoll mcdoll left a comment

Choose a reason for hiding this comment

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

Did a check with git blame and the parts that I was not remembering doing myself were by Sebastien for the Fourier transform.

@mcdoll mcdoll removed the awaiting-author A reviewer has asked the author a question or requested changes. label Oct 28, 2025
@ADedecker
Copy link
Copy Markdown
Member

Thanks!

bors d+

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Oct 28, 2025

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

@ghost ghost added the delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). label Oct 28, 2025
@mcdoll
Copy link
Copy Markdown
Member Author

mcdoll commented Oct 29, 2025

Thanks for the review! I will do the two issues that have come up tomorrow.
bors merge

mathlib-bors bot pushed a commit that referenced this pull request Oct 29, 2025
…perate growth (#30553)

The Schwartz function file reached 1500 lines of code, so it really needs splitting.

The only other change is that I added namespaces and moved one lemma into the `MeasureTheory.Measure` namespace to allow for dot-notation.
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Oct 29, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title chore(Analysis/Distribution): split off functions and measures of temperate growth [Merged by Bors] - chore(Analysis/Distribution): split off functions and measures of temperate growth Oct 29, 2025
@mathlib-bors mathlib-bors bot closed this Oct 29, 2025
BeibeiX0 pushed a commit to BeibeiX0/mathlib4 that referenced this pull request Nov 7, 2025
…perate growth (leanprover-community#30553)

The Schwartz function file reached 1500 lines of code, so it really needs splitting.

The only other change is that I added namespaces and moved one lemma into the `MeasureTheory.Measure` namespace to allow for dot-notation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). t-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants