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 algebras #8783
Conversation
A couple of months ago @kbuzzard and you played with this a lot. So I'm pinging Kevin here. I think he had some ideas in the end about how to set things up. |
I think the stuff Kevin and I were talking about was mainly how to actually work with the ring structure on This doesn't attempt to answer that question, and simply extends the existing logic for semirings to algebras too. That said, I'm on vacation for the next week anyway, and this is probably of interest to Kevin even if it's not the same as what we looked at before. |
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.
Developing the theory of Proj of a graded ring will be a good test for this stuff.
(carriers : ι → submodule R B) | ||
(one_mem : (1 : B) ∈ carriers 0) | ||
(mul_mem : ∀ ⦃i j⦄ (gi : carriers i) (gj : carriers j), (gi * gj : B) ∈ carriers (i + j)) : | ||
by haveI : gmonoid (λ i, carriers i) := gmonoid.of_submodules carriers one_mem mul_mem; exact |
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.
Should this be a letI
? If so, I'm slightly surprised that haveI
didn't give you problems later on.
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.
The nice thing about haveI
is that it ends up inlined into the arguments rather than producing a let
expression; so haveI
is surprisingly the better choice here!
…ct_sum/algebra.lean
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 for the docstring @kbuzzard; I've updated with a algebra.direct_sum_galgebra
instance so as to show that add_monoid_algebra A ι ≃ₐ[R] ⨁ i : ι, A
733b58a
to
95c26db
Compare
95c26db
to
5558fe8
Compare
Oops, hadn't noticed this had trivial conflicts |
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
This provides a `direct_sum.galgebra` structure on top of the existing `direct_sum.gmonoid` structure. This typeclass is used to provide an `algebra R (⨁ i, A i)` instance. This also renames and improves the stateement of `direct_sum.module.ext` to `direct_sum.linear_map_ext` and adds `direect_sum.ring_hom_ext` and `direct_sum.alg_hom_ext` to match.
Build failed: |
bors r+ |
1 similar comment
bors r+ |
This provides a `direct_sum.galgebra` structure on top of the existing `direct_sum.gmonoid` structure. This typeclass is used to provide an `algebra R (⨁ i, A i)` instance. This also renames and improves the stateement of `direct_sum.module.ext` to `direct_sum.linear_map_ext` and adds `direect_sum.ring_hom_ext` and `direct_sum.alg_hom_ext` to match.
Already running a review |
Pull request successfully merged into master. Build succeeded: |
This provides a
direct_sum.galgebra
structure on top of the existingdirect_sum.gmonoid
structure.This typeclass is used to provide an
algebra R (⨁ i, A i)
instance.This also renames and improves the stateement of
direct_sum.module.ext
todirect_sum.linear_map_ext
and addsdireect_sum.ring_hom_ext
anddirect_sum.alg_hom_ext
to match.