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(group_theory/group_action): Extract a smaller typeclass out of mul_semiring_action #8918

Closed
wants to merge 14 commits into from

Conversation

eric-wieser
Copy link
Member

@eric-wieser eric-wieser commented Aug 30, 2021

This new typeclass, mul_distrib_mul_action, is satisfied by conjugation actions. This PR provides instances for:

  • mul_aut
  • prod of two types with a mul_distrib_mul_action
  • pi of types with a mul_distrib_mul_action
  • units of types with a mul_distrib_mul_action
  • ulift of types with a mul_distrib_mul_action
  • opposite of types with a mul_distrib_mul_action
  • sub(monoid|group|semiring|ring)s of types with a mul_distrib_mul_action
  • anything already satisfying a mul_semiring_action

Open in Gitpod

This typeclass was one I suggested in #8592, and is discussed briefly here on Zulip.

…mul_semiring_action`

This new typeclass, `mul_distrib_mul_action`, is satisfied by conjugation actions.
@eric-wieser eric-wieser force-pushed the eric-wieser/mul-distrib-mul-action branch from c81f48f to 4074614 Compare August 30, 2021 08:46
@eric-wieser eric-wieser force-pushed the eric-wieser/mul-distrib-mul-action branch from 5a80cf5 to ef8eabc Compare August 30, 2021 11:24
@eric-wieser eric-wieser added the awaiting-review The author would like community review of the PR label Aug 30, 2021
@github-actions github-actions bot removed the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Sep 8, 2021
Copy link
Member

@jcommelin jcommelin 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+

src/algebra/group_ring_action.lean Outdated Show resolved Hide resolved
src/algebra/group_ring_action.lean Outdated Show resolved Hide resolved
@@ -2311,6 +2311,10 @@ S.to_submonoid.has_faithful_scalar
instance [add_monoid α] [distrib_mul_action G α] (S : subgroup G) : distrib_mul_action S α :=
S.to_submonoid.distrib_mul_action

/-- The action by a subgroup is the action by the underlying group. -/
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
/-- The action by a subgroup is the action by the underlying group. -/
/-- The action by a subgroup is the action by the ambient group. -/

Copy link
Member Author

Choose a reason for hiding this comment

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

This docstring is copied from lots of other places, so I'd prefer to leave it as is rather than finding all occurences in this PR.

@@ -855,6 +855,10 @@ lemma smul_def [mul_action M' α] {S : submonoid M'} (g : S) (m : α) : g • m
instance [add_monoid α] [distrib_mul_action M' α] (S : submonoid M') : distrib_mul_action S α :=
distrib_mul_action.comp_hom _ S.subtype

/-- The action by a submonoid is the action by the underlying monoid. -/
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
/-- The action by a submonoid is the action by the underlying monoid. -/
/-- The action by a submonoid is the action by the ambient monoid. -/

@@ -960,6 +960,10 @@ S.to_subsemiring.has_faithful_scalar
instance [add_monoid α] [distrib_mul_action R α] (S : subring R) : distrib_mul_action S α :=
S.to_subsemiring.distrib_mul_action

/-- The action by a subsemiring is the action by the underlying semiring. -/
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
/-- The action by a subsemiring is the action by the underlying semiring. -/
/-- The action by a subsemiring is the action by the ambient semiring. -/

@@ -819,6 +819,11 @@ S.to_submonoid.has_faithful_scalar
instance [add_monoid α] [distrib_mul_action R' α] (S : subsemiring R') : distrib_mul_action S α :=
S.to_submonoid.distrib_mul_action

/-- The action by a subsemiring is the action by the underlying semiring. -/
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
/-- The action by a subsemiring is the action by the underlying semiring. -/
/-- The action by a subsemiring is the action by the ambient semiring. -/

Copy link
Member Author

Choose a reason for hiding this comment

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

idem

@bors
Copy link

bors bot commented Sep 8, 2021

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

@github-actions github-actions bot added delegated The PR author may merge after reviewing final suggestions. and removed awaiting-review The author would like community review of the PR labels Sep 8, 2021
Co-authored-by: Johan Commelin <johan@commelin.net>
@eric-wieser
Copy link
Member Author

bors merge

@github-actions github-actions bot added the ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) label Sep 8, 2021
bors bot pushed a commit that referenced this pull request Sep 8, 2021
…mul_semiring_action` (#8918)

This new typeclass, `mul_distrib_mul_action`, is satisfied by conjugation actions. This PR provides instances for:
* `mul_aut`
* `prod` of two types with a `mul_distrib_mul_action`
* `pi` of types with a `mul_distrib_mul_action`
* `units` of types with a `mul_distrib_mul_action`
* `ulift` of types with a `mul_distrib_mul_action`
* `opposite` of types with a `mul_distrib_mul_action`
* `sub(monoid|group|semiring|ring)`s of types with a `mul_distrib_mul_action`
* anything already satisfying a `mul_semiring_action`
@bors
Copy link

bors bot commented Sep 8, 2021

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(group_theory/group_action): Extract a smaller typeclass out of mul_semiring_action [Merged by Bors] - feat(group_theory/group_action): Extract a smaller typeclass out of mul_semiring_action Sep 8, 2021
@bors bors bot closed this Sep 8, 2021
@bors bors bot deleted the eric-wieser/mul-distrib-mul-action branch September 8, 2021 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated The PR author may merge after reviewing final suggestions. ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants