Skip to content

[Merged by Bors] - refactor: remove the CompactSpace field from Unique{NonUnital}ContinuousFunctionalCalculus#20590

Closed
j-loreaux wants to merge 8 commits intomasterfrom
j-loreaux/remove-compactSpace-UniqueCFC
Closed

[Merged by Bors] - refactor: remove the CompactSpace field from Unique{NonUnital}ContinuousFunctionalCalculus#20590
j-loreaux wants to merge 8 commits intomasterfrom
j-loreaux/remove-compactSpace-UniqueCFC

Conversation

@j-loreaux
Copy link
Copy Markdown
Contributor

@j-loreaux j-loreaux commented Jan 8, 2025

This was originally useful for the general theory in some places, but since that time, this field is included in ContinuousFunctionalCalculus itself.

This PR removes this fields, which means that any topological 𝕜-algebra is an instance of this class. (for RCLike 𝕜). Moreover, a topological 𝕜-algebra A also has a UniqueContinuousFunctionalCalculus ℝ≥0 A instance.

Previously, we only had this for normed 𝕜-algebras because of the compact spectrum criterion. This avoids the need to assume [UniqueContinuousFunctionalCalculus 𝕜 A] pretty much throughout the library, replacing it with [T2Space A] and, in the case of 𝕜 := ℝ≥0, [TopologicalRing A].


In a future PR, we may rename UniqueContinuousFunctionalCalculus to something more appropriate.

Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 8, 2025

PR summary 61bee1ad52

Import changes exceeding 2%

% File
+9.11% Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique 2201 1786 -415 (-18.86%)
Mathlib.LinearAlgebra.Matrix.HermitianFunctionalCalculus 2229 1965 -264 (-11.84%)
Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow 1680 1833 +153 (+9.11%)
Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.ExpLog 2191 2204 +13 (+0.59%)
Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart 1788 1789 +1 (+0.06%)
Import changes for all files
Files Import difference
Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique -415
Mathlib.LinearAlgebra.Matrix.HermitianFunctionalCalculus -264
Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart 1
Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.ExpLog 13
Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow 153

Declarations diff

+ Complex.uniqueContinuousFunctionalCalculus
+ RCLike.uniqueNonUnitalContinuousFunctionalCalculus
+ Real.uniqueContinuousFunctionalCalculus
+ instance (priority := 100) RCLike.uniqueContinuousFunctionalCalculus [TopologicalSpace A]
- RCLike.instUniqueContinuousFunctionalCalculus
- RCLike.instUniqueNonUnitalContinuousFunctionalCalculus
- RCLike.uniqueContinuousFunctionalCalculus_of_compactSpace_spectrum
- RCLike.uniqueNonUnitalContinuousFunctionalCalculus_of_compactSpace_quasispectrum
- instUniqueContinuousFunctionalCalculus

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

@github-actions github-actions bot added the t-analysis Analysis (normed *, calculus) label Jan 8, 2025
@j-loreaux j-loreaux added t-analysis Analysis (normed *, calculus) and removed t-analysis Analysis (normed *, calculus) labels Jan 8, 2025
@github-actions github-actions bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label Jan 9, 2025
@j-loreaux
Copy link
Copy Markdown
Contributor Author

j-loreaux commented Jan 9, 2025

The reason for the import changes is two-fold:

  1. The decrease comes from not needing to import Normed* stuff in the Unique file, and these are quite substantial.
  2. The increase comes from some generic CFC files that previously used variables for [UniqueContinuousFunctionalCalculus ℝ A] (or or ℝ≥0) that now just directly find the instance, but this means they need to import Stone--Weierstrass. So the results from these files wouldn't have been usable anyway without that import.

@j-loreaux j-loreaux changed the title refactor: remove the CompactSpace fields from UniqueContinuousFunctionalCalculus refactor: remove the CompactSpace field from Unique{NonUnital}ContinuousFunctionalCalculus Jan 9, 2025
@j-loreaux j-loreaux requested a review from dupuisf January 9, 2025 15:38
@dupuisf
Copy link
Copy Markdown
Contributor

dupuisf commented Jan 10, 2025

Looks like a pretty major cleanup, thanks!

bors r+

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Jan 10, 2025
mathlib-bors bot pushed a commit that referenced this pull request Jan 10, 2025
…inuousFunctionalCalculus` (#20590)

This was originally useful for the general theory in some places, but since that time, this field is included in `ContinuousFunctionalCalculus` itself.

This PR removes this fields, which means that any topological `𝕜`-algebra is an instance of this class. (for `RCLike 𝕜`). Moreover, a topological `𝕜`-algebra `A` also has a `UniqueContinuousFunctionalCalculus ℝ≥0 A` instance.

Previously, we only had this for *normed* `𝕜`-algebras because of the compact spectrum criterion. This avoids the need to assume `[UniqueContinuousFunctionalCalculus 𝕜 A]` pretty much throughout the library, replacing it with `[T2Space A]` and, in the case of `𝕜 := ℝ≥0`, `[TopologicalRing A]`.
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jan 10, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title refactor: remove the CompactSpace field from Unique{NonUnital}ContinuousFunctionalCalculus [Merged by Bors] - refactor: remove the CompactSpace field from Unique{NonUnital}ContinuousFunctionalCalculus Jan 10, 2025
@mathlib-bors mathlib-bors bot closed this Jan 10, 2025
@mathlib-bors mathlib-bors bot deleted the j-loreaux/remove-compactSpace-UniqueCFC branch January 10, 2025 18:18
grunweg pushed a commit that referenced this pull request Jan 11, 2025
…inuousFunctionalCalculus` (#20590)

This was originally useful for the general theory in some places, but since that time, this field is included in `ContinuousFunctionalCalculus` itself.

This PR removes this fields, which means that any topological `𝕜`-algebra is an instance of this class. (for `RCLike 𝕜`). Moreover, a topological `𝕜`-algebra `A` also has a `UniqueContinuousFunctionalCalculus ℝ≥0 A` instance.

Previously, we only had this for *normed* `𝕜`-algebras because of the compact spectrum criterion. This avoids the need to assume `[UniqueContinuousFunctionalCalculus 𝕜 A]` pretty much throughout the library, replacing it with `[T2Space A]` and, in the case of `𝕜 := ℝ≥0`, `[TopologicalRing A]`.
Julian added a commit that referenced this pull request Jan 12, 2025
* origin/master: (88 commits)
  chore(scripts): update nolints.json (#20672)
  chore: de-simp `map_eq_zero_iff_eq_one` (#20662)
  feat(Combinatorics/SimpleGraph): add independent sets (#18608)
  chore(CategoryTheory/Limits/Cones): functoriality of `mapCone` (#20641)
  feat(Algebra/Category/ModuleCat): pullback of presheaves of modules (#17366)
  feat(AlgebraicTopology): model categories (#19158)
  chore(CategoryTheory): make NormalEpi/MonoCategory and RegularEpi/MonoCategory props (#19548)
  feat(Data/List/ReduceOption): add replicate theorems (#20644)
  feat: approximate subgroups (#20050)
  feat: use scoped trace nodes in linarith (#19855)
  feat: disjoint union of charted spaces (#20619)
  feat: add some term elaborators for reduction (#15192)
  feat(Topology/Category): category of delta-generated spaces (#19499)
  add a variable_alias for Quantale and AddQuantale (#19282)
  feat(Computability/DFA): implement `isRegular_iff` (#19940)
  chore: unpin and bump batteries and importgraph (#20651)
  chore: split `Mathlib/Algebra/Group/Int` (#20624)
  feat: three lemmas related to Hausdorff distance (#20585)
  chore: `initialize_simps_projections` for `Submodule` (#20582)
  feat(Order): Boolean algebra structure on idempotents (#20618)
  chore(CategoryTheory): moving/renaming Subpresheaf (#20583)
  refactor(IntermediateField/Adjoin): Split off relation to `Algebra.adjoin` (#20630)
  feat: sets of doubling strictly less than 3/2 (#20572)
  chore(TensorProduct): universe polymorphism in EquationalCriterion (#20452)
  feat: `s \ t ∩ u = (s ∩ u) \ t` (#20298)
  feat: product of subalgebras (#20202)
  feat: `Submodule.restrictScalars` commutes with `pow` (#20581)
  feat: `a ∈ s ^ n` iff there exists a sequence `f` of `n` elements of `s` such that `∏ i, f i = a` (#20580)
  chore: make `FooHom.coe_id` a `norm_cast` lemma (#20576)
  chore: use ofNat more (#20546)
  feat(CategoryTheory/Shift/Opposite and CategoryTheory/Shift/Pullback): `CommShift` structures on adjunctions are compatible with opposites and pullbacks (#20363)
  feat(FieldTheory/Differential/Liouville): prove the algebraic case of Liouville's theorem (#16797)
  refactor: remove the `CompactSpace` field from `Unique{NonUnital}ContinuousFunctionalCalculus` (#20590)
  feat: Make `PNat.recOn` induction eliminator (#20617)
  feat(Analysis/SpecialFunctions/Pow/Real): add some lemmas (#20608)
  feat: If `s ∆ t` is finite, then `s ∆ u` is finite iff `t ∆ u` is (#20574)
  feat: `⨅ i, f i ≤ ⨆ i, f i` (#20573)
  chore(Geometry/Manifold): move SmoothManifoldWithCorners.lean to IsManifold.lean (#20611)
  feat: AbsoluteValue.IsNontrivial (#20588)
  chore(Data/Finsupp): split off extensionality from `Defs.lean` (#19092)
  chore(Data/Set): split the `CoeSort` instance to its own file (#19031)
  feat(Algebra/Order/Archimedean/Basic): powers between two elements (#20612)
  feature(Algebra/Ring/Idempotents): product of an idempotent and its complement (#20286)
  chore: cleanup more `erw` (#20601)
  chore(GroupTheory/CoprodI): shorten proof of lift_word_prod_nontrivial_of_not_empty (#20587)
  chore: cleanup imports in PrimePow/Divisors (#20626)
  chore: split Algebra/BigOperators/Group/List (#20625)
  chore: reduce Topology->Order imports by moving content (#20627)
  chore(Algebra/Lie/DirectSum): shorten proof of lieAlgebraOf.map_lie' (#20592)
  refactor: Split `FieldTheory/Adjoin.lean` into `Defs.lean` and `Basic.lean` (#20333)
  ...
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 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.

2 participants