Skip to content

feat(Topology/Algebra/Module/ClosedSubmodule): add mapEquiv, a variation of ClosedSubmodule.map for CLE#29235

Open
yoh-tanimoto wants to merge 21 commits intoleanprover-community:masterfrom
yoh-tanimoto:yoh-tanimoto-mapequiv
Open

feat(Topology/Algebra/Module/ClosedSubmodule): add mapEquiv, a variation of ClosedSubmodule.map for CLE#29235
yoh-tanimoto wants to merge 21 commits intoleanprover-community:masterfrom
yoh-tanimoto:yoh-tanimoto-mapequiv

Conversation

@yoh-tanimoto
Copy link
Collaborator

@yoh-tanimoto yoh-tanimoto commented Sep 2, 2025

add ClosedSubmodule.mapEquiv for continuous linear equivalence. In this case, a closed submodule is mapped to a closed submodule, so the definitions are easier and behave nicely with closure and .

motivation: needed to define standard subspaces in a Hilbert space (scalar multiplication by Complex.I) #29251
https://ems.press/content/serial-article-files/48171

@github-actions github-actions bot added the t-topology Topological spaces, uniform spaces, metric spaces, filters label Sep 2, 2025
@github-actions
Copy link

github-actions bot commented Sep 2, 2025

PR summary 976d30f376

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Topology.Algebra.Module.ClosedSubmodule 1185 1187 +2 (+0.17%)
Import changes for all files
Files Import difference
Mathlib.Analysis.Convex.Cone.Basic Mathlib.Topology.Algebra.Module.ClosedSubmodule 2

Declarations diff

+ closure_map_eq_mapEquiv_closure
+ mapEquiv
+ mapEquiv_apply
+ mapEquiv_bot_eq_bot
+ mapEquiv_inf_eq_inf_mapEquiv
+ mapEquiv_sup_eq_sup_mapEquiv
+ mapEquiv_symm
+ mapEquiv_top_eq_top
+ mem_mapEquiv_iff
+ mem_mapEquiv_iff'

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

@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Sep 2, 2025
@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 Sep 12, 2025
@mathlib4-dependent-issues-bot
Copy link
Collaborator

@mathlib4-merge-conflict-bot
Copy link
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 Nov 19, 2025
@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 Jan 5, 2026
Copy link
Contributor

@j-loreaux j-loreaux left a comment

Choose a reason for hiding this comment

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

I'm out of time for today. Sorry, I will try to come back to it soon.

@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 15, 2026
@mathlib4-merge-conflict-bot
Copy link
Collaborator

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

@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 Jan 15, 2026
@yoh-tanimoto
Copy link
Collaborator Author

yoh-tanimoto commented Jan 18, 2026

Should I define mapEquiv as mapEquiv (f : M ≃L[R] N) : Equiv (Submodule R M) (Submodule R N)?

I also noticed that there are map for AddMonoid and AddCommGroup. Should I define mapEquiv for them as well?

@j-loreaux
Copy link
Contributor

Should I define mapEquiv as mapEquiv (f : M ≃L[R] N) : Equiv (Submodule M) (Submodule N)?

I also noticed that there are map for AddMonoid and AddCommGroup. Should I define mapEquiv for them as well?

That sounds like a pretty good idea. Of course, the others should happen in a separate PR.

@j-loreaux j-loreaux added the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 3, 2026
@yoh-tanimoto yoh-tanimoto removed the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 3, 2026
@yoh-tanimoto
Copy link
Collaborator Author

Ok I changed it to Equiv. I will do the other stuff in another PR hopefully soon.

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

Labels

t-topology Topological spaces, uniform spaces, metric spaces, filters

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants