Skip to content

[Merged by Bors] - feat(Manifold/PartitionOfUnity): existence of global C^n smooth section for nontrivial bundles#26875

Closed
michaellee94 wants to merge 15 commits intoleanprover-community:masterfrom
michaellee94:michaellee94/smooth_section
Closed

[Merged by Bors] - feat(Manifold/PartitionOfUnity): existence of global C^n smooth section for nontrivial bundles#26875
michaellee94 wants to merge 15 commits intoleanprover-community:masterfrom
michaellee94:michaellee94/smooth_section

Conversation

@michaellee94
Copy link
Copy Markdown
Collaborator

@michaellee94 michaellee94 commented Jul 7, 2025

Add existence of global C^n smooth section for nontrivial bundles


@michaellee94
Copy link
Copy Markdown
Collaborator Author

This PR continues #24966

cc @PatrickMassot @grunweg

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jul 7, 2025

PR summary 29cc0b6ba0

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Geometry.Manifold.PartitionOfUnity 2309 2317 +8 (+0.35%)
Import changes for all files
Files Import difference
Mathlib.Geometry.Manifold.WhitneyEmbedding 1
3 files Mathlib.Analysis.Calculus.Rademacher Mathlib.Analysis.Distribution.AEEqOfIntegralContDiff Mathlib.Geometry.Manifold.PartitionOfUnity
8

Declarations diff

+ contMDiff_totalSpace_weighted_sum_of_local_sections
+ exists_contMDiffOn_section_forall_mem_convex_of_local
+ exists_smooth_section_forall_mem_convex_of_local

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

@grunweg grunweg changed the title feat(Manifold/PartitionOfUnity): Existence of global C^n smooth section for nontrivial bundles feat(Manifold/PartitionOfUnity): existence of global C^n smooth section for nontrivial bundles Jul 7, 2025
@grunweg
Copy link
Copy Markdown
Contributor

grunweg commented Jul 7, 2025

@michaellee94 Thanks for the quick response. You incorporated all review suggestions well - so we could just merge the PR.
However, I just gave it another look and, having spent a substantial amount of time proving lemmas like "a finite sum of C^n sections is C^n" in the past weeks, realised the proofs could be generalised a bit more.*

More precisely, your workhorse lemma contMDiff_totalSpace_weighted_sum_of_local_sections follows from two lemmas

  • "any locally finite sum of C^n sections is C^n" and
  • "if s is C^n on U and psi is smooth with tsupport contained in U, then f s is C^n"

Mathlib knows an easier version of the former (for finite sums, ContMDiff.sum_section and friends). I have proven the latter in #26671; you could certainly copy-paste this code into this PR for now.
Would you like to try making this generalisation?

I appreciate that waiting for review for months, and then being told to generalise things again can be frustrating. If you prefer, we can also merge this PR and I'll tweak the proof in a follow-up PR.

* Truth be told: I haven't thought much about whether the first statement is ever used besides in partitions of unity. I did need the second one, somewhere in #26221. @PatrickMassot What do you think?

@michaellee94
Copy link
Copy Markdown
Collaborator Author

michaellee94 commented Jul 7, 2025

Thanks for taking another look, @grunweg. I'm inclined to request a review of this PR as is, and then if a useful lemma is shown in #26671, to further simplify contMDiff_totalSpace_weighted_sum_of_local_sections as part of that PR. Does that course of action make sense? Of course, if #26671 is merged first, I'll take a crack at it.

Edit: Actually, why not, I'll just mark that PR as a dependency of this one and give it a try.

@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) and removed blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) labels Jul 7, 2025
@mathlib4-dependent-issues-bot
Copy link
Copy Markdown
Collaborator

This PR/issue depends on:

@grunweg
Copy link
Copy Markdown
Contributor

grunweg commented Jul 10, 2025

Did you have any luck with the generalisation, @michaellee94? No problem if not, but since the end of the week is approaching, it would be helpful to know the current status.

@grunweg
Copy link
Copy Markdown
Contributor

grunweg commented Jul 22, 2025

@michaellee94 How are things going? I just gave this a go, #27349 is how I'd prove that a locally finite sum of C^n sections is C^n. (Of course, I'm happy to compare with your solution - there may surely be ways to optimise mine.)

@grunweg
Copy link
Copy Markdown
Contributor

grunweg commented Jul 22, 2025

Would you like to try and golf this PR accordingly --- or do you prefer merging this PR first, and I'll create a follow-up to golf the proof? Either way is fine with me.

callesonne pushed a commit to callesonne/mathlib4 that referenced this pull request Jul 24, 2025
…prover-community#27349)

This can be used to golf leanprover-community#26875 (and is nice API anyway).
As such, it is necessary to prove the existence of a Riemannian metric (hence of a Levi-Civita connection).
One could say it's on the path towards the Levi-Civita connection.
hrmacbeth pushed a commit to szqzs/mathlib4 that referenced this pull request Jul 28, 2025
…prover-community#27349)

This can be used to golf leanprover-community#26875 (and is nice API anyway).
As such, it is necessary to prove the existence of a Riemannian metric (hence of a Levi-Civita connection).
One could say it's on the path towards the Levi-Civita connection.
@grunweg grunweg assigned ocfnash and grunweg and unassigned ocfnash Aug 1, 2025
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 just took a look at golfing your result using the lemmas about locally finite sums of sections: there's still one more missing lemma. At this point, I think we should simply land this PR (and I can golf this in a follow-up PR).

I'd like to apply one last tweak (which is using TotalSpace.mk' instead of TotalSpace.mk and a type ascription), then this is good to go. Thanks for your work creating this (golfing some code is easier than proving it the first time!) and your patience with the review process!
maintainer delegate

@github-actions
Copy link
Copy Markdown

github-actions bot commented Aug 6, 2025

🚀 Pull request has been placed on the maintainer queue by grunweg.

@ghost ghost added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Aug 6, 2025
@grunweg
Copy link
Copy Markdown
Contributor

grunweg commented Aug 6, 2025

#28046 is the follow-up PR golfing this; #28048 adds the missing preparatory lemma.

@ocfnash
Copy link
Copy Markdown
Contributor

ocfnash commented Aug 6, 2025

bors d=@grunweg

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Aug 6, 2025

✌️ grunweg can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@ghost ghost added delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). and removed maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. labels Aug 6, 2025
Equilibris pushed a commit to Equilibris/mathlib4 that referenced this pull request Aug 7, 2025
…prover-community#27349)

This can be used to golf leanprover-community#26875 (and is nice API anyway).
As such, it is necessary to prove the existence of a Riemannian metric (hence of a Levi-Civita connection).
One could say it's on the path towards the Levi-Civita connection.
@grunweg
Copy link
Copy Markdown
Contributor

grunweg commented Aug 20, 2025

Two weeks have passed, and I am excited to get this in. Let me apply my review suggestions myself, so this doesn't fail on the last step towards getting merged. Thanks a lot, @michaellee94, for making this PR in the first place (and sorry if this is stepping on your toes)!

@grunweg
Copy link
Copy Markdown
Contributor

grunweg commented Aug 20, 2025

bors merge

mathlib-bors bot pushed a commit that referenced this pull request Aug 20, 2025
…on for nontrivial bundles (#26875)

Add existence of global C^n smooth section for nontrivial bundles



Co-authored-by: grunweg <rothgang@math.uni-bonn.de>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Aug 20, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(Manifold/PartitionOfUnity): existence of global C^n smooth section for nontrivial bundles [Merged by Bors] - feat(Manifold/PartitionOfUnity): existence of global C^n smooth section for nontrivial bundles Aug 20, 2025
@mathlib-bors mathlib-bors bot closed this Aug 20, 2025
mathlib-bors bot pushed a commit that referenced this pull request Aug 22, 2025
From the path towards the existence of Riemannian metrics, i.e. towards the Levi-Civita connection.
Paul-Lez pushed a commit to Paul-Lez/mathlib4 that referenced this pull request Aug 23, 2025
…on for nontrivial bundles (leanprover-community#26875)

Add existence of global C^n smooth section for nontrivial bundles



Co-authored-by: grunweg <rothgang@math.uni-bonn.de>
Paul-Lez pushed a commit to Paul-Lez/mathlib4 that referenced this pull request Aug 23, 2025
…nity#28046)

From the path towards the existence of Riemannian metrics, i.e. towards the Levi-Civita connection.
pechersky pushed a commit to pechersky/mathlib4 that referenced this pull request Aug 25, 2025
…on for nontrivial bundles (leanprover-community#26875)

Add existence of global C^n smooth section for nontrivial bundles



Co-authored-by: grunweg <rothgang@math.uni-bonn.de>
pechersky pushed a commit to pechersky/mathlib4 that referenced this pull request Aug 25, 2025
…nity#28046)

From the path towards the existence of Riemannian metrics, i.e. towards the Levi-Civita connection.
FormulaRabbit81 pushed a commit to YaelDillies/mathlib4 that referenced this pull request Aug 30, 2025
…nity#28046)

From the path towards the existence of Riemannian metrics, i.e. towards the Levi-Civita connection.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). t-differential-geometry Manifolds etc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants