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: the real exponential is analytic #17218

Closed
wants to merge 3 commits into from

Conversation

sgouezel
Copy link
Contributor

Currently, mathlib proves that the complex exponential is analytic as a consequence of its differentiability, quite late in the import hierarchy -- and this is specific to complexes. On the other hand, we also know that the exponential on a general normed algebra is analytic, thanks to its power series expansion. We switch to deduce the former from the latter, earlier in the import hierarchy, and use this occasion to also prove analyticity of the real exponential in the same file.


Open in Gitpod

@sgouezel sgouezel added the t-analysis Analysis (normed *, calculus) label Sep 28, 2024
Copy link

PR summary 9998b349b7

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Analysis.SpecialFunctions.ExpDeriv 1648 1653 +5 (+0.30%)
Mathlib.Analysis.SpecialFunctions.Complex.Analytic 1886 1891 +5 (+0.27%)
Import changes for all files
Files Import difference
6 files Mathlib.Analysis.Normed.Algebra.Spectrum Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Integral Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique Mathlib.Analysis.Normed.Algebra.Basic Mathlib.LinearAlgebra.Matrix.HermitianFunctionalCalculus
2
20 files Mathlib.NumberTheory.LSeries.HurwitzZetaValues Mathlib.NumberTheory.Harmonic.ZetaAsymp Mathlib.Analysis.Fourier.PoissonSummation Mathlib.Analysis.Distribution.FourierSchwartz Mathlib.NumberTheory.EulerProduct.DirichletLSeries Mathlib.NumberTheory.LSeries.DirichletContinuation Mathlib.NumberTheory.LSeries.ZMod Mathlib.NumberTheory.ModularForms.JacobiTheta.Manifold Mathlib.NumberTheory.LSeries.HurwitzZetaEven Mathlib.Analysis.SpecialFunctions.Gaussian.PoissonSummation Mathlib.NumberTheory.ModularForms.JacobiTheta.OneVariable Mathlib.Analysis.Fourier.FourierTransformDeriv Mathlib.NumberTheory.LSeries.RiemannZeta Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds Mathlib.NumberTheory.LSeries.Dirichlet Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable Mathlib.NumberTheory.ZetaValues Mathlib.NumberTheory.LSeries.HurwitzZetaOdd Mathlib.NumberTheory.LSeries.HurwitzZeta Mathlib.Analysis.Distribution.SchwartzSpace
3
125 files Mathlib.NumberTheory.Cyclotomic.Rat Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv Mathlib.Analysis.SpecialFunctions.Gamma.Basic Mathlib.Analysis.Complex.Angle Mathlib.Analysis.SpecialFunctions.Integrals Mathlib.NumberTheory.Cyclotomic.Discriminant Mathlib.Analysis.SpecialFunctions.Trigonometric.Bounds Mathlib.Tactic.FunProp.ContDiff Mathlib.NumberTheory.GaussSum Mathlib.Analysis.Complex.AbsMax Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv Mathlib.Geometry.Manifold.Complex Mathlib.MeasureTheory.Integral.CircleIntegral Mathlib.Analysis.SpecialFunctions.Gaussian.GaussianIntegral Mathlib.Analysis.SpecialFunctions.Gamma.Beta Mathlib.MeasureTheory.Integral.TorusIntegral Mathlib.Analysis.Complex.TaylorSeries Mathlib.Analysis.FunctionalSpaces.SobolevInequality Mathlib.Probability.Distributions.Exponential Mathlib.Analysis.SpecialFunctions.Complex.Arctan Mathlib.NumberTheory.NumberField.Discriminant Mathlib.Analysis.SpecialFunctions.Log.NegMulLog Mathlib.NumberTheory.NumberField.EquivReindex Mathlib.Analysis.SpecialFunctions.ImproperIntegrals Mathlib.RingTheory.Polynomial.Hermite.Gaussian Mathlib.Analysis.Fourier.ZMod Mathlib.Analysis.SpecialFunctions.Complex.LogBounds Mathlib.Analysis.SpecialFunctions.Gamma.Deligne Mathlib.Analysis.Complex.PhragmenLindelof Mathlib.Analysis.InnerProductSpace.NormPow Mathlib.MeasureTheory.Measure.Lebesgue.VolumeOfBalls Mathlib.NumberTheory.Cyclotomic.Three Mathlib.Geometry.Manifold.PoincareConjecture Mathlib.NumberTheory.LSeries.Deriv Mathlib.Analysis.Fourier.AddCircle Mathlib.Analysis.Fourier.Inversion Mathlib.Computability.AkraBazzi.AkraBazzi Mathlib.Analysis.SpecialFunctions.NonIntegrable Mathlib.Analysis.SpecialFunctions.Complex.Analytic Mathlib.NumberTheory.ModularForms.EisensteinSeries.Basic Mathlib.Probability.Distributions.Gaussian Mathlib.Geometry.Manifold.BumpFunction Mathlib.NumberTheory.Harmonic.GammaDeriv Mathlib.NumberTheory.NumberField.CanonicalEmbedding.FundamentalCone Mathlib.Analysis.Complex.CauchyIntegral Mathlib.Analysis.SpecialFunctions.Pow.Deriv Mathlib.Analysis.SpecialFunctions.PolarCoord Mathlib.Analysis.Complex.UpperHalfPlane.Metric Mathlib.NumberTheory.Cyclotomic.Embeddings Mathlib.Analysis.Complex.Schwarz Mathlib.Data.Real.Pi.Leibniz Mathlib.NumberTheory.FLT.Three Mathlib.NumberTheory.NumberField.CanonicalEmbedding.ConvexBody Mathlib.NumberTheory.NumberField.Units.Basic Mathlib.NumberTheory.DirichletCharacter.GaussSum Mathlib.NumberTheory.ModularForms.EisensteinSeries.MDifferentiable Mathlib.Tactic.NormNum.LegendreSymbol Mathlib.Analysis.SpecialFunctions.BinaryEntropy Mathlib.Analysis.SpecialFunctions.SmoothTransition Mathlib.Combinatorics.Additive.AP.Three.Behrend Mathlib.MeasureTheory.Integral.IntegralEqImproper Mathlib.Analysis.Complex.Polynomial.Basic Mathlib.Analysis.Complex.RemovableSingularity Mathlib.Analysis.Complex.Liouville Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.GaussSum Mathlib.NumberTheory.LSeries.MellinEqDirichlet Mathlib.NumberTheory.LegendreSymbol.JacobiSymbol Mathlib.Analysis.Complex.LocallyUniformLimit Mathlib.NumberTheory.Harmonic.EulerMascheroni Mathlib.Analysis.SpecialFunctions.Log.Deriv Mathlib.NumberTheory.LegendreSymbol.AddCharacter Mathlib.NumberTheory.Cyclotomic.PID Mathlib.NumberTheory.JacobiSum.Basic Mathlib.Analysis.Distribution.AEEqOfIntegralContDiff Mathlib.NumberTheory.LegendreSymbol.QuadraticReciprocity Mathlib.Analysis.SpecialFunctions.Gamma.BohrMollerup Mathlib.Data.Real.Pi.Bounds Mathlib.MeasureTheory.Integral.PeakFunction Mathlib.NumberTheory.NumberField.Units.DirichletTheorem Mathlib.MeasureTheory.Integral.ExpDecay Mathlib.NumberTheory.NumberField.Units.Regulator Mathlib.Analysis.SpecialFunctions.Stirling Mathlib.Analysis.ODE.Gronwall Mathlib.RingTheory.Polynomial.Selmer Mathlib.Geometry.Manifold.IntegralCurve Mathlib.MeasureTheory.Constructions.HaarToSphere Mathlib.Analysis.SpecialFunctions.JapaneseBracket Mathlib.MeasureTheory.Integral.CircleTransform Mathlib.Analysis.SpecialFunctions.Arsinh Mathlib.Tactic.FunProp.Differentiable Mathlib.Analysis.MellinInversion Mathlib.Analysis.Complex.Polynomial.UnitTrinomial Mathlib.Geometry.Manifold.PartitionOfUnity Mathlib.Analysis.Complex.Hadamard Mathlib.Analysis.Calculus.LineDeriv.IntegrationByParts Mathlib.Probability.Distributions.Pareto Mathlib.Analysis.SpecialFunctions.Trigonometric.InverseDeriv Mathlib.Analysis.Calculus.Rademacher Mathlib.Analysis.Calculus.BumpFunction.InnerProduct Mathlib.NumberTheory.NumberField.House Mathlib.NumberTheory.NumberField.Embeddings Mathlib.NumberTheory.Harmonic.Bounds Mathlib.Analysis.MellinTransform Mathlib.Analysis.SpecialFunctions.Complex.CircleAddChar Mathlib.MeasureTheory.Integral.Gamma Mathlib.Analysis.Convex.SpecificFunctions.Deriv Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv Mathlib.Analysis.Calculus.BumpFunction.FiniteDimension Mathlib.Probability.Distributions.Gamma Mathlib.Analysis.SpecialFunctions.ExpDeriv Mathlib.Analysis.Complex.OpenMapping Mathlib.Analysis.ODE.PicardLindelof Mathlib.NumberTheory.NumberField.ClassNumber Mathlib.Analysis.SpecialFunctions.Trigonometric.ArctanDeriv Mathlib.Tactic Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform Mathlib.NumberTheory.Bertrand Mathlib.Analysis.SpecialFunctions.Pow.Integral Mathlib.Geometry.Manifold.WhitneyEmbedding Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic Mathlib.Data.Real.Pi.Wallis Mathlib.NumberTheory.LSeries.AbstractFuncEq Mathlib.Data.Complex.ExponentialBounds Mathlib.Geometry.Manifold.Instances.Sphere
5

Declarations diff

+ AnalyticAt.restrictScalars
+ AnalyticAt.rexp
+ AnalyticOn.restrictScalars
+ AnalyticOn.rexp
+ AnalyticOnNhd.contDiff
+ AnalyticOnNhd.restrictScalars
+ AnalyticOnNhd.rexp
+ AnalyticWithinAt.restrictScalars
+ AnalyticWithinAt.rexp
+ HasFPowerSeriesAt.restrictScalars
+ HasFPowerSeriesOnBall.restrictScalars
+ HasFPowerSeriesWithinAt.restrictScalars
+ HasFPowerSeriesWithinOnBall.restrictScalars
+ analyticAt_rexp
+ analyticOnNhd_inverse
+ analyticOnNhd_rexp
+ analyticOn_rexp
-++- contDiff_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>

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

Copy link
Member

@eric-wieser eric-wieser left a comment

Choose a reason for hiding this comment

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

Nice!

bors merge

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the ready-to-merge This PR has been sent to bors. label Sep 28, 2024
mathlib-bors bot pushed a commit that referenced this pull request Sep 28, 2024
Currently, mathlib proves that the complex exponential is analytic as a consequence of its differentiability, quite late in the import hierarchy -- and this is specific to complexes. On the other hand, we also know that the exponential on a general normed algebra is analytic, thanks to its power series expansion. We switch to deduce the former from the latter, earlier in the import hierarchy, and use this occasion to also prove analyticity of the real exponential in the same file.
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Sep 29, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: the real exponential is analytic [Merged by Bors] - feat: the real exponential is analytic Sep 29, 2024
@mathlib-bors mathlib-bors bot closed this Sep 29, 2024
@mathlib-bors mathlib-bors bot deleted the SG_move_exp branch September 29, 2024 00:04
fbarroero pushed a commit that referenced this pull request Oct 2, 2024
Currently, mathlib proves that the complex exponential is analytic as a consequence of its differentiability, quite late in the import hierarchy -- and this is specific to complexes. On the other hand, we also know that the exponential on a general normed algebra is analytic, thanks to its power series expansion. We switch to deduce the former from the latter, earlier in the import hierarchy, and use this occasion to also prove analyticity of the real exponential in the same file.
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