Skip to content

[Merged by Bors] - feat: ContinuousLinearEquiv.{prodUnique,uniqueProd}#26083

Closed
grunweg wants to merge 5 commits intoleanprover-community:masterfrom
grunweg:MR-linearequiv-produnique
Closed

[Merged by Bors] - feat: ContinuousLinearEquiv.{prodUnique,uniqueProd}#26083
grunweg wants to merge 5 commits intoleanprover-community:masterfrom
grunweg:MR-linearequiv-produnique

Conversation

@grunweg
Copy link
Copy Markdown
Contributor

@grunweg grunweg commented Jun 18, 2025

which are LinearEquiv.{prodUnique,uniqueProd} as a continuous linear equivalence.

Discovered when working on slice models for defining submanifolds (#24550), one step towards defining smooth submanifolds.

This PR continues the work from #23971.

@grunweg
Copy link
Copy Markdown
Contributor Author

grunweg commented Jun 18, 2025

Comments from Original PR #23971

This section contains 5 comment(s) from the original PR, excluding bot comments.


@github-actions (2025-04-12 12:58 UTC):

PR summary 50e49dc2e9

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ prodUnique_apply
+ prodUnique_symm_apply
+ prodUnique_toEquiv
+ uniqueProd_apply
+ uniqueProd_symm_apply
+ uniqueProd_toEquiv
++ coe_prodUnique
++ coe_uniqueProd
++- prodUnique
++- uniqueProd

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 (2025-04-18 08:25 UTC):
Let me cross-reference #9105 (a stale delegated PR adding the LinearEquiv version via AddEquiv) and this zulip thread I started about comparing these approaches.


@j-loreaux (2025-04-19 07:43 UTC):
Please go with the AddEquiv approach mentioned by Eric in order to keep the APIs in sync. I think it's fine if you just copy the relevant bits from #9105 here (to avoid dealing with merge conflicts in that PR) and close that one when you have done so.


@grunweg (2025-04-22 12:44 UTC):
Indeed! Let's land #24168 first, and see if anything remains to be done.


@grunweg (2025-06-14 18:09 UTC):
CI failed with an error not related to this PR, so I merged master... except that I rebased and force-pushed. Sorry if you have to re-review everything now!

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jun 18, 2025

PR summary bb38781a57

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ prodUnique_apply
+ prodUnique_symm_apply
+ uniqueProd_apply
+ uniqueProd_symm_apply
++ coe_prodUnique
++ coe_uniqueProd
++- prodUnique
++- uniqueProd

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

Copy link
Copy Markdown
Contributor

@b-mehta b-mehta left a comment

Choose a reason for hiding this comment

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

LGTM with one question.

@[simp]
lemma prodUnique_symm_apply (x : M) : (prodUnique R M N).symm x = (x, default) := rfl

lemma coe_prodUnique : (prodUnique R M N : (M × N) ≃ M) = Equiv.prodUnique M N := rfl
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.

Isn't this syntactically the same as prodUnique_toEquiv? If so, I'd prefer to keep just one (named like your second) and have it simp (like your first)

@grunweg
Copy link
Copy Markdown
Contributor Author

grunweg commented Jun 19, 2025

Thanks for your review, addressed!

@grunweg grunweg added the t-algebra Algebra (groups, rings, fields, etc) label Jun 19, 2025
@b-mehta
Copy link
Copy Markdown
Contributor

b-mehta commented Jun 19, 2025

Thanks!

bors merge

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Jun 19, 2025
mathlib-bors bot pushed a commit that referenced this pull request Jun 19, 2025
which are `LinearEquiv.{prodUnique,uniqueProd}` as a continuous linear equivalence.

Discovered when working on slice models for defining submanifolds (#24550), one step towards defining smooth submanifolds.

This PR continues the work from #23971.
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jun 19, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: ContinuousLinearEquiv.{prodUnique,uniqueProd} [Merged by Bors] - feat: ContinuousLinearEquiv.{prodUnique,uniqueProd} Jun 19, 2025
@mathlib-bors mathlib-bors bot closed this Jun 19, 2025
Rida-Hamadani pushed a commit to Rida-Hamadani/mathlib4 that referenced this pull request Jun 24, 2025
…nity#26083)

which are `LinearEquiv.{prodUnique,uniqueProd}` as a continuous linear equivalence.

Discovered when working on slice models for defining submanifolds (leanprover-community#24550), one step towards defining smooth submanifolds.

This PR continues the work from leanprover-community#23971.
joelriou pushed a commit to joelriou/mathlib4 that referenced this pull request Jul 7, 2025
…nity#26083)

which are `LinearEquiv.{prodUnique,uniqueProd}` as a continuous linear equivalence.

Discovered when working on slice models for defining submanifolds (leanprover-community#24550), one step towards defining smooth submanifolds.

This PR continues the work from leanprover-community#23971.
callesonne pushed a commit to callesonne/mathlib4 that referenced this pull request Jul 24, 2025
…nity#26083)

which are `LinearEquiv.{prodUnique,uniqueProd}` as a continuous linear equivalence.

Discovered when working on slice models for defining submanifolds (leanprover-community#24550), one step towards defining smooth submanifolds.

This PR continues the work from leanprover-community#23971.
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-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants