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: generalize scalars in Algebra.lsmul #6209

Closed
wants to merge 14 commits into from

Conversation

eric-wieser
Copy link
Member

@eric-wieser eric-wieser commented Jul 28, 2023

This generalizes from Algebra.lsmul R M : A →ₐ[R] Module.End R M to Algebra.lsmul R S M : A →ₐ[R] Module.End S M.

This generalization was previously not possible because Module.End S M was not an R-algebra.

Notably this now allows things like Algebra.lsmul R A A : Aᵐᵒᵖ →ₐ[R] Module.End A A (right multiplication).

This doesn't bother attempting to generalize uses in downstream files, as most of them probably do not need the generality.
Instead, we just replace Algebra.lsmul R with Algebra.lsmul R R.


Open in Gitpod

…ra instance

This also moves some lemmas about `IsUnit (_ : Module.End R M)` to an earlier file as they are nothing to do with `Algebra`.
@eric-wieser eric-wieser added blocked-by-other-PR This PR depends on another PR to Mathlib awaiting-review awaiting-CI t-algebra Algebra (groups, rings, fields etc) labels Jul 28, 2023
@eric-wieser
Copy link
Member Author

(note the CI failure will be resolved once the dependent PR is merged)

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot removed the blocked-by-other-PR This PR depends on another PR to Mathlib label Jul 31, 2023
@leanprover-community-mathlib4-bot
Copy link
Collaborator

@ocfnash
Copy link
Contributor

ocfnash commented Aug 2, 2023

Thanks!

bors merge

@github-actions github-actions bot added ready-to-merge This PR has been sent to bors. and removed awaiting-review labels Aug 2, 2023
bors bot pushed a commit that referenced this pull request Aug 2, 2023
This generalizes from `Algebra.lsmul R M : A →ₐ[R] Module.End R M` to `Algebra.lsmul R S M : A →ₐ[R] Module.End S M`.

This generalization was previously not possible because `Module.End S M` was not an `R`-algebra.

Notably this now allows things like `Algebra.lsmul R A A : Aᵐᵒᵖ →ₐ[R] Module.End A A` (right multiplication).

This doesn't bother attempting to generalize uses in downstream files, as most of them probably do not need the generality.
Instead, we just replace `Algebra.lsmul R` with `Algebra.lsmul R R`.
@bors
Copy link

bors bot commented Aug 2, 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: generalize scalars in Algebra.lsmul [Merged by Bors] - feat: generalize scalars in Algebra.lsmul Aug 2, 2023
@bors bors bot closed this Aug 2, 2023
@bors bors bot deleted the eric-wieser/generalize-lsmul branch August 2, 2023 18:06
semorrison pushed a commit that referenced this pull request Aug 3, 2023
This generalizes from `Algebra.lsmul R M : A →ₐ[R] Module.End R M` to `Algebra.lsmul R S M : A →ₐ[R] Module.End S M`.

This generalization was previously not possible because `Module.End S M` was not an `R`-algebra.

Notably this now allows things like `Algebra.lsmul R A A : Aᵐᵒᵖ →ₐ[R] Module.End A A` (right multiplication).

This doesn't bother attempting to generalize uses in downstream files, as most of them probably do not need the generality.
Instead, we just replace `Algebra.lsmul R` with `Algebra.lsmul R R`.
semorrison pushed a commit that referenced this pull request Aug 3, 2023
This generalizes from `Algebra.lsmul R M : A →ₐ[R] Module.End R M` to `Algebra.lsmul R S M : A →ₐ[R] Module.End S M`.

This generalization was previously not possible because `Module.End S M` was not an `R`-algebra.

Notably this now allows things like `Algebra.lsmul R A A : Aᵐᵒᵖ →ₐ[R] Module.End A A` (right multiplication).

This doesn't bother attempting to generalize uses in downstream files, as most of them probably do not need the generality.
Instead, we just replace `Algebra.lsmul R` with `Algebra.lsmul R R`.
semorrison pushed a commit that referenced this pull request Aug 14, 2023
This generalizes from `Algebra.lsmul R M : A →ₐ[R] Module.End R M` to `Algebra.lsmul R S M : A →ₐ[R] Module.End S M`.

This generalization was previously not possible because `Module.End S M` was not an `R`-algebra.

Notably this now allows things like `Algebra.lsmul R A A : Aᵐᵒᵖ →ₐ[R] Module.End A A` (right multiplication).

This doesn't bother attempting to generalize uses in downstream files, as most of them probably do not need the generality.
Instead, we just replace `Algebra.lsmul R` with `Algebra.lsmul R R`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has been sent to bors. t-algebra Algebra (groups, rings, fields etc)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants