Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat: unit equivalences #6526

Closed
wants to merge 13 commits into from
Closed

Conversation

ericrbg
Copy link
Collaborator

@ericrbg ericrbg commented Aug 11, 2023

Useful for Wedderburn's little theorem.


Open in Gitpod

@ericrbg ericrbg added awaiting-review The author would like community review of the PR awaiting-CI t-algebra Algebra (groups, rings, fields etc) labels Aug 11, 2023
@ericrbg ericrbg requested a review from jcommelin August 11, 2023 14:35
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Copy link
Contributor

@alreadydone alreadydone left a comment

Choose a reason for hiding this comment

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

More style nits ... hope I get them right.

Mathlib/Algebra/Ring/UnitEquivs.lean Outdated Show resolved Hide resolved
Mathlib/Algebra/Ring/UnitEquivs.lean Outdated Show resolved Hide resolved
Mathlib/Algebra/Ring/UnitEquivs.lean Outdated Show resolved Hide resolved
Mathlib/Algebra/Ring/UnitEquivs.lean Outdated Show resolved Hide resolved
/-- The stabilizer of `Dˣ` acting on itself by conjugation at `x : Dˣ` is exactly the
units of the centralizer of `x : D`. -/
def unitsCentralizerEquiv [Monoid D] (x : Dˣ) :
MulAction.stabilizer (ConjAct Dˣ) x ≃* (Submonoid.centralizer ({↑x} : Set D))ˣ where
Copy link
Member

Choose a reason for hiding this comment

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

I assume there's not a more general results hiding here for MulDistribMulActions?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'm not even sure what it'd look like

@@ -0,0 +1,69 @@
/-
Copyright (c) 2021 Johan Commelin. All rights reserved.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this a copy-paste error?

Suggested change
Copyright (c) 2021 Johan Commelin. All rights reserved.
Copyright (c) 2023 Eric Rodriguez. All rights reserved.

Same remark for Authors field on line 4, though maybe this is co-authored?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This was written by Johan in Lean3 for little wedderburn so I wanted to carry on his attribution

Mathlib/Algebra/Ring/UnitEquivs.lean Outdated Show resolved Hide resolved
Comment on lines 36 to 40
/-- `unitsCentralizerEquiv` for a `Ring`. Restated for Wedderburn's little theorem. -/
def unitsCentralizerEquivSubring [Ring D] (x : Dˣ) :
MulAction.stabilizer (ConjAct Dˣ) x ≃* (Subring.centralizer ({↑x} : Set D))ˣ :=
unitsCentralizerEquiv x

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't understand why we need this. Can you not just use what you have for Monoids?

Mathlib/Algebra/Ring/UnitEquivs.lean Outdated Show resolved Hide resolved
Comment on lines 66 to 69
/-- `centerUnitsEquivUnitsCenter` but instead for `Subring.center`. This is convenient for
Wedderburn's little theorem. -/
def centerUnitsEquivUnitsRingCenter [DivisionRing D] :
Subgroup.center (Dˣ) ≃* (Subring.center D)ˣ := centerUnitsEquivUnitsCenter D
Copy link
Contributor

Choose a reason for hiding this comment

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

Same question here: it's not clear to me why you need this.

Authors: Eric Rodriguez, Johan Commelin
-/
import Mathlib.GroupTheory.GroupAction.ConjAct
import Mathlib.RingTheory.Subring.Basic
Copy link
Contributor

Choose a reason for hiding this comment

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

This import is only necessary because of unitsCentralizerEquivSubring and centerUnitsEquivUnitsRingCenter about which I have doubts.

If it turns out we don't need those lemmas then I think these results could go in the GroupTheory.GroupAction.ConjAct file.

@ocfnash ocfnash added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Aug 22, 2023
@ericrbg ericrbg added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Aug 24, 2023
@ericrbg
Copy link
Collaborator Author

ericrbg commented Aug 24, 2023

The reason I want the ring versions are to do with the proof of little wedderburn; you can see the WIP here. I tried messing around with the proof to change things, and it should be fine but minorly annoying; some slight motive issues as we'd need to rewrite in Fintype.card stuff, but this can in theory be done. Or I could just construct the "upgraded" equivalences there, within the proof, but then that technically amounts to defeq abuse.

@eric-wieser
Copy link
Member

I think treating various bundled versions of the same thing as defeq doesn't count as abuse

@ericrbg
Copy link
Collaborator Author

ericrbg commented Aug 24, 2023

Alright, I'll change it to that version then

Copy link
Member

@eric-wieser eric-wieser left a comment

Choose a reason for hiding this comment

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

Thanks!

bors d+

Please take a look at the module docstrings for these files and decide if the new results are interesting enough to mention in them.

@bors
Copy link

bors bot commented Aug 25, 2023

✌️ ericrbg can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added delegated and removed awaiting-review The author would like community review of the PR labels Aug 25, 2023
@ericrbg
Copy link
Collaborator Author

ericrbg commented Aug 25, 2023

bors r+

bors bot pushed a commit that referenced this pull request Aug 25, 2023
Useful for Wedderburn's little theorem.



Co-authored-by: Eric Rodriguez <37984851+ericrbg@users.noreply.github.com>
@bors
Copy link

bors bot commented Aug 25, 2023

Pull request successfully merged into master.

Build succeeded!

The publicly hosted instance of bors-ng is deprecated and will go away soon.

If you want to self-host your own instance, instructions are here.
For more help, visit the forum.

If you want to switch to GitHub's built-in merge queue, visit their help page.

@bors bors bot changed the title feat: unit equivalences [Merged by Bors] - feat: unit equivalences Aug 25, 2023
@bors bors bot closed this Aug 25, 2023
@bors bors bot deleted the UnitsEquivs branch August 25, 2023 21:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated t-algebra Algebra (groups, rings, fields etc)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants