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(algebra/direct_sum_graded): A 0 is a ring, A i is an A 0-module, and direct_sum.of A 0 is a ring_hom #6851

Closed

Conversation

eric-wieser
Copy link
Member

@eric-wieser eric-wieser commented Mar 24, 2021

In a graded ring, grade 0 is itself a ring, and grade i (and therefore, the overall direct_sum) is a module over elements of grade 0.
This stops just short of the structure necessary to make a graded ring a graded algebra over elements of grade 0; this requires some extra assumptions and probably a new typeclass, so is best left to its own PR.

The main results here are direct_sum.grade_zero.comm_ring, direct_sum.grade_zero.semimodule, and direct_sum.of_zero_ring_hom.

Note that we have no way to let the user provide their own ring structure on A 0, as [Π i, add_comm_monoid (A i)] [semiring (A 0)] provides add_comm_monoid (A 0) twice.


Open in Gitpod

This is a rework of #6837 that avoids having to prove anything interesting.

@eric-wieser eric-wieser changed the title feat(algebra/direct_sum_graded): A 0 is a ring and direct_sum.of A 0 is a ring_hom feat(algebra/direct_sum_graded): A 0 is a ring, A i is an A 0-module, and direct_sum.of A 0 is a ring_hom Mar 30, 2021
Co-authored-by: Adam Topaz <adamtopaz@users.noreply.github.com>
Copy link
Collaborator

@adamtopaz adamtopaz left a comment

Choose a reason for hiding this comment

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

I haven't checked too carefully, but it seems that a few of these lemmas should be tagged with simp. What do you think?

src/algebra/direct_sum_graded.lean Outdated Show resolved Hide resolved
src/algebra/direct_sum_graded.lean Outdated Show resolved Hide resolved
src/algebra/direct_sum_graded.lean Outdated Show resolved Hide resolved
src/algebra/direct_sum_graded.lean Outdated Show resolved Hide resolved
@urkud
Copy link
Member

urkud commented Apr 13, 2021

On behalf of @adamtopaz
bors merge

@github-actions github-actions bot added ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) and removed awaiting-review The author would like community review of the PR labels Apr 13, 2021
bors bot pushed a commit that referenced this pull request Apr 14, 2021
…odule, and `direct_sum.of A 0` is a ring_hom (#6851)

In a graded ring, grade 0 is itself a ring, and grade `i` (and therefore, the overall direct_sum) is a module over elements of grade 0.
This stops just short of the structure necessary to make a graded ring a graded algebra over elements of grade 0; this requires some extra assumptions and probably a new typeclass, so is best left to its own PR.

The main results here are `direct_sum.grade_zero.comm_ring`, `direct_sum.grade_zero.semimodule`, and `direct_sum.of_zero_ring_hom`.

Note that we have no way to let the user provide their own ring structure on `A 0`, as `[Π i, add_comm_monoid (A i)] [semiring (A 0)]` provides `add_comm_monoid (A 0)` twice.
@bors
Copy link

bors bot commented Apr 14, 2021

Build failed (retrying...):

bors bot pushed a commit that referenced this pull request Apr 14, 2021
…odule, and `direct_sum.of A 0` is a ring_hom (#6851)

In a graded ring, grade 0 is itself a ring, and grade `i` (and therefore, the overall direct_sum) is a module over elements of grade 0.
This stops just short of the structure necessary to make a graded ring a graded algebra over elements of grade 0; this requires some extra assumptions and probably a new typeclass, so is best left to its own PR.

The main results here are `direct_sum.grade_zero.comm_ring`, `direct_sum.grade_zero.semimodule`, and `direct_sum.of_zero_ring_hom`.

Note that we have no way to let the user provide their own ring structure on `A 0`, as `[Π i, add_comm_monoid (A i)] [semiring (A 0)]` provides `add_comm_monoid (A 0)` twice.
@urkud
Copy link
Member

urkud commented Apr 14, 2021

This branch uses function.injective.ring_sub.
bors r-

@bors
Copy link

bors bot commented Apr 14, 2021

Canceled.

@eric-wieser
Copy link
Member Author

bors r+

Thanks for cleaning up the conflicts, @urkud

bors bot pushed a commit that referenced this pull request Apr 14, 2021
…odule, and `direct_sum.of A 0` is a ring_hom (#6851)

In a graded ring, grade 0 is itself a ring, and grade `i` (and therefore, the overall direct_sum) is a module over elements of grade 0.
This stops just short of the structure necessary to make a graded ring a graded algebra over elements of grade 0; this requires some extra assumptions and probably a new typeclass, so is best left to its own PR.

The main results here are `direct_sum.grade_zero.comm_ring`, `direct_sum.grade_zero.semimodule`, and `direct_sum.of_zero_ring_hom`.

Note that we have no way to let the user provide their own ring structure on `A 0`, as `[Π i, add_comm_monoid (A i)] [semiring (A 0)]` provides `add_comm_monoid (A 0)` twice.



Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>
@bors
Copy link

bors bot commented Apr 14, 2021

Build failed (retrying...):

bors bot pushed a commit that referenced this pull request Apr 14, 2021
…odule, and `direct_sum.of A 0` is a ring_hom (#6851)

In a graded ring, grade 0 is itself a ring, and grade `i` (and therefore, the overall direct_sum) is a module over elements of grade 0.
This stops just short of the structure necessary to make a graded ring a graded algebra over elements of grade 0; this requires some extra assumptions and probably a new typeclass, so is best left to its own PR.

The main results here are `direct_sum.grade_zero.comm_ring`, `direct_sum.grade_zero.semimodule`, and `direct_sum.of_zero_ring_hom`.

Note that we have no way to let the user provide their own ring structure on `A 0`, as `[Π i, add_comm_monoid (A i)] [semiring (A 0)]` provides `add_comm_monoid (A 0)` twice.



Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>
bors bot pushed a commit that referenced this pull request Apr 14, 2021
…odule, and `direct_sum.of A 0` is a ring_hom (#6851)

In a graded ring, grade 0 is itself a ring, and grade `i` (and therefore, the overall direct_sum) is a module over elements of grade 0.
This stops just short of the structure necessary to make a graded ring a graded algebra over elements of grade 0; this requires some extra assumptions and probably a new typeclass, so is best left to its own PR.

The main results here are `direct_sum.grade_zero.comm_ring`, `direct_sum.grade_zero.semimodule`, and `direct_sum.of_zero_ring_hom`.

Note that we have no way to let the user provide their own ring structure on `A 0`, as `[Π i, add_comm_monoid (A i)] [semiring (A 0)]` provides `add_comm_monoid (A 0)` twice.



Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>
@bors
Copy link

bors bot commented Apr 14, 2021

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(algebra/direct_sum_graded): A 0 is a ring, A i is an A 0-module, and direct_sum.of A 0 is a ring_hom [Merged by Bors] - feat(algebra/direct_sum_graded): A 0 is a ring, A i is an A 0-module, and direct_sum.of A 0 is a ring_hom Apr 14, 2021
@bors bors bot closed this Apr 14, 2021
@bors bors bot deleted the eric-wieser/direct_sum.of_ring_hom_injective branch April 14, 2021 23:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.)
Development

Successfully merging this pull request may close these issues.

None yet

3 participants