Skip to content

feat(Analysis/CStarAlgebra/Matrix): IsTopologicalGroup for specialUnitaryGroup#39151

Open
anovickis wants to merge 1 commit into
leanprover-community:masterfrom
anovickis:feat-specialUnitary-topological-group
Open

feat(Analysis/CStarAlgebra/Matrix): IsTopologicalGroup for specialUnitaryGroup#39151
anovickis wants to merge 1 commit into
leanprover-community:masterfrom
anovickis:feat-specialUnitary-topological-group

Conversation

@anovickis
Copy link
Copy Markdown

Adds ContinuousInv and IsTopologicalGroup instances for Matrix.specialUnitaryGroup n 𝕜.

The unitary group Matrix.unitaryGroup n α already inherits these via the unitaryGroup ≡ unitary R abbrev + existing instances on unitary R (in Mathlib/Topology/Algebra/Star/Unitary.lean). However, specialUnitaryGroup is the sub-Submonoid unitaryGroup ⊓ MonoidHom.mker detMonoidHom — it does not auto-inherit those instances since it is not literally an alias of unitary R.

New declarations

  • instance Matrix.specialUnitaryGroup.instContinuousInv — proven via Matrix.star_eq_inv + continuous_star
  • instance Matrix.specialUnitaryGroup.instIsTopologicalGroup — combining ContinuousMul (from Submonoid structure) + ContinuousInv

Both placed inside the existing EntrywiseSupNorm section in Mathlib/Analysis/CStarAlgebra/Matrix.lean (the natural neighborhood for matrix-specific topological structure on (special) unitary groups).

Motivation

These instances enable using specialUnitaryGroup as a topological group in homogeneous-space constructions (e.g., SU(3) ⧸ T = F₂ flag manifolds). They complement #39146 (CompactSpace instances for the same groups) — together giving the standard 'compact topological group' typeclass set on specialUnitaryGroup.

Verification

```lean
example : ContinuousInv (Matrix.specialUnitaryGroup (Fin 3) ℂ) := inferInstance -- now works
example : IsTopologicalGroup (Matrix.specialUnitaryGroup (Fin 3) ℂ) := inferInstance -- now works
```

Both fail on master without this PR; both succeed after.

Adds:
- ContinuousInv instance via star_eq_inv + matrix continuous_star
- IsTopologicalGroup instance combining ContinuousMul + ContinuousInv

The unitary group already has these via the unitaryGroup ≡ unitary R abbrev
+ existing instances on unitary R; specialUnitaryGroup is a sub-Submonoid
(with det = 1) and does not auto-inherit. This PR adds the missing
specialUnitaryGroup instances explicitly.
@github-actions github-actions Bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label May 10, 2026
@github-actions
Copy link
Copy Markdown

Welcome new contributor!

Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests.

We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the awaiting-author tag, or another reason described in the Lifecycle of a PR. The review dashboard has a dedicated webpage which shows whether your PR is on the review queue, and (if not), why.

If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR.

Thank you again for joining our community.

@github-actions github-actions Bot added the t-analysis Analysis (normed *, calculus) label May 10, 2026
@github-actions
Copy link
Copy Markdown

PR summary 706bea155c

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ Matrix.specialUnitaryGroup.instContinuousInv
+ Matrix.specialUnitaryGroup.instIsTopologicalGroup

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.


No changes to strong technical debt.
No changes to weak technical debt.

Copy link
Copy Markdown
Collaborator

@wwylele wwylele left a comment

Choose a reason for hiding this comment

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

My comments in #39146 also applies here

  • set_option backward.isDefEq.respectTransparency false is not necessary
  • Matrix.Norms.Elementwise is not used in the statement/proof so it is not needed either. Given this, these should probably not placed in the EntrywiseSupNorm section

Copy link
Copy Markdown
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 strongly suspect that you are using AI to write these PRs. That is against our AI policy for new contributors.

The entire reason we review PRs by new contributors is that it offers a teaching opportunity for them. If they use AI, the lessons are lost. I could implement all this myself faster than I could review it for you, so the only value comes if you are learning something.

Until you disclose your AI use I will not review any further PRs of yours.

Comment on lines +92 to +93
instance Matrix.specialUnitaryGroup.instContinuousInv :
ContinuousInv (Matrix.specialUnitaryGroup n 𝕜) where
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.

There's a much easier way via Topology.IsInducing.continuousInv. Also, we should have ContinuousStar for this type as well.

@j-loreaux j-loreaux added the awaiting-author A reviewer has asked the author a question or requested changes. label May 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-author A reviewer has asked the author a question or requested changes. new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants