Skip to content

[Merged by Bors] - chore: remove the Smooth alias for infinitely differentiable functions between manifolds#19296

Closed
sgouezel wants to merge 14 commits intomasterfrom
SG_no_smooth
Closed

[Merged by Bors] - chore: remove the Smooth alias for infinitely differentiable functions between manifolds#19296
sgouezel wants to merge 14 commits intomasterfrom
SG_no_smooth

Conversation

@sgouezel
Copy link
Copy Markdown
Contributor

@sgouezel sgouezel commented Nov 20, 2024

The abbreviation Smooth for ContMDiff with infinite smoothness had been introduced in mathlib in ancient times. This has lead to a big API duplication, for no visible gain. We deprecate this abbreviation (with its friends SmoothAt and so on) and all the lemmas involving it.

In the longer run, we might consider reintroducing it as a mere notation (without any specific API), but this is not part of this PR, devoted purely to the deprecation. No mathematical content added.


Open in Gitpod

@sgouezel sgouezel added the WIP Work in progress label Nov 20, 2024
@github-actions
Copy link
Copy Markdown

github-actions bot commented Nov 20, 2024

PR summary 06eb2911c8

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ ContMDiff.mdifferentiableWithinAt
+ Smooth.add
+ Smooth.extend_zero
+ Smooth.neg
+ Smooth.sub
+ SmoothAt.add
+ SmoothAt.neg
+ SmoothAt.sub
+ SmoothOn.add
+ SmoothOn.neg
+ SmoothOn.sub
+ SmoothWithinAt.add
+ SmoothWithinAt.neg
+ SmoothWithinAt.sub
+ Trivialization.contMDiffOn
+ Trivialization.contMDiffOn_symm
+ contMDiff
+ contMDiffAt
+ contMDiffAt_inv₀
+ contMDiffAt_ofComplex
+ contMDiffAt_subtype_iff
+ contMDiffOn_continuousLinearMapCoordChange
+ contMDiffOn_coordChange
+ contMDiffOn_inv₀
+ contMDiffOn_smoothCoordChange
+ contMDiff_coe
+ contMDiff_inv
+ contMDiff_mul
+ contMDiff_pow
+ contMDiff_prod_assoc
+ contMDiff_sum
+ contMDiff_toPartitionOfUnity
+ contMDiff_zeroSection
+ smoothAt_finset_sum
+ smoothAt_finset_sum'
+ smoothAt_finsum
+ smoothAt_zero
+ smoothOn_finset_sum
+ smoothOn_finset_sum'
+ smoothOn_inv₀
+ smoothOn_zero
+ smoothSheaf.contMDiff_section
+ smoothWithinAt_finset_sum
+ smoothWithinAt_finset_sum'
+ smoothWithinAt_zero
+ smooth_add
+ smooth_add_left
+ smooth_add_right
+ smooth_finset_sum
+ smooth_finset_sum'
+ smooth_finsum
+ smooth_finsum_cond
+ smooth_neg
+ smooth_nsmul
+ smooth_zero
++ contMDiff_smul
++++---- smooth
+++--- smooth_smul

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-differential-geometry Manifolds etc label Nov 20, 2024
Copy link
Copy Markdown
Contributor

@grunweg grunweg left a comment

Choose a reason for hiding this comment

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

I've reviewed the changes to the MFDeriv, Sheaf and VectorBundle directories: only very minor questions so far. Two larger points worth flagging:

  • would you like to remove the now-used abbrevs Smooth etc?
  • the deprecation dates in your lemmas are slightly inconsistent: not a big deal, in any case

theorem smoothOn_coordChangeL :
SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun b : B => (e.coordChangeL 𝕜 e' b : F →L[𝕜] F))
theorem contMDiffOn_coordChangeL :
ContMDiffOn IB 𝓘(𝕜, F →L[𝕜] F) n (fun b : B => (e.coordChangeL 𝕜 e' b : F →L[𝕜] F))
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.

Do you mean \top instead of n?

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.

The version with a general n is stronger than the version with top (well, they are equivalent, but often the version with a general implicit n is more convenient, for instance when chaining).

theorem smoothOn_symm_coordChangeL :
SmoothOn IB 𝓘(𝕜, F →L[𝕜] F) (fun b : B => ((e.coordChangeL 𝕜 e' b).symm : F →L[𝕜] F))
theorem contMDiffOn_symm_coordChangeL :
ContMDiffOn IB 𝓘(𝕜, F →L[𝕜] F) n (fun b : B => ((e.coordChangeL 𝕜 e' b).symm : F →L[𝕜] F))
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.

Likewise.

@sgouezel sgouezel removed the WIP Work in progress label Nov 21, 2024
@sgouezel
Copy link
Copy Markdown
Contributor Author

* would you like to remove the now-used `abbrev`s `Smooth` etc?

Not sure if it's a question on the current version of the PR. In the current version of the PR, Smooth and friends are deprecated aliases of ContMDiff and friends, because they may be used by downstream projects so deprecations are in order.

* the deprecation dates in your lemmas are slightly inconsistent: not a big deal, in any case

Yes, it depends on the day I've made the change. Since it's just by one or two days, I wouldn't mind. Maybe one day CI will automagically change the deprecated dates to the date the PR is merged in master, but we're not there yet :-)

@winstonyin
Copy link
Copy Markdown
Collaborator

I looked through the changes. The deduplication of API is worth the occasional addition of le_top. Thanks for fixing the Mdiff casing!

Copy link
Copy Markdown
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

Thanks 🎉

bors merge

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Nov 25, 2024
mathlib-bors bot pushed a commit that referenced this pull request Nov 25, 2024
…ons between manifolds (#19296)

The abbreviation `Smooth` for `ContMDiff` with infinite smoothness had been introduced in mathlib in ancient times. This has lead to a big API duplication, for no visible gain. We deprecate this abbreviation (with its friends `SmoothAt` and so on) and all the lemmas involving it.

In the longer run, we might consider reintroducing it as a mere notation (without any specific API), but this is not part of this PR, devoted purely to the deprecation. No mathematical content added.
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Nov 25, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title chore: remove the Smooth alias for infinitely differentiable functions between manifolds [Merged by Bors] - chore: remove the Smooth alias for infinitely differentiable functions between manifolds Nov 25, 2024
@mathlib-bors mathlib-bors bot closed this Nov 25, 2024
@mathlib-bors mathlib-bors bot deleted the SG_no_smooth branch November 25, 2024 10:13
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-differential-geometry Manifolds etc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants