Skip to content

refactor(Normed/Group/Quotient): generalise to non-abelian groups #21342

Open
YaelDillies wants to merge 1 commit intomasterfrom
noncomm_normed_group_quotient
Open

refactor(Normed/Group/Quotient): generalise to non-abelian groups #21342
YaelDillies wants to merge 1 commit intomasterfrom
noncomm_normed_group_quotient

Conversation

@YaelDillies
Copy link
Contributor

@YaelDillies YaelDillies commented Feb 2, 2025

The goal is to apply this to free groups, whose multiplication in either argument is an isometry, but isn't commutative.


Open in Gitpod

@github-actions
Copy link

github-actions bot commented Feb 2, 2025

PR summary d46874c4dd

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ Subgroup.continuousConstSMul
+ instNormedGroup
+ instSeminormedGroup
+ instance (priority := 100) NormedGroup.to_isIsometricSMul_left : IsIsometricSMul E E
+ instance (priority := 100) SeminormedGroup.toIsTopologicalGroup : IsTopologicalGroup E
+ instance (priority := 100) SeminormedGroup.to_isUniformGroup : IsUniformGroup E
+ instance (priority := 100) SeminormedGroup.to_lipschitzMul : LipschitzMul E
+ isPretransitive_mulOpposite_quotient
- NormedGroup.to_isIsometricSMul_left

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

@YaelDillies YaelDillies changed the title refactor(Normed/Group/Quotient): generalise to non-commutative groups refactor(Normed/Group/Quotient): generalise to non-abelian groups Feb 2, 2025
@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 Feb 2, 2025
@YaelDillies YaelDillies mentioned this pull request Feb 2, 2025
1 task
@YaelDillies YaelDillies added WIP Work in progress t-analysis Analysis (normed *, calculus) labels Feb 2, 2025
@YaelDillies YaelDillies force-pushed the noncomm_normed_group_quotient branch from 50880ed to a15587b Compare February 3, 2025 07:34
@github-actions github-actions bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label Feb 3, 2025
@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Feb 16, 2025
@YaelDillies YaelDillies force-pushed the noncomm_normed_group_quotient branch from a15587b to 3efb748 Compare February 16, 2025 22:33
@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 Feb 16, 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 Mar 17, 2025
@mathlib4-dependent-issues-bot
Copy link
Collaborator

mathlib4-dependent-issues-bot commented Mar 17, 2025

@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Mar 17, 2025
@YaelDillies YaelDillies force-pushed the noncomm_normed_group_quotient branch from 3efb748 to f138ed5 Compare March 17, 2025 20:05
@github-actions github-actions bot removed merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) large-import Automatically added label for PRs with a significant increase in transitive imports labels Mar 17, 2025
@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Apr 11, 2025
@leanprover-community-bot-assistant
Copy link
Collaborator

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

@YaelDillies YaelDillies force-pushed the noncomm_normed_group_quotient branch from f138ed5 to 81a0420 Compare April 11, 2025 07:29
@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 Apr 11, 2025
@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 Oct 19, 2025
@YaelDillies YaelDillies force-pushed the noncomm_normed_group_quotient branch from 81a0420 to b79b3e2 Compare October 19, 2025 14:01
@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 19, 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 30, 2025
@mathlib4-merge-conflict-bot
Copy link
Collaborator

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

@YaelDillies YaelDillies force-pushed the noncomm_normed_group_quotient branch from b79b3e2 to ec74a1d Compare October 30, 2025 19:11
@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 30, 2025
@YaelDillies YaelDillies force-pushed the noncomm_normed_group_quotient branch from ec74a1d to 93e752d Compare November 19, 2025 11:17
@YaelDillies YaelDillies force-pushed the noncomm_normed_group_quotient branch from 93e752d to 6f7ad2d Compare February 1, 2026 12:24
@YaelDillies YaelDillies force-pushed the noncomm_normed_group_quotient branch from 6f7ad2d to bcea0cb Compare February 1, 2026 12:59
@YaelDillies YaelDillies removed the WIP Work in progress label Feb 1, 2026
@sgouezel
Copy link
Contributor

sgouezel commented Feb 9, 2026

I don't understand the comment in the PR description. In the free group with the word distance wrt the standard set of generators, left-multiplication is indeed an isometry, but right-multiplication is not. For instance, d (a, b) = 2 and d (ab, b^2) = 4.

@sgouezel
Copy link
Contributor

sgouezel commented Feb 9, 2026

In fact, looking at our definition of SeminormedGroup, the distance is given by dist x y = ‖x / y‖. This looks bad: for this distance, left-multiplication is not an isometry, and x is not close to xs if s is small. Am I missing something?

@YaelDillies
Copy link
Contributor Author

Yes, I agree. Will you refactor SeminormedGroup to make right multiplication an isometry? I believe this is what's needed to make the current PR non-stupid.

@sgouezel
Copy link
Contributor

I am making left-multiplication an isometry in #35037. It builds, but I'll need to split it a little bit to make it reviewable.

@mathlib-dependent-issues mathlib-dependent-issues bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Feb 13, 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) t-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants