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(Normed/Group/Quotient): streamline, multiplicativise #21341

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

YaelDillies
Copy link
Collaborator

@YaelDillies YaelDillies commented Feb 2, 2025

  • Multiplicativise using the (not so) new GroupNorm API.
  • Deprecate the lemmas about the quotient norm that hold for all norms.
  • Move all remaining lemmas to a single QuotientAddGroup namespace. They were currently scattered across _root_, AddSubgroup and QuotientAddGroup.
  • Follow the naming convention in lemma names.

Open in Gitpod

Copy link

github-actions bot commented Feb 2, 2025

PR summary 1278b3a994

Import changes exceeding 2%

% File
+2.56% Mathlib.Analysis.Normed.Group.AddCircle

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Analysis.Normed.Group.AddCircle 1445 1482 +37 (+2.56%)
Import changes for all files
Files Import difference
34 files Mathlib.MeasureTheory.Decomposition.Lebesgue Mathlib.MeasureTheory.Function.ContinuousMapDense Mathlib.MeasureTheory.Function.ConvergenceInMeasure Mathlib.MeasureTheory.Function.L1Space.AEEqFun Mathlib.MeasureTheory.Function.L1Space.Integrable Mathlib.MeasureTheory.Function.LocallyIntegrable Mathlib.MeasureTheory.Function.LpOrder Mathlib.MeasureTheory.Function.LpSeminorm.Basic Mathlib.MeasureTheory.Function.LpSeminorm.ChebyshevMarkov Mathlib.MeasureTheory.Function.LpSeminorm.CompareExp Mathlib.MeasureTheory.Function.LpSeminorm.TriangleInequality Mathlib.MeasureTheory.Function.LpSeminorm.Trim Mathlib.MeasureTheory.Function.LpSpace.ContinuousCompMeasurePreserving Mathlib.MeasureTheory.Function.LpSpace.DomAct.Basic Mathlib.MeasureTheory.Function.LpSpace.DomAct.Continuous Mathlib.MeasureTheory.Function.LpSpace Mathlib.MeasureTheory.Function.SimpleFuncDenseLp Mathlib.MeasureTheory.Function.SpecialFunctions.Basic Mathlib.MeasureTheory.Function.StronglyMeasurable.Lp Mathlib.MeasureTheory.Function.UnifTight Mathlib.MeasureTheory.Function.UniformIntegrable Mathlib.MeasureTheory.Group.Integral Mathlib.MeasureTheory.Integral.Bochner Mathlib.MeasureTheory.Integral.BoundedContinuousFunction Mathlib.MeasureTheory.Integral.IntegrableOn Mathlib.MeasureTheory.Integral.MeanInequalities Mathlib.MeasureTheory.Integral.SetToL1 Mathlib.MeasureTheory.Integral.VitaliCaratheodory Mathlib.MeasureTheory.Measure.FiniteMeasure Mathlib.MeasureTheory.Measure.SeparableMeasure Mathlib.Probability.Independence.Integrable Mathlib.Probability.Kernel.Integral Mathlib.Probability.Moments.IntegrableExpMul Mathlib.Probability.ProbabilityMassFunction.Integrals
2
72 files Mathlib.Algebra.Order.AbsoluteValue.Equivalence Mathlib.Analysis.Analytic.RadiusLiminf Mathlib.Analysis.CStarAlgebra.Multiplier Mathlib.Analysis.CStarAlgebra.lpSpace Mathlib.Analysis.Calculus.ContDiff.WithLp Mathlib.Analysis.Calculus.FDeriv.WithLp Mathlib.Analysis.Convex.SpecificFunctions.Basic Mathlib.Analysis.Convex.SpecificFunctions.Pow Mathlib.Analysis.MeanInequalitiesPow Mathlib.Analysis.MeanInequalities Mathlib.Analysis.Normed.Algebra.Norm Mathlib.Analysis.Normed.Algebra.TrivSqZeroExt Mathlib.Analysis.Normed.Algebra.UnitizationL1 Mathlib.Analysis.Normed.Lp.LpEquiv Mathlib.Analysis.Normed.Lp.PiLp Mathlib.Analysis.Normed.Lp.ProdLp Mathlib.Analysis.Normed.Lp.lpSpace Mathlib.Analysis.Normed.Ring.IsPowMulFaithful Mathlib.Analysis.Normed.Ring.SeminormFromBounded Mathlib.Analysis.Normed.Ring.SeminormFromConst Mathlib.Analysis.Normed.Ring.Seminorm Mathlib.Analysis.NormedSpace.DualNumber Mathlib.Analysis.PSeries Mathlib.Analysis.SpecialFunctions.CompareExp Mathlib.Analysis.SpecialFunctions.Complex.Circle Mathlib.Analysis.SpecialFunctions.Complex.Log Mathlib.Analysis.SpecialFunctions.Log.Base Mathlib.Analysis.SpecialFunctions.Log.ENNRealLogExp Mathlib.Analysis.SpecialFunctions.Log.ENNRealLog Mathlib.Analysis.SpecialFunctions.Log.Monotone Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics Mathlib.Analysis.SpecialFunctions.Pow.Complex Mathlib.Analysis.SpecialFunctions.Pow.Continuity Mathlib.Analysis.SpecialFunctions.Pow.NNReal Mathlib.Analysis.SpecialFunctions.Pow.Real Mathlib.Analysis.SpecialFunctions.Trigonometric.Arctan Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex Mathlib.Analysis.SpecificLimits.FloorPow Mathlib.Combinatorics.Additive.Corner.Roth Mathlib.Combinatorics.SimpleGraph.Regularity.Bound Mathlib.Combinatorics.SimpleGraph.Regularity.Chunk Mathlib.Combinatorics.SimpleGraph.Regularity.Increment Mathlib.Combinatorics.SimpleGraph.Regularity.Lemma Mathlib.Combinatorics.SimpleGraph.Triangle.Removal Mathlib.Computability.AkraBazzi.GrowsPolynomially Mathlib.Dynamics.TopologicalEntropy.CoverEntropy Mathlib.Dynamics.TopologicalEntropy.NetEntropy Mathlib.Dynamics.TopologicalEntropy.Semiconj Mathlib.LinearAlgebra.QuadraticForm.Complex Mathlib.MeasureTheory.Function.SpecialFunctions.Arctan Mathlib.MeasureTheory.Measure.Doubling Mathlib.NumberTheory.ClassNumber.AdmissibleCardPowDegree Mathlib.NumberTheory.ClassNumber.Finite Mathlib.NumberTheory.ClassNumber.FunctionField Mathlib.NumberTheory.Cyclotomic.Basic Mathlib.NumberTheory.ModularForms.EisensteinSeries.IsBoundedAtImInfty Mathlib.NumberTheory.ModularForms.EisensteinSeries.UniformConvergence Mathlib.NumberTheory.MulChar.Lemmas Mathlib.NumberTheory.Ostrowski Mathlib.NumberTheory.SumPrimeReciprocals Mathlib.RingTheory.Perfection Mathlib.RingTheory.Polynomial.Cyclotomic.Basic Mathlib.RingTheory.Polynomial.Cyclotomic.Expand Mathlib.RingTheory.Polynomial.Cyclotomic.Roots Mathlib.RingTheory.Polynomial.Eisenstein.IsIntegral Mathlib.RingTheory.RootsOfUnity.AlgebraicallyClosed Mathlib.RingTheory.RootsOfUnity.Complex Mathlib.Topology.Algebra.PontryaginDual Mathlib.Topology.MetricSpace.GromovHausdorff Mathlib.Topology.MetricSpace.HolderNorm Mathlib.Topology.MetricSpace.Holder Mathlib.Topology.MetricSpace.Kuratowski
3
Mathlib.Analysis.SpecialFunctions.Complex.Arg Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle 4
Mathlib.Analysis.Normed.Group.AddCircle 37

Declarations diff

+ coe_fract
+ exists_norm_mk'_lt
+ exists_norm_mul_lt
+ groupSeminorm
+ instNorm
+ instNormedCommGroup
+ instSeminormedCommGroup
+ instance : NormedAddCommGroup (AddCircle p) := QuotientAddGroup.instNormedAddCommGroup _
+ le_infDist
+ le_norm_iff
+ nhds_one_hasBasis
+ norm_eq_groupSeminorm
+ norm_eq_infDist
+ norm_lt_iff
+ norm_mk
+ norm_mk'
+ norm_mk'_eq_zero
+ norm_mk'_eq_zero_iff_mem_closure
+ norm_mk'_le_norm
+ norm_mk_eq_zero
+ norm_mk_eq_zero_iff_mem_closure
+ norm_mk_le_norm
- QuotientAddGroup.norm_eq_infDist
- QuotientAddGroup.norm_lt_iff
- QuotientAddGroup.norm_mk
- instance : NormedAddCommGroup (AddCircle p)

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.


Decrease in tech debt: (relative, absolute) = (2.00, 0.00)
Current number Change Type
1401 -2 erw

Current commit 1278b3a994
Reference commit cd5fbfb76d

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).

@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) label Feb 2, 2025
@YaelDillies YaelDillies mentioned this pull request Feb 2, 2025
1 task
@YaelDillies YaelDillies added the t-analysis Analysis (normed *, calculus) label Feb 2, 2025
@YaelDillies YaelDillies force-pushed the multiplicativise_normed_group_quotient branch from 5955272 to 1e065cd Compare February 2, 2025 12:54
@github-actions github-actions bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label Feb 2, 2025
@YaelDillies YaelDillies force-pushed the multiplicativise_normed_group_quotient branch from feb3cf6 to b77b80e Compare February 3, 2025 07:20
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) label Feb 3, 2025
@mathlib4-dependent-issues-bot
Copy link
Collaborator

* Multiplicativise using the (not so) new `GroupNorm` API.
* Deprecate the lemmas about the quotient norm
that hold for all norms.
* Move all remaining lemmas to a single `QuotientAddGroup` namespace. They were currently scattered across `_root_`, `AddSubgroup` and `QuotientAddGroup`.
* Follow naming convention in lemma names.
@YaelDillies YaelDillies force-pushed the multiplicativise_normed_group_quotient branch from b77b80e to 1278b3a Compare February 3, 2025 07:26
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.

2 participants