Skip to content

feat: introduce an IsNormableSpace class - #42983

Open
sgouezel wants to merge 21 commits into
leanprover-community:masterfrom
sgouezel:SG_normable
Open

feat: introduce an IsNormableSpace class#42983
sgouezel wants to merge 21 commits into
leanprover-community:masterfrom
sgouezel:SG_normable

Conversation

@sgouezel

@sgouezel sgouezel commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

This is relevant to be able to use functions like ContinuousLinearMap.flip on tangent spaces, which are normable but not normed. See Zulip discussion at #Is there code for X? > Pulling back continuous inner product @ 💬

This PR introduces a new typeclass IsNormableSpace 𝕜 E modelled on PolynormableSpace 𝕜 E and establishes basic API. It extends basic bilinear functions (like ContinuousLinearMap.flip or ContinuousLInearMap.bilinearComp) to normable spaces. It also shows that finite-dimensional spaces are normable, as well as spaces of continuous linear maps between normable spaces.


Open in Gitpod

@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown

PR summary 2caf3a4cdd

Import changes exceeding 2%

% File
+2.11% Mathlib.Topology.Algebra.Module.FiniteDimensionBilinear

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Topology.Algebra.Module.FiniteDimensionBilinear 2038 2081 +43 (+2.11%)
Mathlib.Topology.Algebra.Module.FiniteDimension 2028 2062 +34 (+1.68%)
Mathlib.Analysis.LocallyConvex.WithSeminorms 1608 1611 +3 (+0.19%)
Mathlib.Analysis.LocallyConvex.WeakDual 1867 1870 +3 (+0.16%)
Import changes for all files
Files Import difference
6 files Mathlib.Analysis.Convex.Cone.TensorProduct Mathlib.Analysis.LocallyConvex.Barrelled Mathlib.Analysis.LocallyConvex.WeakDual Mathlib.Analysis.LocallyConvex.WithSeminorms Mathlib.Topology.Category.DeltaGenerated Mathlib.Topology.Compactness.DeltaGeneratedSpace
3
3 files Mathlib.Analysis.Convex.Cone.Dual Mathlib.Analysis.Convex.KreinMilman Mathlib.Analysis.LocallyConvex.Separation
5
Mathlib.Analysis.Normed.Operator.Compact.FiniteDimension Mathlib.Topology.Algebra.Module.TopDualPairing 31
3 files Mathlib.Analysis.Normed.Operator.Fredholm.Basic Mathlib.Analysis.Normed.Operator.Perturbation.StrictByFinite Mathlib.Topology.Algebra.Module.FiniteDimension
34
Mathlib.Topology.Algebra.Module.FiniteDimensionBilinear 43

Declarations diff (regex)

+ ContinuousLinearEquiv.PolynormableSpace
+ ContinuousLinearEquiv.isNormableSpace
+ IsNormableSpace
+ IsNormableSpace.seminorm
+ IsNormableSpace.toNormedSpace
+ IsNormableSpace.toSeminormedAddCommGroup
+ Topology.IsInducing.isNormableSpace
+ compSLₗ
+ exists_eq_compSLₗ
+ exists_eq_flipₗ
+ exists_eq_smulRightLₗ
+ flipₗ
+ instance [AddCommGroup F] [Module 𝕜 F] [TopologicalSpace F] [IsNormableSpace 𝕜 F] :
+ instance [IsNormableSpace 𝕜₂ F] {S : Submodule 𝕜₂ F} :
+ instance [NormedField 𝕜] [SeminormedAddCommGroup E] [NormedSpace 𝕜 E] : IsNormableSpace 𝕜 E
+ instance [h : IsNormableSpace 𝕜 E] : PolynormableSpace 𝕜 E := by
+ instance [h : PolynormableSpace 𝕜 E] : ContinuousSMul 𝕜 E
+ instance {E : ι → Type*} [Finite ι] [∀ i, AddCommGroup (E i)] [∀ i, Module 𝕜 (E i)]
+ instance {E F : Type*} [AddCommGroup E] [Module 𝕜 E] [TopologicalSpace E] [IsNormableSpace 𝕜 E]
+ isNormableSpace_of_finiteDimensional
+ isNormableSpace_of_t2Space_finiteDimensional
+ mkContinuous₂OfExists
+ smulRightLₗ
- instance [NormedField 𝕜] [SeminormedAddCommGroup E] [NormedSpace 𝕜 E] :

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

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

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.

Declarations diff (Lean)

Lean-aware diff — post-build, computed from the Lean environment (commit 2caf3a4).

  • +37 new declarations
  • −2 removed declarations
+ContinuousLinearEquiv.PolynormableSpace
+ContinuousLinearEquiv.isNormableSpace
+ContinuousLinearMap.apply.congr_simp
+ContinuousLinearMap.compL.congr_simp
+ContinuousLinearMap.compSL.congr_simp
+ContinuousLinearMap.compSLₗ
+ContinuousLinearMap.compSLₗ.congr_simp
+ContinuousLinearMap.deriv₂.congr_simp
+ContinuousLinearMap.exists_eq_compSLₗ
+ContinuousLinearMap.exists_eq_flipₗ
+ContinuousLinearMap.exists_eq_smulRightLₗ
+ContinuousLinearMap.flipₗ
+ContinuousLinearMap.instIsNormableSpace
+ContinuousLinearMap.precompL.congr_simp
+ContinuousLinearMap.precompR.congr_simp
+ContinuousLinearMap.smulRightL.congr_simp
+ContinuousLinearMap.smulRightLₗ
+ContinuousLinearMap.smulRightLₗ_apply_apply
+IsNormableSpace
+IsNormableSpace.casesOn
+IsNormableSpace.mk
+IsNormableSpace.rec
+IsNormableSpace.recOn
+IsNormableSpace.seminorm
+IsNormableSpace.toNormedSpace
+IsNormableSpace.toSeminormedAddCommGroup
+IsNormableSpace.withSeminorms'
+LinearMap.mkContinuous₂OfExists
-LinearMap.mk₂'ₛₗ.congr_simp
+Topology.IsInducing.isNormableSpace
+instContinuousSMulOfPolynormableSpace
+instIsNormableSpace
+instIsNormableSpaceForallOfFinite
+instIsNormableSpaceProd
+instIsNormableSpaceSubtypeMemSubmodule
+instIsNormableSpaceTangentSpace
-instPolynormableSpace
+instPolynormableSpaceOfIsNormableSpace
+isNormableSpace_of_finiteDimensional

No changes to strong technical debt.

No changes to weak technical debt.

Current commit 2caf3a4cdd
Reference commit b3e74c51c0

This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:

git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/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).

@github-actions github-actions Bot added the t-analysis Analysis (normed *, calculus) label Aug 20, 2026
```
-/
class NormableSpace [topology : TopologicalSpace E] where
withSeminorms' : ∃ (p : Seminorm 𝕜 E), WithSeminorms (fun (_ : Fin 1) ↦ p)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Usually I think we use Unit for these kinds of things since it's a definitional subsingleton (if x y : Unit then x is definitionally equal to y but the same is not true for Fin 1).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, indeed I started with Unit. But then I noticed that many places in this file use Fin 1, so for coherence I went for Fin 1 also. But I agree that Unit is just better, so let me change all of them.

@sgouezel sgouezel changed the title feat: introduce a NormableSpace class feat: introduce an IsNormableSpace class Aug 21, 2026
@sgouezel

Copy link
Copy Markdown
Contributor Author

!radar

@leanprover-radar

leanprover-radar commented Aug 21, 2026

Copy link
Copy Markdown

Benchmark results for b169fa2 against b3e74c5 are in. There are significant results. @sgouezel

  • build//instructions: -46.1G (-0.03%)

Large changes (2✅)

  • build/module/Mathlib.Analysis.Calculus.Deriv.Prod//instructions: -6.2G (-28.32%)
  • build/module/Mathlib.MeasureTheory.Integral.CurveIntegral.Poincare//instructions: -5.8G (-8.75%)

Medium changes (5✅)

  • build/module/Mathlib.Analysis.Calculus.Deriv.Add//instructions: -2.3G (-8.37%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Basic//instructions: -5.9G (-11.16%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Comp//instructions: -4.5G (-10.20%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Mul//instructions: -4.1G (-5.26%)
  • build/module/Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Metric//instructions: -1.2G (-4.27%)

Small changes (39✅, 10🟥)

  • 🟥 build/module/Mathlib.Analysis.Analytic.Linear//instructions: +547.2M (+2.52%)
  • build/module/Mathlib.Analysis.CStarAlgebra.Matrix//instructions: -1.6G (-2.33%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Bounds//instructions: +919.2M (+1.41%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Convolution//instructions: +1.5G (+2.31%)
  • build/module/Mathlib.Analysis.Calculus.ContDiff.RestrictScalars//instructions: -301.6M (-2.13%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Inv//instructions: -606.0M (-3.04%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Inverse//instructions: -861.0M (-6.31%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.Deriv.MeanValue//instructions: +377.6M (+1.70%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Polynomial//instructions: -547.7M (-4.46%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Pow//instructions: -667.0M (-4.16%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Slope//instructions: -868.3M (-4.81%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Star//instructions: -547.2M (-3.75%)
  • build/module/Mathlib.Analysis.Calculus.DiffContOnCl//instructions: -392.5M (-3.51%)
  • build/module/Mathlib.Analysis.Calculus.DifferentialForm.Basic//instructions: -380.2M (-1.19%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Add//instructions: -1.3G (-1.74%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Analytic//instructions: -1.5G (-1.31%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Comp//instructions: -946.6M (-3.83%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.CompCLM//instructions: -2.4G (-3.19%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Equiv//instructions: -840.7M (-1.51%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Extend//instructions: -505.4M (-2.67%)
  • and 29 more

@github-actions github-actions Bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label Aug 21, 2026
@sgouezel

Copy link
Copy Markdown
Contributor Author

!radar

@leanprover-radar

leanprover-radar commented Aug 21, 2026

Copy link
Copy Markdown

Benchmark results for 7b4d8b0 against b3e74c5 are in. There are significant results. @sgouezel

  • 🟥 build//instructions: +294.7G (+0.21%)

Large changes (1✅, 6🟥)

  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Convolution//instructions: +12.1G (+19.31%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Prod//instructions: -6.1G (-28.13%)
  • 🟥 build/module/Mathlib.Analysis.Distribution.SchwartzSpace.Basic//instructions: +59.1G (+35.74%)
  • 🟥 build/module/Mathlib.Analysis.Distribution.SchwartzSpace.Deriv//instructions: +9.9G (+22.74%)
  • 🟥 build/module/Mathlib.MeasureTheory.Integral.CurveIntegral.Poincare//instructions: +15.9G (+23.93%)
  • 🟥 build/module/Mathlib.MeasureTheory.VectorMeasure.Prod//instructions: +8.9G (+13.69%)
  • and 1 hidden

Medium changes (4✅, 11🟥)

  • build/module/Mathlib.Analysis.Calculus.Deriv.Add//instructions: -2.3G (-8.42%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Basic//instructions: -5.9G (-11.22%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Comp//instructions: -4.5G (-10.18%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Mul//instructions: -4.1G (-5.19%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.ParametricIntervalIntegral//instructions: +2.2G (+19.45%)
  • 🟥 build/module/Mathlib.Analysis.Distribution.TemperateGrowth//instructions: +4.3G (+8.53%)
  • 🟥 build/module/Mathlib.Analysis.Fourier.Convolution//instructions: +1.9G (+5.37%)
  • 🟥 build/module/Mathlib.Geometry.Manifold.IsManifold.InteriorBoundary//instructions: +3.9G (+15.64%)
  • 🟥 build/module/Mathlib.MeasureTheory.Function.ConditionalExpectation.PullOut//instructions: +2.5G (+8.44%)
  • 🟥 build/module/Mathlib.MeasureTheory.Function.LpSpace.CompleteOfCompleteLp//instructions: +1.5G (+11.29%)
  • 🟥 build/module/Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap//instructions: +4.6G (+13.17%) (reduced significance based on absolute threshold)
  • 🟥 build/module/Mathlib.MeasureTheory.Integral.CurveIntegral.Basic//instructions: +3.1G (+6.97%)
  • 🟥 build/module/Mathlib.MeasureTheory.Integral.IntervalIntegral.AbsolutelyContinuousFun//instructions: +1.7G (+4.36%)
  • 🟥 build/module/Mathlib.MeasureTheory.VectorMeasure.WithDensityVec//instructions: +3.6G (+7.57%)
  • 🟥 build/module/Mathlib.Probability.Moments.CovarianceBilinDual//instructions: +1.3G (+3.42%)

Small changes (28✅, 44🟥)

  • 🟥 build/module/Mathlib.Analysis.Analytic.Linear//instructions: +530.7M (+2.44%)
  • 🟥 build/module/Mathlib.Analysis.CStarAlgebra.ContinuousLinearMap//instructions: +109.1M (+1.68%)
  • 🟥 build/module/Mathlib.Analysis.CStarAlgebra.Unitary.Connected//instructions: +2.1G (+5.68%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Bounds//instructions: +909.0M (+1.39%)
  • build/module/Mathlib.Analysis.Calculus.ContDiff.RestrictScalars//instructions: -288.6M (-2.04%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.Darboux//instructions: +190.4M (+2.28%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Inv//instructions: -596.9M (-2.99%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Inverse//instructions: -819.1M (-6.01%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.Deriv.MeanValue//instructions: +380.3M (+1.71%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Polynomial//instructions: -480.9M (-3.92%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Pow//instructions: -654.4M (-4.09%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Slope//instructions: -879.4M (-4.87%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Star//instructions: -548.7M (-3.76%)
  • build/module/Mathlib.Analysis.Calculus.DiffContOnCl//instructions: -331.5M (-2.97%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Add//instructions: -1.2G (-1.65%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Analytic//instructions: -1.6G (-1.34%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Comp//instructions: -957.0M (-3.88%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.CompCLM//instructions: -2.3G (-3.15%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Equiv//instructions: -921.9M (-1.66%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Extend//instructions: -459.9M (-2.43%)
  • and 52 more

@sgouezel

Copy link
Copy Markdown
Contributor Author

!radar

@leanprover-radar

leanprover-radar commented Aug 21, 2026

Copy link
Copy Markdown

Benchmark results for 91c3069 against b3e74c5 are in. There are significant results. @sgouezel

  • 🟥 build//instructions: +52.8G (+0.04%)

Large changes (2✅)

  • build/module/Mathlib.Analysis.Calculus.Deriv.Prod//instructions: -6.1G (-28.13%)
  • build/module/Mathlib.MeasureTheory.Integral.CurveIntegral.Poincare//instructions: -5.8G (-8.65%)

Medium changes (5✅)

  • build/module/Mathlib.Analysis.Calculus.Deriv.Add//instructions: -2.3G (-8.45%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Basic//instructions: -6.0G (-11.31%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Comp//instructions: -4.5G (-10.19%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Mul//instructions: -4.1G (-5.23%)
  • build/module/Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Metric//instructions: -1.2G (-4.20%)

Small changes (39✅, 13🟥)

  • 🟥 build/module/Mathlib.Algebra.Exact//instructions: +56.5M (+1.78%)
  • 🟥 build/module/Mathlib.Analysis.Analytic.Linear//instructions: +605.2M (+2.78%)
  • build/module/Mathlib.Analysis.CStarAlgebra.Matrix//instructions: -1.5G (-2.27%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Bounds//instructions: +955.8M (+1.46%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Convolution//instructions: +1.5G (+2.39%)
  • build/module/Mathlib.Analysis.Calculus.ContDiff.RestrictScalars//instructions: -299.4M (-2.11%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Inv//instructions: -599.0M (-3.01%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Inverse//instructions: -793.6M (-5.82%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.Deriv.MeanValue//instructions: +449.9M (+2.03%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Polynomial//instructions: -465.5M (-3.79%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Pow//instructions: -586.3M (-3.66%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Star//instructions: -562.2M (-3.86%)
  • build/module/Mathlib.Analysis.Calculus.DiffContOnCl//instructions: -270.0M (-2.42%)
  • build/module/Mathlib.Analysis.Calculus.DifferentialForm.Basic//instructions: -385.2M (-1.21%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Add//instructions: -1.3G (-1.77%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Analytic//instructions: -1.6G (-1.36%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Comp//instructions: -919.5M (-3.72%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.CompCLM//instructions: -2.3G (-3.13%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Equiv//instructions: -911.1M (-1.64%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Extend//instructions: -477.1M (-2.52%)
  • and 32 more

@sgouezel

Copy link
Copy Markdown
Contributor Author

!radar

@leanprover-radar

leanprover-radar commented Aug 21, 2026

Copy link
Copy Markdown

Benchmark results for 458426c against b3e74c5 are in. There are significant results. @sgouezel

  • 🟥 build//instructions: +151.7G (+0.11%)

Large changes (2🟥)

  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Convolution//instructions: +7.6G (+12.04%)
  • 🟥 build/module/Mathlib.MeasureTheory.VectorMeasure.Prod//instructions: +6.8G (+10.49%)

Medium changes (1✅, 3🟥)

  • 🟥 build/module/Mathlib.Analysis.Fourier.Convolution//instructions: +1.4G (+3.96%)
  • 🟥 build/module/Mathlib.MeasureTheory.Function.ConditionalExpectation.PullOut//instructions: +1.9G (+6.33%)
  • 🟥 build/module/Mathlib.MeasureTheory.Function.LpSpace.CompleteOfCompleteLp//instructions: +3.6G (+27.83%) (reduced significance based on absolute threshold)
  • build/module/Mathlib.MeasureTheory.Integral.CurveIntegral.Poincare//instructions: -3.0G (-4.47%)

Small changes (4✅, 15🟥)

  • 🟥 build/module/Mathlib.Analysis.Analytic.Linear//instructions: +553.4M (+2.55%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Bounds//instructions: +1.3G (+2.00%)
  • build/module/Mathlib.Analysis.Calculus.ParametricIntegral//instructions: -681.6M (-2.15%)
  • 🟥 build/module/Mathlib.Analysis.Convolution//instructions: +3.9G (+3.46%)
  • 🟥 build/module/Mathlib.Analysis.Distribution.SchwartzSpace.Basic//instructions: +3.1G (+1.89%)
  • 🟥 build/module/Mathlib.Analysis.Distribution.TemperedDistribution//instructions: +1.7G (+2.36%)
  • build/module/Mathlib.Analysis.Fourier.AddCircleMulti//instructions: -2.2G (-8.39%)
  • 🟥 build/module/Mathlib.Analysis.LocallyConvex.WithSeminorms//instructions: +3.4G (+5.36%)
  • 🟥 build/module/Mathlib.Analysis.Normed.Operator.Basic//instructions: +1.2G (+2.55%)
  • 🟥 build/module/Mathlib.Analysis.Normed.Operator.Bilinear//instructions: +30.8G (+40.30%) (reduced significance based on *//lines)
  • 🟥 build/module/Mathlib.Analysis.Normed.Operator.BoundedLinearMaps//instructions: +1.1G (+2.45%)
  • 🟥 build/module/Mathlib.Analysis.Normed.Operator.NormedSpace//instructions: +835.2M (+2.52%)
  • build/module/Mathlib.Analysis.Normed.Operator.Prod//instructions: -1.2G (-4.82%)
  • 🟥 build/module/Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap//instructions: +435.1M (+1.25%)
  • 🟥 build/module/Mathlib.MeasureTheory.VectorMeasure.SetIntegral//instructions: +637.6M (+1.03%)
  • 🟥 build/module/Mathlib.Probability.Moments.CovarianceBilinDual//instructions: +543.4M (+1.45%)
  • 🟥 build/module/Mathlib.Topology.Algebra.Module.FiniteDimension//instructions: +2.0G (+3.27%)
  • build/module/Mathlib.Topology.Algebra.Module.FiniteDimensionBilinear//instructions: -3.6G (-28.03%) (reduced significance based on *//lines)
  • and 1 hidden

@sgouezel

Copy link
Copy Markdown
Contributor Author

!radar

@leanprover-radar

leanprover-radar commented Aug 21, 2026

Copy link
Copy Markdown

Benchmark results for 3defc9f against b3e74c5 are in. No significant results found. @sgouezel

  • 🟥 build//instructions: +66.7G (+0.05%)

Medium changes (1✅)

  • build/module/Mathlib.MeasureTheory.Integral.CurveIntegral.Poincare//instructions: -3.5G (-5.34%)

Small changes (6✅, 9🟥)

  • 🟥 build/module/Mathlib.Analysis.Analytic.Linear//instructions: +554.7M (+2.55%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Bounds//instructions: +1.3G (+1.99%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Convolution//instructions: +2.2G (+3.47%)
  • build/module/Mathlib.Analysis.Calculus.ParametricIntegral//instructions: -846.4M (-2.66%)
  • build/module/Mathlib.Analysis.Fourier.AddCircleMulti//instructions: -2.3G (-8.67%)
  • 🟥 build/module/Mathlib.Analysis.LocallyConvex.WithSeminorms//instructions: +3.3G (+5.25%)
  • 🟥 build/module/Mathlib.Analysis.Normed.Operator.Basic//instructions: +1.0G (+2.25%)
  • 🟥 build/module/Mathlib.Analysis.Normed.Operator.Bilinear//instructions: +30.9G (+40.40%) (reduced significance based on *//lines)
  • 🟥 build/module/Mathlib.Analysis.Normed.Operator.BoundedLinearMaps//instructions: +1.0G (+2.35%)
  • 🟥 build/module/Mathlib.Analysis.Normed.Operator.NormedSpace//instructions: +786.4M (+2.37%)
  • build/module/Mathlib.Analysis.Normed.Operator.Prod//instructions: -1.4G (-5.38%)
  • build/module/Mathlib.Probability.Distributions.Gaussian.CharFun//instructions: -416.8M (-1.76%)
  • build/module/Mathlib.Probability.Moments.CovarianceBilin//instructions: -398.7M (-1.66%)
  • 🟥 build/module/Mathlib.Topology.Algebra.Module.FiniteDimension//instructions: +1.6G (+2.75%)
  • build/module/Mathlib.Topology.Algebra.Module.FiniteDimensionBilinear//instructions: -3.6G (-28.39%) (reduced significance based on *//lines)

@sgouezel

Copy link
Copy Markdown
Contributor Author

!radar

@leanprover-radar

leanprover-radar commented Aug 21, 2026

Copy link
Copy Markdown

Benchmark results for 6a79bb1 against b3e74c5 are in. There are significant results. @sgouezel

  • build//instructions: -45.6G (-0.03%)

Large changes (2✅)

  • build/module/Mathlib.Analysis.Calculus.Deriv.Prod//instructions: -6.1G (-28.32%)
  • build/module/Mathlib.MeasureTheory.Integral.CurveIntegral.Poincare//instructions: -5.8G (-8.76%)

Medium changes (5✅)

  • build/module/Mathlib.Analysis.Calculus.Deriv.Add//instructions: -2.3G (-8.34%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Basic//instructions: -6.0G (-11.26%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Comp//instructions: -4.5G (-10.37%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Mul//instructions: -4.1G (-5.25%)
  • build/module/Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Metric//instructions: -1.2G (-4.25%)

Small changes (40✅, 11🟥)

  • 🟥 build/module/Mathlib.Analysis.Analytic.Linear//instructions: +533.2M (+2.45%)
  • build/module/Mathlib.Analysis.CStarAlgebra.Matrix//instructions: -1.6G (-2.31%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Bounds//instructions: +896.1M (+1.37%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.ContDiff.Convolution//instructions: +1.5G (+2.43%)
  • build/module/Mathlib.Analysis.Calculus.ContDiff.RestrictScalars//instructions: -301.5M (-2.13%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Inv//instructions: -614.2M (-3.08%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Inverse//instructions: -855.8M (-6.28%)
  • 🟥 build/module/Mathlib.Analysis.Calculus.Deriv.MeanValue//instructions: +401.1M (+1.81%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Polynomial//instructions: -536.0M (-4.37%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Pow//instructions: -661.4M (-4.13%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Slope//instructions: -875.1M (-4.84%)
  • build/module/Mathlib.Analysis.Calculus.Deriv.Star//instructions: -556.6M (-3.82%)
  • build/module/Mathlib.Analysis.Calculus.DiffContOnCl//instructions: -395.3M (-3.54%)
  • build/module/Mathlib.Analysis.Calculus.DifferentialForm.Basic//instructions: -397.6M (-1.25%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Add//instructions: -1.2G (-1.71%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Analytic//instructions: -1.6G (-1.36%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Comp//instructions: -950.8M (-3.85%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.CompCLM//instructions: -2.5G (-3.35%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Equiv//instructions: -868.5M (-1.56%)
  • build/module/Mathlib.Analysis.Calculus.FDeriv.Extend//instructions: -516.0M (-2.73%)
  • and 31 more

Comment thread Mathlib/Analysis/Normed/Operator/Bilinear.lean

@felixpernegger felixpernegger left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think maybe you could include IsNormable => Topology.IsPseudoMetrizable instance?

@sgouezel

Copy link
Copy Markdown
Contributor Author

It can't be an instance, because the field of scalars can not be guessed out of nothing when trying to prove IsPseudoMetrizable E. I will include it as a theorem, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

large-import Automatically added label for PRs with a significant increase in transitive imports t-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants