feat(Analysis/CStarAlgebra/Matrix): IsTopologicalGroup for specialUnitaryGroup#39151
Conversation
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.
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 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. |
PR summary 706bea155cImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
wwylele
left a comment
There was a problem hiding this comment.
My comments in #39146 also applies here
set_option backward.isDefEq.respectTransparency falseis not necessaryMatrix.Norms.Elementwiseis not used in the statement/proof so it is not needed either. Given this, these should probably not placed in theEntrywiseSupNormsection
j-loreaux
left a comment
There was a problem hiding this comment.
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.
| instance Matrix.specialUnitaryGroup.instContinuousInv : | ||
| ContinuousInv (Matrix.specialUnitaryGroup n 𝕜) where |
There was a problem hiding this comment.
There's a much easier way via Topology.IsInducing.continuousInv. Also, we should have ContinuousStar for this type as well.
Adds
ContinuousInvandIsTopologicalGroupinstances forMatrix.specialUnitaryGroup n 𝕜.The unitary group
Matrix.unitaryGroup n αalready inherits these via theunitaryGroup ≡ unitary Rabbrev + existing instances onunitary R(inMathlib/Topology/Algebra/Star/Unitary.lean). However,specialUnitaryGroupis the sub-SubmonoidunitaryGroup ⊓ MonoidHom.mker detMonoidHom— it does not auto-inherit those instances since it is not literally an alias ofunitary R.New declarations
instance Matrix.specialUnitaryGroup.instContinuousInv— proven viaMatrix.star_eq_inv+continuous_starinstance Matrix.specialUnitaryGroup.instIsTopologicalGroup— combiningContinuousMul(from Submonoid structure) +ContinuousInvBoth placed inside the existing
EntrywiseSupNormsection inMathlib/Analysis/CStarAlgebra/Matrix.lean(the natural neighborhood for matrix-specific topological structure on (special) unitary groups).Motivation
These instances enable using
specialUnitaryGroupas 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 onspecialUnitaryGroup.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.