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(ring_theory/graded_algebra/basic): add lemma proj_homogeneous_mul #15264

Closed
wants to merge 15 commits into from

Conversation

jjaassoonn
Copy link
Collaborator

@jjaassoonn jjaassoonn commented Jul 11, 2022

added a lemma stating that $(ab)_{i+j}=ab_j$ for homogeneous $a$ with degree $I$

Co-authored-by: Eric Wieser @eric-wieser


Open in Gitpod

@eric-wieser
Copy link
Member

eric-wieser commented Jul 12, 2022

Here's the version that I think we should have:

lemma direct_sum.coe_decompose_mul_add_of_left_mem {ι σ A}
  [decidable_eq ι] [add_left_cancel_monoid ι] [semiring A]
  [set_like σ A] [add_submonoid_class σ A] (𝒜 : ι → σ) [graded_ring 𝒜]
  {a b : A} {i j : ι} (a_mem : a ∈ 𝒜 i) :
  (decompose 𝒜 (a * b) (i + j) : A) = a * decompose 𝒜 b j :=
begin
  lift a to ↥(𝒜 i) using a_mem,
  change ↥(𝒜 i) at a,
  classical,
  by_cases INEQ : a = 0,
  { rw [INEQ, add_submonoid_class.coe_zero, zero_mul, zero_mul, decompose_zero, zero_apply,
      add_submonoid_class.coe_zero], },

  simp_rw [decompose_mul, direct_sum.coe_mul_apply, decompose_coe, direct_sum.support_of _ i a INEQ,
    finset.singleton_product, finset.map_filter, finset.sum_map, function.comp,
    function.embedding.coe_fn_mk],
  dsimp,
  simp_rw [direct_sum.of_eq_same, ←finset.mul_sum, add_right_inj, finset.filter_eq'],
  by_cases hb: decompose 𝒜 b j = 0,
  { rw [if_neg (dfinsupp.not_mem_support_iff.mpr hb), finset.sum_empty, hb,
      add_submonoid_class.coe_zero] },
  { rw [if_pos (dfinsupp.mem_support_iff.mpr hb), finset.sum_singleton] }
end

We should probably have the right version too

Note in particular that hb wasn't needed.

@eric-wieser
Copy link
Member

eric-wieser commented Jul 12, 2022

Or maybe even the stronger version,

lemma direct_sum.decompose_mul_add_of_left_mem {ι σ A}
  [decidable_eq ι] [add_left_cancel_monoid ι] [semiring A]
  [set_like σ A] [add_submonoid_class σ A] (𝒜 : ι → σ) [graded_ring 𝒜]
  {i : ι} (a : 𝒜 i) {b : A} {j : ι} :
  decompose 𝒜 (↑a * b) (i + j) =
    @graded_monoid.ghas_mul.mul ι (λ i, 𝒜 i) _ _ _ _ a (decompose 𝒜 b j) :=
begin
  ext,
  dsimp,
  classical,
  by_cases INEQ : a = 0,
  { rw [INEQ, add_submonoid_class.coe_zero, zero_mul, zero_mul, decompose_zero, zero_apply,
      add_submonoid_class.coe_zero], },

  simp_rw [decompose_mul, direct_sum.coe_mul_apply, decompose_coe, direct_sum.support_of _ i a INEQ,
    finset.singleton_product, finset.map_filter, finset.sum_map, function.comp,
    function.embedding.coe_fn_mk],
  dsimp,
  simp_rw [direct_sum.of_eq_same, ←finset.mul_sum, add_right_inj, finset.filter_eq'],
  by_cases hb : decompose 𝒜 b j = 0,
  { rw [if_neg (dfinsupp.not_mem_support_iff.mpr hb), finset.sum_empty, hb,
      add_submonoid_class.coe_zero] },
  { rw [if_pos (dfinsupp.mem_support_iff.mpr hb), finset.sum_singleton] }
end

for which there might be a shorter proof

@eric-wieser eric-wieser added the awaiting-author A reviewer has asked the author a question or requested changes label Jul 12, 2022
@jjaassoonn jjaassoonn added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Jul 15, 2022
jjaassoonn and others added 4 commits July 16, 2022 13:47
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

Thanks 🎉

bors merge

@leanprover-community-bot-assistant leanprover-community-bot-assistant added the ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) label Jul 21, 2022
@leanprover-community-bot-assistant leanprover-community-bot-assistant removed the awaiting-review The author would like community review of the PR label Jul 21, 2022
bors bot pushed a commit that referenced this pull request Jul 21, 2022
…ul` (#15264)

added a lemma stating that $(ab)_{i+j}=ab_j$ for homogeneous $a$ with degree $I$

Co-authored-by: Eric Wieser @eric-wieser
@bors
Copy link

bors bot commented Jul 21, 2022

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(ring_theory/graded_algebra/basic): add lemma proj_homogeneous_mul [Merged by Bors] - feat(ring_theory/graded_algebra/basic): add lemma proj_homogeneous_mul Jul 21, 2022
@bors bors bot closed this Jul 21, 2022
@bors bors bot deleted the jjaassoonn/proj_homogeneous_mul branch July 21, 2022 16:19
joelriou pushed a commit that referenced this pull request Jul 23, 2022
…ul` (#15264)

added a lemma stating that $(ab)_{i+j}=ab_j$ for homogeneous $a$ with degree $I$

Co-authored-by: Eric Wieser @eric-wieser
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

4 participants