Skip to content

feat: add custom elaborators for immersions#30504

Open
grunweg wants to merge 41 commits intoleanprover-community:masterfrom
grunweg:immersions-elaborator
Open

feat: add custom elaborators for immersions#30504
grunweg wants to merge 41 commits intoleanprover-community:masterfrom
grunweg:immersions-elaborator

Conversation

@grunweg
Copy link
Copy Markdown
Contributor

@grunweg grunweg commented Oct 13, 2025

And golf the fail using it, a bit. Other usage sites expose bugs or unexpected error messages...
TODO: add basic tests for basic usage
TODO: fix those errors (then try to golf further!


Open in Gitpod

@grunweg grunweg added blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) t-differential-geometry Manifolds etc labels Oct 13, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Oct 13, 2025

PR summary 54bd5cb866

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Geometry.Manifold.Immersion 1964 1973 +9 (+0.46%)
Mathlib.Geometry.Manifold.ContMDiff.Atlas 1954 1957 +3 (+0.15%)
Mathlib.Geometry.Manifold.SmoothEmbedding 1990 1991 +1 (+0.05%)
Import changes for all files
Files Import difference
Mathlib.Geometry.Manifold.SmoothEmbedding 1
Mathlib.Geometry.Manifold.ContMDiff.Atlas 3
Mathlib.Geometry.Manifold.Immersion 9

Declarations diff

+ ContDiffWithinAt.fst
+ ContDiffWithinAt.snd
+ contDiffAt_prod_iff
+ contDiffOn_prod_iff
+ contDiffWithinAt_prod_iff
+ contDiff_prod_iff
+ contMDiffOn_extend
+ contMDiffOn_writtenInExtend_iff
+ contMDiffWithinAt_writtenInExtend_iff
+ extend_target_eq_image_source
+ instance (h : IsImmersion% n f) : NormedAddCommGroup h.complement
+ instance (h : IsImmersion% n f) : NormedSpace 𝕜 h.complement
+ instance (h : IsImmersionAt% n f x) : NormedAddCommGroup h.complement := by
+ instance (h : IsImmersionAt% n f x) : NormedSpace 𝕜 h.complement := by
+ instance (hf : IsImmersionAtOfComplement% F n f x) : NormedAddCommGroup hf.smallComplement := by
+ instance (hf : IsImmersionAtOfComplement% F n f x) : NormedSpace 𝕜 hf.smallComplement := by
++ contMDiffAt
++ contMDiffOn
++ continuousAt
++ continuousOn
++ mapsto_domChart_source_codChart_source
+++ contMDiff
- instance (h : IsImmersion I J n f) : NormedAddCommGroup h.complement
- instance (h : IsImmersion I J n f) : NormedSpace 𝕜 h.complement
- instance (h : IsImmersionAt I J n f x) : NormedAddCommGroup h.complement := by
- instance (h : IsImmersionAt I J n f x) : NormedSpace 𝕜 h.complement := by
- instance (hf : IsImmersionAtOfComplement F I J n f x) : NormedAddCommGroup hf.smallComplement := by
- instance (hf : IsImmersionAtOfComplement F I J n f x) : NormedSpace 𝕜 hf.smallComplement := by
-+-+ codChart
-+-+ codChart_mem_maximalAtlas
-+-+ complement
-+-+ congr_of_eventuallyEq
-+-+ domChart
-+-+ domChart_mem_maximalAtlas
-+-+ equiv
-+-+ isImmersionAt
-+-+ map_target_subset_target
-+-+ mem_codChart_source
-+-+ mem_domChart_source
-+-+ property
-+-+ target_subset_preimage_target
-+-+ writtenInCharts
-+-++- source_subset_preimage_source

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 force-pushed the immersions-elaborator branch from a233946 to 9af275f Compare October 13, 2025 20:33
@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 Oct 14, 2025
@mathlib4-merge-conflict-bot
Copy link
Copy Markdown
Collaborator

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

@grunweg grunweg force-pushed the immersions-elaborator branch from 9af275f to 30174e5 Compare October 15, 2025 22:18
@github-actions github-actions bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Oct 15, 2025
@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 Oct 16, 2025
@mathlib4-merge-conflict-bot
Copy link
Copy Markdown
Collaborator

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

@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Nov 30, 2025
@mathlib4-dependent-issues-bot
Copy link
Copy Markdown
Collaborator

mathlib4-dependent-issues-bot commented Nov 30, 2025

@grunweg grunweg force-pushed the immersions-elaborator branch from b3838c2 to 0d97a66 Compare January 13, 2026 15:09
@grunweg grunweg added blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) t-meta Tactics, attributes or user commands and removed merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) labels Jan 13, 2026
@mathlib4-merge-conflict-bot
Copy link
Copy Markdown
Collaborator

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

@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 Jan 18, 2026
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 t-meta Tactics, attributes or user commands

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants