Skip to content

feat(Analysis/SpecialFunctions/ImproperIntegrals): Frullani integral#34815

Open
Deep0Thinking wants to merge 17 commits intoleanprover-community:masterfrom
Deep0Thinking:Frullani_integral
Open

feat(Analysis/SpecialFunctions/ImproperIntegrals): Frullani integral#34815
Deep0Thinking wants to merge 17 commits intoleanprover-community:masterfrom
Deep0Thinking:Frullani_integral

Conversation

@Deep0Thinking
Copy link
Copy Markdown
Contributor

@Deep0Thinking Deep0Thinking commented Feb 3, 2026


Add a proof of Frullani integral.

Main theorems:

  • Frullani.integral_Ioi
  • IntegrableOn.tendsto_integral_Ioi
  • exists_integral_div_eq_mul_log

Supporting lemmas:

  • Frullani.comp_mul_left_div
  • Frullani.intervalIntegrable_div
  • Frullani.exists_integral_div_eq_mul_log
  • Ioi_diff_Ioc
  • ContinuousOn.comp_mul_left_div, ContinuousOn.comp_mul_right_div
  • ContinuousOn.comp_mul_left, ContinuousOn.comp_mul_right

Open in Gitpod

@github-actions github-actions bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label Feb 3, 2026
@github-actions github-actions bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label Feb 3, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 3, 2026

PR summary 35186be320

Import changes exceeding 2%

% File
+6.95% Mathlib.MeasureTheory.Integral.IntervalIntegral.MeanValue

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.MeasureTheory.Integral.IntervalIntegral.MeanValue 2316 2477 +161 (+6.95%)
Mathlib.Analysis.SpecialFunctions.ImproperIntegrals 2498 2500 +2 (+0.08%)
Import changes for all files
Files Import difference
95 files Mathlib.Analysis.Distribution.FourierMultiplier Mathlib.Analysis.Distribution.FourierSchwartz Mathlib.Analysis.Distribution.SchwartzSpace.Fourier Mathlib.Analysis.Distribution.Support Mathlib.Analysis.Distribution.TemperedDistribution Mathlib.Analysis.Fourier.Convolution Mathlib.Analysis.Fourier.Inversion Mathlib.Analysis.Fourier.LpSpace Mathlib.Analysis.Fourier.PoissonSummation Mathlib.Analysis.MellinInversion Mathlib.Analysis.MellinTransform Mathlib.Analysis.Meromorphic.Complex Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.ExpLog.Order Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.IntegralRepresentation Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Order Mathlib.Analysis.SpecialFunctions.Gamma.Basic Mathlib.Analysis.SpecialFunctions.Gamma.Beta Mathlib.Analysis.SpecialFunctions.Gamma.BohrMollerup Mathlib.Analysis.SpecialFunctions.Gamma.Deligne Mathlib.Analysis.SpecialFunctions.Gamma.Deriv Mathlib.Analysis.SpecialFunctions.Gamma.Digamma Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform Mathlib.Analysis.SpecialFunctions.Gaussian.GaussianIntegral Mathlib.Analysis.SpecialFunctions.Gaussian.PoissonSummation Mathlib.Analysis.SpecialFunctions.ImproperIntegrals Mathlib.MeasureTheory.Integral.Gamma Mathlib.MeasureTheory.Measure.Lebesgue.VolumeOfBalls Mathlib.NumberTheory.Cyclotomic.PID Mathlib.NumberTheory.Cyclotomic.Rat Mathlib.NumberTheory.Cyclotomic.Three Mathlib.NumberTheory.EulerProduct.DirichletLSeries Mathlib.NumberTheory.FLT.Three Mathlib.NumberTheory.Harmonic.GammaDeriv Mathlib.NumberTheory.Harmonic.ZetaAsymp Mathlib.NumberTheory.LSeries.AbstractFuncEq 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.MellinEqDirichlet Mathlib.NumberTheory.LSeries.Nonvanishing Mathlib.NumberTheory.LSeries.PrimesInAP Mathlib.NumberTheory.LSeries.RiemannZeta Mathlib.NumberTheory.LSeries.SumCoeff Mathlib.NumberTheory.LSeries.ZMod Mathlib.NumberTheory.LSeries.ZetaZeros Mathlib.NumberTheory.ModularForms.DedekindEta Mathlib.NumberTheory.ModularForms.Delta Mathlib.NumberTheory.ModularForms.Derivative Mathlib.NumberTheory.ModularForms.Discriminant Mathlib.NumberTheory.ModularForms.EisensteinSeries.E2.Defs Mathlib.NumberTheory.ModularForms.EisensteinSeries.E2.MDifferentiable Mathlib.NumberTheory.ModularForms.EisensteinSeries.E2.Summable Mathlib.NumberTheory.ModularForms.EisensteinSeries.E2.Transform Mathlib.NumberTheory.ModularForms.EisensteinSeries.QExpansion Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds Mathlib.NumberTheory.ModularForms.JacobiTheta.Manifold Mathlib.NumberTheory.ModularForms.JacobiTheta.OneVariable Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable Mathlib.NumberTheory.NumberField.CMField Mathlib.NumberTheory.NumberField.CanonicalEmbedding.ConvexBody Mathlib.NumberTheory.NumberField.CanonicalEmbedding.FundamentalCone Mathlib.NumberTheory.NumberField.CanonicalEmbedding.NormLeOne Mathlib.NumberTheory.NumberField.ClassNumber Mathlib.NumberTheory.NumberField.Cyclotomic.Basic Mathlib.NumberTheory.NumberField.Cyclotomic.Galois Mathlib.NumberTheory.NumberField.Cyclotomic.Ideal Mathlib.NumberTheory.NumberField.Cyclotomic.PID Mathlib.NumberTheory.NumberField.Cyclotomic.Three Mathlib.NumberTheory.NumberField.DedekindZeta Mathlib.NumberTheory.NumberField.Discriminant.Basic Mathlib.NumberTheory.NumberField.Discriminant.Different Mathlib.NumberTheory.NumberField.Ideal.Asymptotics Mathlib.NumberTheory.NumberField.Ideal.Basic Mathlib.NumberTheory.NumberField.Units.DirichletTheorem Mathlib.NumberTheory.NumberField.Units.Regulator Mathlib.Probability.CentralLimitTheorem Mathlib.Probability.Distributions.Beta Mathlib.Probability.Distributions.Cauchy Mathlib.Probability.Distributions.Exponential Mathlib.Probability.Distributions.Gamma Mathlib.Probability.Distributions.Gaussian.Basic Mathlib.Probability.Distributions.Gaussian.CharFun Mathlib.Probability.Distributions.Gaussian.Fernique Mathlib.Probability.Distributions.Gaussian.HasGaussianLaw.Basic Mathlib.Probability.Distributions.Gaussian.HasGaussianLaw.Def Mathlib.Probability.Distributions.Gaussian.HasGaussianLaw.Independence Mathlib.Probability.Distributions.Gaussian.IsGaussianProcess.Basic Mathlib.Probability.Distributions.Gaussian.IsGaussianProcess.Def Mathlib.Probability.Distributions.Gaussian.IsGaussianProcess.Independence Mathlib.Probability.Distributions.Gaussian.Multivariate Mathlib.Probability.Distributions.Gaussian.Real Mathlib.Probability.Distributions.Pareto
2
Mathlib.MeasureTheory.Integral.IntervalIntegral.MeanValue 161

Declarations diff

+ ContinuousOn.comp_mul_left
+ ContinuousOn.comp_mul_left_div
+ ContinuousOn.comp_mul_right
+ ContinuousOn.comp_mul_right_div
+ comp_mul_left_div
+ integral_Ioi_eq
+ integral_comp_mul_div
+ intervalIntegrable_comp_mul_div
+ le_max_mul_of_mem_uIcc_mul
+ min_mul_le_of_mem_uIcc_mul
+ pos_of_mem_uIcc_mul
+ tendsto_intervalIntegral
++ exists_integral_div_eq_mul_log

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

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

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


No changes to technical debt.

You can run this locally as

./scripts/reporting/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).

@Deep0Thinking
Copy link
Copy Markdown
Contributor Author

t-analysis

@github-actions github-actions bot added the t-analysis Analysis (normed *, calculus) label Feb 4, 2026
@Deep0Thinking Deep0Thinking changed the title feat(Analysis/SpecialFunctions/ImproperIntegrals): Frullani integral and log mean-value lemmas feat(Analysis/SpecialFunctions/ImproperIntegrals): Frullani integral Feb 4, 2026
Comment thread Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean Outdated
Comment thread Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean Outdated
@sgouezel sgouezel added the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 5, 2026
@mathlib-dependent-issues mathlib-dependent-issues bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Feb 8, 2026
@mathlib-dependent-issues mathlib-dependent-issues bot removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Mar 18, 2026
@mathlib-dependent-issues
Copy link
Copy Markdown

This PR/issue depends on:

@mathlib-merge-conflicts mathlib-merge-conflicts 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, 2026
@mathlib-merge-conflicts
Copy link
Copy Markdown

This pull request has conflicts, please merge master and resolve them.

@Deep0Thinking Deep0Thinking force-pushed the Frullani_integral branch 3 times, most recently from 95ec31c to 9d3d5b1 Compare March 22, 2026 16:20
@github-actions github-actions 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 Mar 22, 2026
…imit form (`sorry`); improve docstring and variable naming; format
@Deep0Thinking
Copy link
Copy Markdown
Contributor Author

-awaiting-author

@github-actions github-actions bot removed the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 1, 2026
@Deep0Thinking
Copy link
Copy Markdown
Contributor Author

@sgouezel Thank you for the comments! I've proved the limit form of Frullani's integral (tendsto_intervalIntegral).

@Deep0Thinking Deep0Thinking requested a review from sgouezel April 1, 2026 03:29
Copy link
Copy Markdown
Contributor

@sgouezel sgouezel left a comment

Choose a reason for hiding this comment

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

You're wirting this for functions taking values in R. But isn't this true for any function taking values in a (complete) real normed space? The strategy would have to be slightly different as lemmas such as exists_integral_div_eq_mul_log would not apply any more (this is specifically a one-dimensional phenomenon) but I guess the result will still be true.

@sgouezel sgouezel added the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-author A reviewer has asked the author a question or requested changes. large-import Automatically added label for PRs with a significant increase in transitive imports new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants