-
Notifications
You must be signed in to change notification settings - Fork 297
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): generalize is_algebra_tower
#3717
Conversation
This PR introduces a new typeclass `is_scalar_tower R M N` stating that scalar multiplications between the three types are compatible: `smul_assoc : ((x : R) • (y : M)) • (z : N) = x • (y • z)`. This typeclass is the general form of `is_algebra_tower`. It also generalizes some of the existing instances of `is_algebra_tower`. I didn't try very hard though, so I might have missed some. Related Zulip discussions: * https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there.20code.20for.20X.3F/topic/Effect.20of.20changing.20the.20base.20field.20on.20span * https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there.20code.20for.20X.3F/topic/pull.20back.20an.20R.20module.20along.20.60S.20-.3E.2B*.20R.60
Thanks! |
Co-authored-by: Kenny Lau <kc_kennylau@yahoo.com.hk>
Should we merge this before derivations? |
class is_algebra_tower [comm_semiring R] [comm_semiring S] [semiring A] | ||
[algebra R S] [algebra S A] [algebra R A] : Prop := | ||
(smul_assoc : ∀ (x : R) (y : S) (z : A), (x • y) • z = x • (y • z)) | ||
abbreviation is_algebra_tower [comm_semiring R] [comm_semiring S] [semiring A] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you really want to keep this abbreviation? It seems simpler to just use is_scalar_tower
everywhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I completely agree with this. Working with both names for derivations I already see that having to remember which name is used where is confusing and I do not see the point of having this abbreviation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Opened #3785.
bors merge |
This PR introduces a new typeclass `is_scalar_tower R M N` stating that scalar multiplications between the three types are compatible: `smul_assoc : ((x : R) • (y : M)) • (z : N) = x • (y • z)`. This typeclass is the general form of `is_algebra_tower`. It also generalizes some of the existing instances of `is_algebra_tower`. I didn't try very hard though, so I might have missed some instances. Related Zulip discussions: * https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there.20code.20for.20X.3F/topic/Effect.20of.20changing.20the.20base.20field.20on.20span * https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there.20code.20for.20X.3F/topic/pull.20back.20an.20R.20module.20along.20.60S.20-.3E.2B*.20R.60
Pull request successfully merged into master. Build succeeded: |
is_algebra_tower
is_algebra_tower
Delete the abbreviation `is_algebra_tower` for `is_scalar_tower`, and replace all references (including the usages of the `is_algebra_tower` namespace) with `is_scalar_tower`. Documentation should also have been updated accordingly. This change was requested in a comment on #3717.
Delete the abbreviation `is_algebra_tower` for `is_scalar_tower`, and replace all references (including the usages of the `is_algebra_tower` namespace) with `is_scalar_tower`. Documentation should also have been updated accordingly. This change was requested in a comment on #3717.
Delete the abbreviation `is_algebra_tower` for `is_scalar_tower`, and replace all references (including the usages of the `is_algebra_tower` namespace) with `is_scalar_tower`. Documentation should also have been updated accordingly. This change was requested in a comment on #3717. Co-authored-by: Vierkantor <Vierkantor@users.noreply.github.com>
This PR introduces a new typeclass
is_scalar_tower R M N
stating that scalar multiplications between the three types are compatible:smul_assoc : ((x : R) • (y : M)) • (z : N) = x • (y • z)
.This typeclass is the general form of
is_algebra_tower
. It also generalizes some of the existing instances ofis_algebra_tower
. I didn't try very hard though, so I might have missed some instances.Related Zulip discussions: