-
Notifications
You must be signed in to change notification settings - Fork 369
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] - refactor: generalize Mul of Submodule and SMul of Ideal on Submodule to noncommutative setting #17708
Conversation
PR summary 3c5a448021Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
a830e87
to
2af93ae
Compare
I might have get the situation completely wrong. |
It's true that My definition when specialized to the situation |
Please record these observations/todos in the module docstring un Otherwise, LGTM |
I've implemented |
I worry that creates diamonds, so would prefer that commit to be reviewed separately |
Okay, opened #18419 for that. |
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.
Thanks 🎉
bors merge
…to noncommutative setting (#17708) Instead of using `Submodule.map₂` (which doesn't apply in the noncommutative setting), redefine the `Mul` and `SMul` to be defeq to `AddSubmonoid.mul`. In general, if a semiring A is a module over a semiring R such that `IsScalarTower R A A` is true, then the product of a `Submodule R A` with a `Set A` will be a `Submodule R A`, but we do not need this heterogeneous multiplication yet. We mainly intend to apply this to the case A = R.
Pull request successfully merged into master. Build succeeded: |
…to noncommutative setting (#17708) Instead of using `Submodule.map₂` (which doesn't apply in the noncommutative setting), redefine the `Mul` and `SMul` to be defeq to `AddSubmonoid.mul`. In general, if a semiring A is a module over a semiring R such that `IsScalarTower R A A` is true, then the product of a `Submodule R A` with a `Set A` will be a `Submodule R A`, but we do not need this heterogeneous multiplication yet. We mainly intend to apply this to the case A = R.
Instead of using
Submodule.map₂
(which doesn't apply in the noncommutative setting), redefine theMul
andSMul
to be defeq toAddSubmonoid.mul
. In general, if a semiring A is a module over a semiring R such thatIsScalarTower R A A
is true, then the product of aSubmodule R A
with aSet A
will be aSubmodule R A
, but we do not need this heterogeneous multiplication yet. We mainly intend to apply this to the case A = R.Preparation for the Hopkins–Levitzki theorem #17908. E.g. this is necessary to state that the Jacobson radical of an Artinian ring is nilpotent.
1 : Submodule R A
to the range of(· • 1)
#18092Module.annihilator
usingRingHom.ker
#18094