Skip to content

feat: immersed submanifolds - #26391

Draft
grunweg wants to merge 88 commits into
leanprover-community:masterfrom
grunweg:MR-embedded-submanifolds-v3
Draft

feat: immersed submanifolds#26391
grunweg wants to merge 88 commits into
leanprover-community:masterfrom
grunweg:MR-embedded-submanifolds-v3

Conversation

@grunweg

@grunweg grunweg commented Jun 25, 2025

Copy link
Copy Markdown
Contributor

grunweg added 30 commits March 17, 2025 22:41
Sadly, we cannot prove most nice things about them yet, as we don't have
the inverse function theorem yet.
I'd merely like to ask for equality on the source of the inverse extChart
In finite dimensions, that certainly holds; need to think about inf-dim
The naive proof certainly fails (we get a coordinate change between the
two charts in the middle, which can be anything, and need not be linear at
all). Can we always "modify" a slice chart to match a modification downstairs?
I presume no, but would need to think...
@grunweg grunweg added WIP Work in progress blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) t-differential-geometry Manifolds etc labels Jun 25, 2025
@github-actions

github-actions Bot commented Jun 25, 2025

Copy link
Copy Markdown

PR summary f2e9b91e31

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Analysis.NormedSpace.HahnBanach.Splits (new file) 1882
Mathlib.Geometry.Manifold.MSplits (new file) 1982
Mathlib.Geometry.Manifold.IsImmersionEmbedding (new file) 1984
Mathlib.Geometry.Manifold.EmbeddedSubmanifold (new file) 2039

Declarations diff

+ ContinuousLinearMap.Splits
+ IsImmersedSubmanifold
+ IsImmersion
+ IsImmersionAt
+ IsSmoothEmbedding
+ MSplits
+ MSplitsAt
+ SliceModel
+ SliceModel.modelWithCornersSelf
+ SliceModel.ofEmbedding
+ Submodule.ClosedComplemented.prod
+ Submodule.sum_assoc
+ _root_.ContinuousLinearEquiv.splits
+ _root_.Diffeomorph.splits
+ _root_.Function.localInverseOn
+ _root_.Function.localInverseOn_invOn_of_injOn
+ _root_.IsLocalDiffeomorph.splits
+ _root_.IsLocalDiffeomorphAt.msplitsAt
+ _root_.PartialEquiv.pullback_sliceModel
+ _root_.Submodule.map_add
+ _root_.isImmersionAt_iff_msplitsAt
+ antilipschitzConstant
+ antilipschitzWith
+ antilipschitz_aux
+ chartedSpace
+ chartedSpace_of_nonempty
+ closedComplemented
+ codChart
+ codChart_mem_maximalAtlas
+ compCLE_left
+ compCLE_right
+ comp_diffeomorph_left_iff
+ comp_diffeomorph_right_iff
+ comp_isLocalDiffeomorphAt_left
+ comp_isLocalDiffeomorphAt_left_iff
+ comp_isLocalDiffeomorphAt_right
+ comp_isLocalDiffeomorphAt_right_iff
+ comp_isLocalDiffeomorph_left
+ comp_isLocalDiffeomorph_right
+ complement
+ complement_isClosed
+ complement_isCompl
+ congr_of_eventuallyEq
+ contMDiffAt
+ continuousOn_inverse_range
+ continuousWithinAt
+ disjoint_aux
+ domChart
+ domChart_mem_maximalAtlas
+ equiv
+ extend
+ extend_mfderiv_toContinousLinearEquiv
+ extend_mfderiv_toContinousLinearEquiv_coe
+ extend_symm
+ extend_symm_mfderiv_toContinousLinearEquiv
+ extend_symm_mfderiv_toContinousLinearEquiv_coe
+ injective
+ instTrans
+ instance : SliceModel (⊥ : Subspace 𝕜 E) I I
+ instance [h : SliceModel F I I'] : SliceModel F (I.prod J) (I'.prod J)
+ instance [h : SliceModel F I I'] : SliceModel F (J.prod I) (J.prod I')
+ instance {n m : ℕ} :
+ inverse
+ inverse_left_inv
+ inverse_right_inv
+ isClosedMap
+ isClosed_range
+ isEmbedding
+ isImmersion
+ isImmersionAt
+ map_target_subset_target
+ mdifferentiableAt
+ mdifferentiableAt_of_mfderiv_injective
+ mem_codChart_source
+ mem_domChart_source
+ mk_of_injective
+ msplitsAt
+ of_finiteDimensional_of_mfderiv_injective
+ of_injective_of_finiteDimensional'
+ of_injective_of_finiteDimensional_of_completeSpace
+ of_mfderiv_injective
+ of_mfderiv_injective_of_compactSpace_of_T2Space
+ prodAssoc
+ prodAssoc_apply
+ prodAssoc_symm_apply
+ prodAssoc_toEquiv
+ prodAssoc_toLinearEquiv
+ pull_sliceModel_source
+ pull_sliceModel_target
+ pullback_sliceModel
+ range_prodMap
+ writtenInCharts
++ contMDiff
++ continuousAt
++ instance {n : ℕ} [NeZero n] :
++ of_injective_of_finiteDimensional
+++ foo
+++ mfderiv_injective
++++ congr
+++++ prodMap
++++++ comp

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.


Increase in tech debt: (relative, absolute) = (2.00, 0.00)
Current number Change Type
840 2 erw

Current commit cf367500fe
Reference commit f2e9b91e31

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

Copy link
Copy Markdown
Collaborator

grunweg added 3 commits June 25, 2025 06:42
- my construction only makes sense if H and M are both non-empty
- if both are empty, there is another construction
- *if* we knew M has a charted space, we'd deduce that non-emptiness of M
  implies that of M. but we do not know yet... need to think!
@grunweg
grunweg force-pushed the MR-embedded-submanifolds-v3 branch from 8b8a4b4 to 696ac29 Compare June 25, 2025 13:37
@mathlib4-merge-conflict-bot mathlib4-merge-conflict-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Nov 6, 2025
@mathlib4-merge-conflict-bot

Copy link
Copy Markdown
Collaborator

This pull request has conflicts, please merge master and resolve them.

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

Labels

blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) t-differential-geometry Manifolds etc WIP Work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants